JAVA/자바 완전 정복

자바 완전 정복 2장 연습문제 풀이

GaeGim 2022. 7. 5. 00:15
반응형

Q1. 다음 중 변수나 상수 선언 명령으로 적절한 것은 O, 그렇지 않은 것은 X를 표시하고, 적절하지 않은 것에는 그 이유를 적으시오.

구분 명령 가능 여부 적절치 않은 이유
변수 선언 boolean flag; O  
byte public; X 자바 예약어 사용
short data$; O  
char 이름; O  
int name3; O  
long 3name; X 첫 글자에 숫자 입력
상수 선언 final double USER_DATA; O  
final int SMY_DATA; O  
final float HELLO^^; X 지정 외 특수문자 사용

 

 

 

Q2. 다음 코드에서 변수 a, b, c가 메모리에 생성되는 행 번호와 사라지는 행 번호를 쓰시오.

public static void main(String[] args) {	//1행
	int a = 3;				//2행
    {						//3행
    	int b;					//4행
    	b = 5;					//5행
    }						//6행
    int c = 7;					//7행
}						//8행

 

변수 변수 생성 시점 행 변수 삭제 시점 행
a 2 8
b 4 6
c 7 8

 

 

 

Q3. 소문자 'a'를 나타내는 유니코드 값은 97(10진수), 1100001(2진수), 141(8진수), 또는 61(16진수)이다. char 자료형인 변수 value에 'a' 문자로 저장되는 값을 5가지 이상 나열하시오.

char value ______;	//빈칸 채우기
System.out.println(value);
  빈칸
2진수 0b1100001
8진수 0141
10진수 97
16진수 0x61
유니코드 '\u0061'

 

10진수 : 숫자만

2진수 : 0b+숫자

8진수 : 0+숫자

16진수 : 0x+숫자

 

코드에서 진법 변환

int num = 10;
System.out.println(Integer.toBinaryString(num));	// 10진수->2진수
System.out.println(Integer.toOctalString(num));		// 10진수->8진수
System.out.println(Integer.toHexaString(num));		// 10진수->16진수

System.out.println(Integer.parseInt("1010", 2));	// 2진수->10진수
System.out.println(Integer.parseInt("12", 8));		// 8진수->10진수
System.out.println(Integer.parseInt("a", 2));		// 2진수->16진수

 

 

 

Q4. 다음 코드에서 문법 오류가 발생하는 부분을 세 군데 찾아 수정하시오.

byte a=3;		//1
byte b=5;		//2
byte c=130;		//3
byte d=a+d;		//4
long e=100;		//5
float f=3.5;		//6
오류가 발행한 행 번호 수정한 코드
3 byte c = (byte)130; 이나 int c=130;
4 int d=a+b;
6 float f=3.5F 나 float f=3.5f;

 

 

 

Q5. 다음 코드의 출력값을 쓰시오.

System.out.println((int)5.6+3.5);
System.out.println((int)5.6+(int)3.5);
System.out.println((int)(5.6+3.5));
System.out.println((7/4);
System.out.println((double)3/2);
System.out.println((double)(3/2));

출력값)

8.5

8

9

1

1.5

1.0

 

 

 

 

 

반응형