기록공간

[JAVA] 이것이 자바다 확인 문제 2장 (변수와 타입) 본문

JAVA & Spring

[JAVA] 이것이 자바다 확인 문제 2장 (변수와 타입)

mkm101 2022. 12. 29. 00:55
반응형

1. 변수에 대해 잘못 설명한 것은 무엇입니까?

 1) 변수는 하나의 값만 저장할 수 있다.

 2) 변수는 선언 시에 사용한 타입의 값만 저장할 수 있다.

 3) 변수는 변수가 선언된 중괄호 {} 안에서만 사용 가능하다.

 4) 변수는 초기값이 저장되지 않은 상태에서 읽을 수 있다.

 

답 : 4)  변수 선언( 저장되는 값의 타입과 이름 결정) 후, 값을 초기화해야 메모리가 할당되고, 해당 메모리에 값이 저장된다.

 

2. 변수 이름으로 사용할 수 없는 것을 모두 선택하세요.

 1) modelName    2) class 

 3) 6hour              4) $value

 5) _age               6) #name

 7) int

 

답: 2,3,6,7

- 변수 이름의 첫번째 글자는 문자이거나 '$','_' 로 시작해야하고, 숫자로 시작할 수 없다. 3(x), 6(x)

- 자바 예약어는 사용할 수 없다. 2(x), 7(x)

 

 

 

3. 다음 표의 빈 칸에 자바의 기본 타입 8개를 적어보세요.

 타입 / 크기 1byte 2byte 4byte 8byte
정수타입 byte char,shor int Long
실수타입     float double
논리타입 boolean      

 

4. 다음 코드에서 타입, 변수 이름, 리터럴에 해당하는 것을 적어보세요.

1
2
3
4
int age;
age = 10;
double price = 3.14;
 
cs

 

타입 : int, double

변수이름: age, price

리터럴: 10, 3.14

5. 다음 자동 타입 변환에서 컴파일 에러가 발생하는 것을 선택하세요.

1
2
byte byteValue = 10;
char charValue = 'A';
cs

1) int intValue = byteValue;

2) int intValue = charValue;

3) short shortValue = charValue;

4) double doubleValue = byteValue;

 

답 : 3) char형은 short형은 동일한 메모리크기를 가지므로, 자동 타입 변환에 속하지않는다.

char형은 0~65535까지 표현되고 (2byte)

short형은 -32,768 ~ 32,768까지 표현된다. (2byte)

 

6. 다음 강제 타입 변환에서 컴파일 에러가 발생하는 것을 선택하세요.

1
2
3
4
int intValue = 10;
char charValue = 'A';
double doubleValue = 5.7;
String strValue = "A";
cs

1) double var = (double) intValue;

2) byte var = (byte) intValue;

3) int var = (int) doubleValue;

4) char var = (char) strValue;

 

답 : 4) String형은 char형으로 형 변환 할 수없다.

 

 

 

7. 변수를 잘못 초기화한 것은 무엇입니까?

1) int var1 = 10;

2) long var2 = 10000000000L;

3) char var3 = ''; //작은따옴표 두 개가 붙어 있음

4) float var4 = 10;

5) String var5 = "abc\ndef";

6) String var6 = """

       abc

       def

       """;

 

답 : 3) char형은 ""로 초기화 되지않는다, ' '로 중간에 띄어쓰기가 들어가야한다.

 

8. 콘솔에 값을 입출력하는 방법에 대해 잘못 설명한 것을 선택하세요.

 

1) System.out.print(변수)는 변수값을 출력시키고 행을 바꾸지 않는다.

2) System.out.println(변수)는 변수값을 출력시키고 행을 바꾼다.

3) System.out.printf("형식", 변수)는 주어진 형식대로 변수값을 바꾼다.

4) Scanner의 nextLine() 메소드는 콘솔에 입력된 내용을 문자열로 읽는다.

 

답: 3)  형식 문자열에 맞추어 뒤의 값을 출력하라는 의미이다.

 

9. 연산식의 타입 변환 중에서 컴파일 에러가 발생하는 것을 선택하세요.

1
2
3
byte byteValue = 10;
float floatValue = 2.5F;
double doubleValue = 2.5;
cs

1) byte result = byteValue + byteValue;

2) int result = 5 + byteValue;

3) float result = 5 + floatValue;

4) double result = 5 + doubleValue;

 

답 : 1) byte,char short ,int 타입 끼리 더하면, int type 변수에 저장되어야한다. 

10. 문자열을 기본 타입으로 변환하는 코드로 틀린 것을 고르세요.

1
String str = 5;
cs

1) byte var1 = Byte.parseByte(str);

2) int var2 = Int.parseInt(str);

3) float var3 = Float.parseFloat(str);

4) double var4 = Double.parseDouble(str);

 

답 : 2) int형으로 변환하기 위해서는 Int가 아니라 Integer.parseInt(str)이 되어야한다.

 

11. 다음 코드에서 컴파일 에러가 발생하는 라인을 모두 적어보세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int v1 = 1;
System.out.println("v1: "+ v1);
if(true) {
    int v2 = 2;
    if(true) {
        int v3 = 2;
        System.out.println("v1: "+ v1);
        System.out.println("v2: "+ v2);
        System.out.println("v3: "+ v3);
    }
    System.out.println("v1: "+ v1);
    System.out.println("v2: "+ v2);
    System.out.println("v3: "+ v3);
}
System.out.println("v1: "+ v1);
System.out.println("v2: "+ v2);
 
cs

 

답 : 13,16 Line, if 문안에 선언된 변수는 if문 밖에서는 유효하지 않는다.

반응형