혼자 공부하는 자바 02장 자바 변수와 타입 확인 문제
2023. 2. 6. 23:00ㆍ공부/자바
반응형
혼자 공부하는 자바
혼자 해도 충분하다! 1:1 과외하듯 배우는 자바 프로그래밍 자습서 (JAVA 8 &11 지원) 이 책은 독학으로 자바를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지 조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게, 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 자바를 배울 수 있다는 자신감과 확신이 계속될 것이다! 20명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서 20명의 베타리더와 함께 구성하여 입문자에게 맞는 난이도, 분량, 학습 요소 등을 적극 반영했다. 어려운 용어와 개념은 한번 더 풀어 쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어 냈다. ‘혼자 공부해본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.
- 저자
- 신용권
- 출판
- 한빛미디어
- 출판일
- 2019.06.10
<혼자 공부하는 자바> 신용권 저, 한빛 미디어 출판(2019.06.10)
※ 직접 풀이한 문제
02-1 확인 문제 057p
02-1-1 OX문제
- o
- o
- o
- x - 변수의 초기값이 정해져야 읽을 수 있다.
02-1-2 OX문제
- o
- x - 숫자로 시작할 수 없다.
- x - 클래스를 선언하는 예약어
- o
- o
- x - 정수형을 나타내는 예약어
02-1-3 컴파일 에러가 나타내는 코드와 이유
- ④ - score2가 초기화되지 않았기 때무에 읽을 수 없음
02-1-4 컴파일 에러가 나타나는 위치와 이유
- v1=v2+v3 : v3가 선언된 범위는 바로 윗줄의 중괄호}에 의해 끝났다.
int v1=0;
if(true){
int v2=0;
if(true){
int v3=0;
v1=1;
v2=1;
v3=1;
}
v1=v2+v3; // v3가 선언된 범위는 바로 위에 줄 중괄호}에 의해 끝났다.
}
System.out.println(v1);
02-2 확인 문제 070p
02-2-1 빈칸 채우기
구분 | 1byte | 2byte | 4byte | 8byte |
정수 타입 | byte | char | ||
short | int | long | ||
실수 타입 | float | double | ||
논리 타입 | boolean |
02-2-2 OX문제
- x - byte는 양수 128까지 가능 200은 불가
- x - char는 문자 하나만 저장가능
- o
- x - 정수 리터럴은 int형이기 때문에 뒤에 ‘l’이나 ‘L’을 붙여야 함.
- x - 상수 리터럴은 double형 취급이기 때문에 뒤에 ‘f’나 ‘F’을 붙여야 함
- o
- x - 문자열 안에 큰 따옴표를 표시하기 위해서는 \”라고 해야함
- x - boolean형 값으로는 true나 false만 저장할 수 있음
- x - 정수형에 자료형에 지수표기법으로 된 숫자는 저장불가
- x - 1e2f는 float형의 범위를 넘어간 값
02-2-3 출력되는 내용
자바는
재밌는 "프로그래밍" 언어
입니다.
02-2-4 컴파일 에러 이유
- 2e-350는 double형이 저장할 수 있는 범위 초과
02-2-5 출력 내용
출발합니다.
02-3 확인 문제 085p
02-3-1 컴파일 에러가 발생하는 것을 고르시오.
- ③ short shortValue=charValue;
- char와 short는 2바이트지만 short는 음수를 표현할 수 있으므로 최고값이 char보다 적다
02-3-2 컴파일 에러가 발생하는 것을 고르시오.
- ④ char var=(char) strValue;
- 문자열을 char 타입으로 강제 형변환 할 수 없음
02-3-3 컴파일 에러가 발생하는 것은 무엇입니까?
- ① byte result=byteValue+byteValue;
- 정수형 간의 연산은 int형으로 변환되기 때문에 byte형의 result 변수에 저장할 수 없다.
02-3-4 컴파일 에러가 발생하는 위치와 이유를 설명해보세요.
- short result=s1+s2
- 정수형 간의 연산은 int형으로 변환되어 연산하기 때문에 결과도 int형으로 나와 short형의 result 변수에 저장할 수 없다.
02-3-5 컴파일 에러가 발생했습니다. 무엇이 문제이고, 어떻게 수정하면 될까요?
- 정수형 간의 연산은 int형으로 변환되어 연산하기 때문에 결과도 int형으로 나온다. 따라서 char형 변수인 c2에 c1+1 값을 저장할 수 없다. char c2=(char)(c1+1);
02-3-6 빈칸에 들어갈 타입은 무엇이며, 출력되는 결과와 그 이유를 설명해보세요.
- 빈칸은 int
- 출력 결과는 2
- 이유는 정수 5를 정수 2로 나누면 몫 2와 나머지 1이 나오기 때문에 2가 나온다. 2.5가 아닌 이유는 피연산자 모두 int라서 정수형 연산이다.
02-3-7 6번 문제에서 출력되는 결과로 2.5
- ① double
- ② (double) x/y;
// answer
int x=5;
iut y=2;
double result= (double) x/y;
System.out.println(result);
02-3-8 빈칸에 들어갈 코드를 작성
// answer
package sec03.verify.exam08;
public class Example {
public static void main(String[] args) {
double var1=3.5;
double var2=2.7;
int result= (int)(var1+var2);
System.out.println(result);
}
}
02-3-9 빈칸에 들어갈 코드를 작성해보세요.
// answer
package sec03.verify.exam09;
public class Example {
public static void main(String[] args) {
long var1=2L;
float var2=1.8f;
double var3=2.5;
String var4="3.9";
int result=(int) var1 + (int) var2 + (int)( var3+Double.parseDouble(var4) );
System.out.println(result);
}
}
02-3-10 출력 결과를 적어 보세요.
5
23
23
02-3-11 알맞은 코드를 작성해보세요.
// answer
byte value = Byte.parseByte("10");
int value = Integer.parseInt("1000");
float value = Float.parseFloat("20.5");
double value = Double.parseDouble("3.14159");
02-4 확인 문제 098p
02-4-1 빈칸 코드 작성
package sec04.verify.exam01;
public class Example {
public static void main(String[] args) {
String name="김자바";
int age=25;
String tel1="010",tel2="123",tel3="4567";
System.out.println("이름 : "+name);
System.out.print("나이 : "+age+"\n");
System.out.printf("전화 : %1s-%2s-%3s",tel1,tel2,tel3);
}
}
02-4-2 빈칸 코드 작성
// answer
package sec04.verify.exam02;
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("첫번째 수 : ");
String strNum1=scanner.nextLine();
System.out.print("두번째 수 : ");
String strNum2=scanner.nextLine();
int num1=Integer.parseInt(strNum1);;
int num2=Integer.parseInt(strNum2);;
int result=num1+num2;
System.out.println("덧셈 결과 : "+result);
}
}
02-4-3 코드 작성
// answer
package sec04.verify.exam03;
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("[필수 정보 입력");
System.out.print("이름 : ");
String name=scanner.nextLine();
System.out.print("주민번호 앞 6자리 : ");
String birth=scanner.nextLine();
System.out.print("전화번호 : ");
String tel=scanner.nextLine();
System.out.println();
System.out.println("[입력한 내용");
System.out.println("1. 이름: "+name);
System.out.println("2. 주민번호 앞 6자리: "+birth);
System.out.println("3. 전화번호: "+tel);
}
}
반응형
'공부 > 자바' 카테고리의 다른 글
혼자 공부하는 자바 06장 클래스 확인 문제 (0) | 2023.02.14 |
---|---|
혼자 공부하는 자바 05장 참조 타입 확인 문제 (0) | 2023.02.13 |
혼자 공부하는 자바 04장 조건문과 반복문 확인 문제 (0) | 2023.02.10 |
혼자 공부하는 자바 03장 연산자 확인 문제 (0) | 2023.02.08 |
혼자 공부하는 자바 01장 자바 시작하기 확인 문제 (0) | 2023.01.31 |