안녕하세요
개인 문제풀이 이므로 오답이나 오타가 있을 수 있습니다 말씀해주시면 감사드리겠습니다!
01. 자바에서 클래스를 선언할 때 사용하는 자바의 키워드는?
[ 정답 ] - class이다.
02. 다음은 10과 20을 더해 합을 출력하려고 작성한 자바 프로그램이지만 오류가 있다.
public class SampleProgram{
int i;
int j;
i = 10;
j = 20;
System.out.println(i+j);
}
(1) 오류를 찾아내어 고쳐라
[정답] - main 메소드가 없다.
public static void main(String[]agrs){ ...~ system.out.println(i+j)}를 추가해 준다.
(2) 이 자바 클래스를 저장하는 소스 파일 이름은 무엇인가?
[정답] - public class SampleProgram부분이 소스 파일의 이름이 된다.
SampleProgram.java
(3) 명령창에서 이 프로그램을 컴파일하는 명령은?
[정답] - java SampleProgram.java
(4) 명령창에서 이 프로그램을 실행하는 명령은?
[정답] - java sampleprogram
03. 다음 중 식별자 사용이 잘못된 경우를 모두 골라라.
int _i;
int %j;
char 안녕;
double 1var;
char student_ID;
final int abcdefghijklmnopqrstuvwxyz;
[ 정답 ] - int %j;, 1var;
% 사용 불가능하며 첫 번째 문자로 숫자 사용이 불 가능합니다.
특수문자는 대부분 안되지만 _와 $는 예외로 사용 가능합니다
04. 다음 각 항목이 나타내는 변수를 선언하라.
(1) int형 변수 height
(2) 0.25로 초기화된 double형 변수 size
(3) height 변수의 값과 size 변수의 값을 더한 값으로 초기화된 double형 변수 total
(4) 문자 'a'로 초기화된 char형 변수 c
(5) 자신의 이름으로 초기화된 문자열 변수
[ 정답 ]
(1) - int height;
(2) - double size =0.25;
(3) - double tatal = height + size;
(4) - char c = 'a';
(5) - String name = 본인 이름 ( seongjo )
05. 다음 수식의 결과 값과 타입은?
(1) 67 + 12.8
(2) 10/3
(3) 10.0/3
(4) 10==9
[ 정답 ]
(1) - 79.8
(2) - 3
(3) - 3.3333333333333335 (반올림해서 3.33)
(4) - flase
06. 체온 값 36.5로 초기화된 상수 bodyTemp를 double형으로 선언하라.
[ 정답 ]
final double bodyTemp = 36.5;
07. 다음 각 항목의 코드에서 컴파일 오류를 수정하라
(1) while(1) { }
(2) int n = 3.5;
(3) int b = (3 < 5)?true:false;
(4) int score = 85;
if(80 < score < 90) System.out.print(score);
[ 정답 ]
(1) - 1을 true로 바꿔줘야 합니다 자바는 1로 초기화 불가능
(2) - double n = 3.5;
(3) - boolean b = (3<5)?true:false;
(4)
int score =85;
if (score <90 && score>80)
System.out.print(score);
08. 다음 문장을 조건식으로 나타내라.
(1) age는 12보다 작거나 같다.
(2) age는 b보다 작고 c보다 크다.
(3) age 빼기 5는 10과 같다.
(4) age는 b와 같지 않거나 c와 같다.
[ 정답 ]
(1) - age <=12
(2) - age<b && age>c
(3) - (age-5) ==10
(4) - (age != b)|| (age == c)
09. 다음 조건문을 조건 연산자를 이용하여 한 문장으로 작성하라.
if(sum>100) sum = 100; else sum = 0; |
[ 정답 ]
sum = sum>100? (sum=100) : (sum =0);
10. 다음 조건문을 조건 연산자를 이용하여 한 문장으로 작성하라.
if(n>5) System.out.println(n); else System.out.println(5); |
[ 정답 ]
System.out.print(n>5? n:5);
11. System.out.print(text);로 출력할 때 다음과 같이 출력되는 문자열 text는 무엇인가?
"를 출력하려면 \ 다음에 "를 붙여 \"과 같이 하면 됩니다. |
[ 정답 ]
String 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'일 때
(2) grade가 'B'일 때
(3) grade가 'C'일 때
(4) grade가 'D'일 때
[ 정답 ]
(1) - break 문이 없으므로 A + B + C + D 가 더해진 값이 나옵니다. = 190
(2) - break 문이 없으므로 B + C + D 가 더해진 값이 나옵니다. = 90
(3) - break 문이 없으므로 C + D 가 더해진 값이 나옵니다. = 60
(4) - D 밑으로 다른 case 값이 없으므로 D만 나옵니다
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);
hint) in과 "가위"를 비교하기 위해서는 in == "가위"로 하면 안 됨. 문자열 비교는 반드시 in.equlas("가위")로 해야 함 |
[ 정답 ]
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);
break;
}
==과 equals ()메소드는 다음에 다시 포스팅을 할 예정이지만
==은 메모리 주소를 비교하는 방법이고 equals () 메소드는 객체의 값을 비교하는 방법입니다.
보기에 나온 if - else if - ... - else 문은 참인 경우에 출력하기 때문에 if 문안에 in.equals("가위")로 in 변수에 이퀄 메소드를 사용하여 그 안의 값을 가위 또는 바위, 1, 2 인 것인지 객체 값을 비교하는 방법입니다.
하지만 if문을 switch 문으로 바꿀 때 switch 문은 case 문안의 값을 비교하기 때문에 switch 문 내에서 equals 메소드를 사용하여 값을 비교할 필요가 없습니다. 그러한 이유로 위의 보기 창과 같이 변경됩니다.
부족한 글 읽어주셔서 감사드립니다!
'개인 학습용 해설 > 명품 Java Programming' 카테고리의 다른 글
명품 JAVA Programming 4판 3장 연습문제 - 실습문제 개인 풀이 (0) | 2021.11.08 |
---|---|
명품 JAVA Programming 4판 3장 연습문제 - 이론문제 개인 풀이 및 개인해설 (0) | 2020.10.16 |
명품 JAVA Programming 4판 2장 연습문제 - 실습문제 (0) | 2020.10.15 |
명품 JAVA Programming 4판 1장 연습문제 - 실습 (0) | 2020.10.12 |
명품 JAVA Programming 4판 1장 연습문제 - 이론문제 (4) | 2020.10.11 |