JAVA/JAVA 문제풀이

명품 자바 프로그래밍 2장 이론문제

공부 기록장 2023. 6. 29. 22:25

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

-class

 

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

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

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

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

 

 

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

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

답 : int %j;    ,  double 1var;

 

 

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

 

 

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

(1) 67 + 12.8

답 : 79.8 (실수형)

(2) 10/3

답 : 3 (정수형)

(3) 10.0/3

답 : 3.333...(실수형)

(4) 10==9

답 : false (논리형)

 

 

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

답 : final double bodyTemp = 36.5;

 

 

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(score>80 && score<90) System.out.print(score);

 

 

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)

 

 

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

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

답 :   sum=(sum>100)? 100 : 0;      또는

         (sum>100)?sum=100 : sum=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는 무엇인가?

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

답 : "\"를 출력하려면 \\다음에 \"를 붙여 \\\"와 같이 하면 됩니다."

( " 표현은 \" 를 통해 표현하고 \ 는 \\를 통해 표현한다.)

 

 

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

답 : 10

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

}