본문 바로가기
Solution_/명품 java

[명품 JAVA] 2장 연습문제 (자바 기본 프로그래밍)

by 낭람_ 2019. 3. 17.
반응형

[2장 1번]


자바에서 클래스를 선언할 때 사용하는 자바의 키워드는?

- class 키워드


[2장 2번]


다음은 10과 20을 더해 합을 출력하려고 작성한 자바 프로그램이지만 오류가 있다.

public class SampleProgram {
int i;
int j;
i =10;
j =20;
System.out.println(i+j);
}

(1) 오류를 찾아내어 고쳐라.

- main 메소드가 없다.

public class SampleProgram {
public static void main(String[] args) {
int i;
int j;
i =10;
j =20;
System.out.println(i+j);
}
}

(2) 이 자바 클래스를 저장하는 소스 파일 이름은 무엇인가?

- SampleProgram.java

(3) 명령창에서 이 프로그램을 컴파일하는 명령은?

- javac SampleProgram.java

(4) 명령창에서 이 프로그램을 실행하는 명령은?

- java SampleProgram


[2장 3번]


다음 중 식별자 사용이 잘못된 경우를 모두 골라라.

int _i;
int %j;
char 안녕;
double 1var;
char student_ID;
final int abcdefghijklmnopqrstvwxyz;

- int %j; 와 double 1var; (%는 특수문자로 사용 불가 이고, 첫 번째 문자로 숫자는 사용하지 못한다.)


[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 = “nanglam“;


[2장 5번]


다음 수식의 결과 값과 타입은?

(1) 67 + 12.8

- 79.8 (실수형)

(2) 10/3

- 3 (정수형)

(3) 10.0/3

- 3.3333333333333335 (실수형)

(4) 10==9

- false (논리형)


[2장 6번]


체온 값 36.5로 초기화된 상수 bodyTemp를 double형으로 선언하라.

final double bodyTemp = 36.5;


[2장 7번]


다음 각 항목의 코드에서 컴파일 오류를 수정하라.

(1)

while(1) { }


while(true) { } // java에서는 1, 0 대신 true, false를 사용하여야 한다.

(2)

int n = 3.5;

double n = 3.5; // 3.5는 실수형이다.

(3)

int b = (3<5)?true:false;

boolean b = (3<5)?true:false; //반환값이 논리형일 경우 boolean으로 선언한다.

(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번]


다음 문장을 조건식으로 나타내라.

(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번]


다음 조건문을 조건 연산자를 이용하여 한 문장으로 작성하라.

if(sum>100) sum = 100;
else sum = 0;


[풀이]

sum = (sum>100)?100:0;


[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장 12번]


다음 출력문에 의해 출력되는 텍스트는 무엇인가?

System.out.print("나는 \"Java를 "+ 100 + "%\"" + "사랑해");

- 나는 "Java를 100%"사랑해


[2장 13번]


다음 switch 문이 있을 때, 아래 (1)~(4)의 각 문항에 따라 출력되는 결과는?

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' 일 때

- 0


[2장 14번]


다음 if 문을 switch 문으로 바꾸어라.

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);

*in과 "가위"를 비교하기 위해서는 in == "가위"로 하면 안됨. 문자열 비교는 반드시 in.equals("가위")로 해야 함.


[풀이]

switch(in) {
case "가위" : System.out.println(1); break;
case " 바위" : System.out.println(2); break;
case "보" : System.out.println(3); break;
default : System.out.println(0);
}


반응형

댓글