본 글은 명품자바프로그래밍 2장 연습문제의 문제와 풀이이며 2장 이론요약은 여기로, 실습문제는 여기로 이동해주세요.
명품자바프로그래밍 2장 연습문제
연습문제 2-1 자바에서 클래스를 선언할 때 사용하는 자바의 키워드는? #명품자바프로그래밍2장연습문제1번
--> class
연습문제 2-2 다음은 10과 20을 더해 합을 출력하려고 작성하였으나 오류가 있는 프로그램이다. #명품자바프로그래밍2장연습문제2번
public class SampleProgram{
int i, j;
i=10; j=20;
System.out.println(i+j);
}
(1) 오류를 수정해보자. --> SampleProgram 클래스에 main() 메소드를 넣는다.
(2) 이 자바 클래스를 저장하는 소스파일의 이름은? --> SampleProgram.java
(3) 명령창에서 이 프로그램을 컴파일하는 명령은? --> javac SampleProgram.java
(4) 명령창에서 이 프로그램을 실행하는 명령은? --> java SampleProgram
연습문제 2-3 다음 중 식별자 사용이 잘못된 경우를 모두 골라라.#명품자바프로그래밍2장연습문제3번
(1) int _i;
(2) int %j;
(3) char 안녕;
(4) double 1var;
(5) char student_ID;
(6) final int abcedfghijklmnopqrstuvwxyz;
연습문제 2-4 다음 각 항목이 나타내는 변수를 선언하라. #명품자바프로그래밍2장연습문제4번
(1) int 형 변수 height int height;
(2) 0.25로 초기화된 double형 변수 size double size=0.25;
(3) height 변수의 값과 size변수의 값을 더한 값으로 초기화된 double형 변수 total double total=height+size;
(4) 문자 'a'로 초기화된 char형 변수 c char c='a';
(5) 자신의 이름으로 초기화된 문자열변수 name String name = "name";
연습문제 2-5 다음 수식의 결과 값과 타입은? #명품자바프로그래밍2장연습문제5번
(1) 67+12.8 79.8, 실수형
(2) 10/3 3, 정수형
(3) 10.0/3 3.333333... 실수형
(4) 10==9 false, 논리형
연습문제 2-6 체온 값 36.5로 초기화된 상수 bodyTemp를 double형으로 선언하라. #명품자바프로그래밍2장연습문제6번
--> final double bodyTemp=36.5;
연습문제 2-7 다음 각 항목의 코드에서 컴파일 오류를 수정하라. #명품자바프로그래밍2장연습문제7번
(1) while(1){ } while(true){ }
(2) int n=3.5; double n=3.5;
(3) int b=(3<5)?true:false; boolean b=(3<5)?true:false;
(4) int score=85; if(80<score<90) System.out.print(score); int score=85; if(80<score && score<90) System.out.print(score);
연습문제 2-8 다음 문장을 조건식으로 나타내라. #명품자바프로그래밍2장연습문제8번
(1) age는 12보다 작거나 같다 age <= 12
(2) age는 b보다 작고 c보다 크다 age <b && age >c
(3) age는 빼기 5는 10과 같다 age-5 == 10
(4) age는 b와 같지 않거나 c와 같다 age!b || age == c
연습문제 2-9 다음 조건문을 조건 연산자를 이용하여 한 문장으로 작성하라. #명품자바프로그래밍2장연습문제9번
if(sum>100) sum = 100;
else sum = 0;
--> sum = (sum>100)? 100:0;
연습문제 2-10 다음 조건문을 조건 연산자를 이용하여 한 문장으로 작성하라. #명품자바프로그래밍2장연습문제10번
if(n>5) System.out.println(n);
else System.out.println(5);
--> System.out.println((n>5)?n:5);
연습문제 2-11 System.out.print(text);로 출력할 때 다음과 같이 출력되는 문자열 text는 무엇인가? #명품자바프로그래밍2장연습문제11번
"를 출력하려면 \ 다음에 "를 붙여 \"과 같이 하면 됩니다. --> \"를 출력하려면 \\다음에 \"를 붙여 \\\"과 같이 하면 됩니다.
연습문제 2-12 다음 출력문에 의해 출력되는 텍스트는? #명품자바프로그래밍2장연습문제12번);
System.out.print("나는 \"Java를 "+ 100 + "%\"" + "사랑해");
--> 나는 "Java를 100%"사랑해
연습문제 2-13 다음 switch문이 있을 때 (1)~(4) 문항에 따라 출력되는 결과는? #명품자바프로그래밍2장연습문제13번
package test02;
public class test0213 {
public static void main(String[] args) {
//char grade = 'A';
char grade = 'F';
int sum = 0;
switch (grade) {
case 'A':
sum += 100;
case 'B':
sum += 50;
case 'C':
sum += 30;
case 'D':
sum += 10;
}
System.out.print(sum);
}
}
(1) grade가 'A' 일 때 : 190
(2) grade가 'B' 일 때 : 90
(3) grade가 'C' 일 때 : 40
(4) grade가 'F' 일 때 : 10
연습문제 2-14 다음 if문을 switch문으로 바꾸어라. #명품자바프로그래밍2장연습문제14번
if(in.equals("가위")) System.out.println(1);
else if(in.equals("바위")) System.out.println(2);
else if(in.equals("보")) System.out.println(3);
else System.out.println(0);
* 문자열끼리의 비교는 ==가 아닌 equals.를 사용해야 한다.
switch(in.equals) {
case "가위" : System.out.println(1); break;
case " 바위" : System.out.println(2); break;
case "보" : System.out.println(3); break;
default : System.out.println(0);
}
* 자바 ==와 equals 차이
== : 기본형데이터 (int 등), 비교를 위한 연산자 <-> equals 메소드 : 객체형
== : 메모리에서 참조하고 있는 값(주소값) 비교 <-> equals : 메모리에 저장되어 있는 값 비교
== : 같은 객체를 참조하는가? <-> equals : 들어있는 값이 같은가?
* Call By Value(CBV), Call By Reference(CBR)
CBV : 대상에 주소값을 가지지 않으며 값을 할당받는 형태. int, float, double, byte 등 primitive type (원시형, 기본형데이터)
CBR : 대상을 선언했을 때 주소값이 부여. 객체를 불어올 때 주소값을 불러온다고도 한다. class, object가 해당
명품자바프로그래밍 2장 실습문제 바로가기
'Java Friends > Java' 카테고리의 다른 글
명품자바프로그래밍 3장 연습문제 (0) | 2019.06.08 |
---|---|
명품자바프로그래밍 3장 요약, 예제 (0) | 2019.06.08 |
명품자바프로그래밍 2장 실습문제 (5) | 2019.06.08 |
명품자바프로그래밍 2장 요약, 예제 (0) | 2019.06.08 |
명품자바프로그래밍 1장 요약, 연습문제, 실습문제 (0) | 2019.06.02 |