-> 블로그 이전

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

2021. 11. 13. 14:16Solution`/Java

[01]

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

class 키워드

 

[02]

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

 

 

[03]

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

int _i;
int %j;
char 안녕;
double 1var;
char student_id;
final int abcdefghijklmnopqrstuvwxyz;

- int %j;, double 1var; (%는 특수문자이고, 식별자는 숫자로 시작하지 못한다)

 

 

[04]

다음 각 항목이 나타내는 변수를 선언하라

(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 = "Avenus";

 

 

[05]

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

(1) 67 + 12.8

79.8 (double)

 

(2) 10/3

3 (int)

 

(3) 10.0/3

3.3333... (double)

 

(4) 10==9

false (boolean)

 

[06]

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

final double bodyTemp = 36.5;

 

[07]

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

(1) while(1) {}

while(true){}

 

(2) int n = 3.5;

// 3으로 저장
int n = (int)3.5;

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

if(80 < score && score < 90)

 

[08]

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

(1) age는 12보다 작거나 같다.

age <= 12

 

(2) age는 b보다 작고 c보다 크다.

c < age && age < b

 

(3) age 빼기 5는 10과 같다.

age - 5 == 10

 

(4) age는 b와 같지 않거나 c와 같다.

age != b || age == c

 

 

[09]

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

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

 

[10]

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

if(n > 5) System.out.println(n);
else System.out.println(5);
System.out.println((n > 5) ? n : 5);

 

[11]

System.out.print(text);로 출력할 때 다음과 같이 출력되는 문자열 text는 무엇인가?

"를 출력하려면 \ 다음에 "를 붙여 \"과 같이 하면 됩니다.
text = \"를 출력하려면 \\ 다음에 \"를 붙여 \\\"과 같이 하면 됩니다

 

[12]

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

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

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

 

 

[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

 

 

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

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