loading

새소식

Langauge/Java

[Java] <이것이 자바다> 확인문제 Chapter 02 변수와 타입

  • -
728x90
반응형

변수와 타입


1. 변수에 대해 잘못 설명한 것은?

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

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

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

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


답 : ④

초기화되지 않은 변수는 아직 메모리에 할당되지 않았기 때문에 변수를 통해 메모리 값을 읽을 수 없다.

int value;
int result = value + 10;  // 에러 발생

 

 

 


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

① modelName  ② Class ③ 6hour ④ $value
⑤ _age ⑥ #name ⑦ int  

답 : ②, ③,

※ 변수 이름 규칙

1. 소문자로 시작하며(첫단어) 각 단어의 시작 글자는 대문자(두번째 단어부터)

2. 밑줄, 문자, 숫자 사용 가능하지만 첫글자로 숫자는 불가능

3. 예약어(int, void, main, boolean, ... ) 사용 불가

 

 

 

 


3. 다음 표의 빈 칸에 자바의 기본 타입 8개를 기입하시오.

  1byte 2byte 4byte 8byte
정수타입 byte char int long
short
실수타입     float double
논리타입 boolean      

 

 

 

 

 


4. 다음 코드에서 타입, 변수 이름, 리터럴에 해당하는 것은?

int age;
age = 10;
double price = 3.14;

타입 : int, double

변수 이름 : age, price

리터럴 :  10, 3.14

 

 

 

 


5. 다음 자동 타입 변환에서 컴파일 에러가 발생하는 것은?

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

① int intValue = byteValue;

②  int intValue = charValue;

③  short shortValue = charValue;

④  double doubleValue = byteValue;


답 :

데이터 타입 short 의 값의 허용 범위 : -32,768 ~ 32,767

데이터 타입 char 의 값의 허용 범위 : 0 ~ 65535

short 의 범위가 char 허용 범위를 전부 포함하지 못하므로 에러가 발생한다.

 

 

 

 


6. 다음 강제 타입 변환에서 컴파일 에러가 발생하는 것은?

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

① double var = (double) intValue;

② byte var = (byte) intValue;

③ int var = (int) doubleValue;

④ char var = (char) strValue;


답 :

String 데이터타입을 char 데이터타입으로 변환하려면 charAt() 을 이용해야한다.(강제타입변환으로는 불가능)

char 데이터타입을 String 데이터타입으로 변환하는 것은 valueOf() 를 사용하면된다.

 

 

 

 


7. 변수를 잘못 초기화한 것은?

① int var1 = 10; ② long var2 = 1000000000L; ③ char var3 ='';
④ float var4 = 10; ⑤ String var5 = "abc\ndef"; ⑥ String var6 = """ abc def """;

답 :

char 형식의 변수에 아무 값도 없는(작은따옴표를 서로 붙여놓은)  값으로 초기화할 수는 없다.

 

 

 

 


8. 콘솔에 값을 입출력하는 방법에 대해 잘못 설명한 것을 고르시오.

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

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

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

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


답 : 

System.out.printf("형식문자열" , 값1, 값2, ... ) 는 형식 문자열에 맞춰 뒤의 값을 출력하는 문법이다.

주어진 형식대로 변수값을 출력하지만, 변수값을 바꾸는 것은 불가능하다.

 

 

 

 


9. 연산식의 타입 변환 중에서 컴파일 에러가 발생하는 것을 고르시오.

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

① byte result = byteValue + byteValue;

② int result = 5 + byteValue;

③ float result = 5 + floatValue;

④ double result = 5 + doubleValue;


답 :

정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int 타입보다 작은 byte, short 타입의 변수는 int 타입으로 자동 타입 변환되어 연산을 수행한다.

 

 

 

 


10. 문자열을 기본 타입으로 변환하는 코드로 틀린 것은?

String str = "5";

① byte var1 = Byte.parseByte(str);

② int  var2 = Int.parseInt(str);

③ float var3 = Float.parseFloat(str);

④  double var4 = Double.parseDouble(str);


답 :

문자열 =>  Int 타입으로 변환 시 Int.parseInt 가 아닌 Integer.parseInt 로 써야한다.

 

 

 

 


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번 줄


 

728x90
반응형

'Langauge > Java' 카테고리의 다른 글

[Java] Java 기본 개념 및 변수 + 연습문제  (0) 2023.09.12
[Java] Eclipse 환경에서 서버 구현  (0) 2023.09.08
Contents

📝 포스팅 주소를 복사했습니다 📝

이 글이 도움이 되었다면 공감 부탁드립니다👍