이것이 자바다 2장 변수와 타입 Quiz
안녕하세요. pitang입니다.
2장 quiz 바로 시작할게요!
1번
자바에서 변수에 대한 설명 중 틀린 것은 무엇입니까?
1. 변수는 하나의 값만 저장할 수 있다.
2. 변수는 선언 시에 사용한 타입의 값만 저장할 수 있다.
3. 변수는 변수가 선언된 중괄호( {} ) 안에서만 사용 가능하다.
4. 변수는 초기값이 저장되지 않은 상태에서 읽을 수 있다.
⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️
4번
변수는 초기화가 되어야 읽을 수 있고, 초기화되지 않은 변수는 읽을 수 없다.
2번
변수 이름으로 사용 가능한 것을 모두 선택하세요.
1. modeName
2. class
3. 6hour
4. $value
5. _age
6. int
⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️
1번, 4번, 5번
작성 규칙
첫 번째 글자는 문자이거나 '$', '_' 이어야 하고 숫자로 시작할 수 없다.
영어 대소문자가 구분된다.
첫 문자는 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 한다.
문자 수의 제한은 없다.
자바 예약어는 사용할 수 없다.(class, int 따위)
3번
다음 표의 빈칸에 자바의 기본 타입(primitive Type) 8개를 적어보세요.
크키/타입 | 1byte | 2byte | 4byte | 8byte |
정수타입 | ||||
실수타입 | x | x | ||
논리타입 | x | x | x |
⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️
크키/타입 | 1byte | 2byte | 4byte | 8byte |
정수타입 | byte | short char |
int | long |
실수타입 | 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';
1. int intValue = byteValue;
2. int intValue = charValue;
3. short shortValue = charValue;
4. double doubleValue = byteValue;
⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️
3번
자동 타입 변환은 프로그램 실행 도중 자동적으로 타입 변환이 일어나는 것.
작은 크기 타입이 큰 크기 타입으로 자동 타입 변환됨.
short = char 이므로 자동 타입 변환이 일어나지 않음.
6번
강제 타입 변환(Casting)에 대한 내용입니다. 컴파일 에러가 발생하는 것은 무엇입니까?
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타입은 기본 타입이 아니다. 클래스 타입이고 변수는 참조 변수이다.
String타입은 String객체가 생성되고, String변수는 String객체의 번지를 참조하게 된다.
그러므로, char타입으로 변환될 수 없다.
7번
변수를 잘못 초기화한 것은 무엇입니까?
1. int var1 = 10;
2. long var2 = 10000000000L;
3. char var3 = ''; // 작은따옴표 두 개가 붙어있음
4. double var4 = 10;
5. float var5 = 10;
⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️
3번
char 타입의 변수에 어떤 문자를 대입하지 않고 단순히 초기화를 할 목적으로 3번처럼 대입한다면 컴파일 에러가 발생한다.
8번
연산식에서의 타입 변환 내용입니다. 컴파일 에러가 생기는 것은 무엇입니까?
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번
자바는 정수 연산일 경우 int타입을 기본으로 한다.
4byte보다 작은 타입(byte, char, short)은 4byte인 int타입으로 변환된 후 연산이 수행된다.
그렇기 때문에, 연산의 결과도 int 타입이 된다.
감사합니다.
*m1 맥북을 사용 중입니다.*