java

[java] 이것이자바다 Chapter02 변수와타입 확인문제(1~11번) 정답

쿵철집사 2023. 9. 4. 19:09

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

 

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

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

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

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

 

더보기

정답: 4 

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

 

 


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

 

1) modelName 

2) class

3) 6hour

4) $value

5) _Age

6) #name

7) int

더보기

정답 : 3, 6, 7

3) 변수는 숫자시작이 불가하다.
6) 변수는 특수기호로 시작할수 있는것은 $와 _ 뿐이다.
7) 변수는 타입명을 쓸 수 없다.

 


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

 

타입 / 크기  1byte 2byte 4bye 8byte
정수타입         (                   )         (                   )
        (                   )
        (                   )         (                   )
실수타입              (                   )         (                   )
논리타입         (                   )      
더보기

정답 : 

 

타입 / 크기  1byte 2byte 4bye 8byte
정수타입 (byte) (short)
(char)
(int) (long)
실수타입      (float) (double)
논리타입 (boolean)      

 

 


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

int age;
age = 10;
double price = 3.14;
더보기

정답 :

타입 - int, age, double 
변수 이름 - age, price

리터럴 - 10, 3.14           

 


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

byte byteValue = 10;
char charValue = 'A';

1) int intValue = 10;

2) int intValue = charValue;

3) short shortValue = charValue;

4) double doubleValue = byteVAlue;

더보기

정답 : 3

: short와 char은 모두 2byte지만 char 타입은 양수만 저장되는 예외사항이다.

 


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

int intValue = 10;
char charValue = 'A';
double doubleValue = 5.7;
String strValue = "A";

1) double var = (double) intValue;

2) byte var = (byte) intValue;

3) int var = (int) doubleValue;

4) char var = (char) strValue;

더보기

정답 : 4

: String(문자열) ⟶ char 타입변환 불가

참조타입인 String 문자열은 기본타입인 char타입으로 변환할 수 없다.

 


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

 

1) int var1 = 10;

2) long var2 = 10000000000L;

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

4) float var4 = 10;

5) String var5 = "abd₩ndef";

6) String var6 = """

      abc

      def

      """;

더보기

정답 : 3

: char형은 ‘‘로는 초기화 되지 않는다. ‘ ‘로 띄어쓰기가 중간에 들어가야 한다.

char타입 변수에 어떤 문자를 대입하지 않고 단순히 초기화를 할 목적으로 작은 따옴표 두 개를 연달아 붙인 빈 문자를 대입하면 컴파일 에러가 발생한다. 공백(유니코드 32) 하나를 포함해서 초기화해야 한다.

 

 


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

 

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

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

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

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

더보기

정답 : 3

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

 

 


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

 byte byteValue = 10;
 float floatValue = 2.5F;
 double doubleValue = 2.5;

1) byte result = byteValue + byteValue;

2) int result = 5 + byteValue;

3) float result = 5 + floatValue;

4) double result = 5 + doubleValue;

더보기

정답 : 1

: byte + byte 형의 계산이라도 정수형 계산은 int형으로 반환되기 때문에 강제 형변환을 해줘야 한다.

 

 


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

String str = "5";

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

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

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

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

더보기

정답 : 2

: int var2 = Integer.parseInt(str); 이 되어야한다.

 

 


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

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);
더보기

정답 : 13, 16 라인

: 조건문에 해당하는 if의 중괄호 {} 블록 내에서 선언된 변수는 해당 중괄호 {} 블록 내에서만 사용이 가능하고 밖에서는 사용할 수 없다.

5라인의 if절에서 선언된 변수 v3는 10라인의 중괄호 {} 블록 내에서만 사용이 가능하기에,

13라인의 System.out.println("v3: " + v3); 의 v3은 선언이 되지않은 변수이기 때문에 컴파일이 발생한다.

마찬가지로 3라인의 if절이 14라인에서 끝났기때문에 16라인의 v2도 선언되지 않은 변수이기 때문에 컴파일이 발생한다.