1.참또는거짓
만약 거짓이면 이유를 설명하여라.
a.정수와 소수점 숫자를 표현식 내에서 혼합하여 사용할 수 있다.
= 참.
b.정수를 문자 데이터에 추가할 수 있다.
= 참.
c.부울(boolean) 데이터는 정수 데이터로 형변환될 수 있다.
=거짓. 부울데이터는 정수데이터로 형변환 불가
d.관계 연산자는 문자 데이터와 함께 사용될 수 없다.
= 참.
e.만약 하나의 실수형 소수점 숫자가 /(나눗셈)연산자와 함께 사용된다면, 그 결과는 정수가 된다.
=거짓.double/int 값의 경우 int값이 double 형으로 형변환하기 때문에 double형의 값이 출력된다.
f.수식에서 5나 5.0 어느것을 사용하여도 차이점은 없다.
=거짓. 5는 int형 5.0은 double 형이기 때문에 값이 int 또는 double형으로 바뀔 수 있다.
g.23.00E6의 10진수 형식은 2300.00이다.
=거짓. 23.00E6 = 23.00 x 10^6 = 2300000.0
h.println에서 인수는 문자열이어야 한다.
=거짓. 문자열,인트,더블 모두 사용 가능하다.
I.두 개의 부울 표현식을 <를 사용하여 비교할수 있다.
=거짓. 부울표현식은 true와 false값만 나타내므로 크기를 비교할 수 없다.
j.덧셈 연산자는 두 개의 문자열과 함께 사용 가능하다.
=참.
2.컴파일러실행
다음 각 표현식에 대한 결과 값을 계산하여라. 만약 잘못된 표현식이 있다면 수정하여라.
a. 3+4.5*2+27/8
= 3+(4.5*2 = 9.0) + (27/8 = 3)
3.0 + 9.0 + 3.0 = 15.0
b. true || false && 3<4 || !(5==7)
= false && false(3<4) = false
true || false = true
true || true(!(5 == 7)) = true
c. true ||(3<5&&6>=2)
= true(3<5) && true(6>=2) = true
true || true = true
d. !true>'A'
= boolean값은 ‘==’이외에 비교가 불가능.
e. 7%4+3-2/6&'Z'
= Z=90
7%4 = 3
2/6 = 0
0&'Z' = 0
3+3-0 = 6
f. 'D'+1+'M'%2/3
= D=68, M =77
77%2 = 1
1/3 = 0
68+1+0 = 69
g. 5.0/3+3/3
= 5.0/3 = 1.666666666
3/3 = 1
1.6666666 + 1 = 2.666666
h. 53%21<45/18
= 53%21=11
45/18 = 2
11<2 = false
I. (4<6) || true && false || false &&(2>3)
= true&&false = false
false&&false(2>3) = false
true(4<6) || false || false = true
j. 7-(3+8*6+3)-(2+5*2)
= 8*6 =48
5*2 = 10
7-54-12 = -59
3.컴파일러실행
다음의 자바 문장/부분이 잘못된 것인지를 결정하여라. 만약 문장이 올바르면 출력을 적고, 올바르지 않다면 그 이유를 설명하여라.
a. System.out.print("May 13, 1988 fell on day number");
=참, May 13, 1988 fell on day number
b. System.out.println( ((13+(13*3-1)/5 + 1988%100 + 1988 %100/4 + 1988/400 -2 * (1988/100))%7+7)%7);
=참, 5
c. System.out.print("Check out this line ");
=참, Check out this line
d.System.out.println("//hello there"+ '9'+7);
=참, hello there97
e.System.out.print('H'+'I'+"is"+1+"more example");
=참, 145is1more example
f.System.out.print('H'+6.5+'I'+"is"+1+"more example");
=참, 151.5is1more example
g.System.out.print("Print both of us", "Me too");
=거짓, Print both of us 와 Me too를 이어주기위해 두 문장 사이에 ,가 아닌+를 추가해준다.
h.System.out.print("Reverse"+'I'+'T');
=참, ReverseIT
I.System.out.print("No! Here is" + 1 + "more example");
=참, No! Here is1more example
j.System.out.println("Here is"+ 10*10))//100이있다;
=참, 괄호의 개수가 맞지 않는다.
k.System.out.println("Not x is" + true);
=참, Not x istrue
l.System.out.print();
=참, (공백)
m.System.out.println;
=거짓, ()를 넣어줘야한다.
n.System.out.print("How about this one"++'?'+'huh?');
=거짓, ‘++’를 +로 교체해야한다.
또한 ‘'의 경우 char유형에 해당하여 단일 인용부호를 사용해야하므로 huh를
단일 인용부호로 교체해야한다.
4.컴파일러실행
다음의 프로그램에서 오류를 찾아내어 수정하여라.
public class LeapYear;
{
pubilc static void main(String args)
{
System.out.print("The year 2300 is a leap year?" + "True of false:");
//(4로 나눌 수 있고 100으로 나눌 수 없다) 또는 (400으로 나눌 수 있다)//
System.out.println(2300%4=0 && 1800%100 != 0 || 1800%400==0);
-----------------------------------------------------------------------------------------------
public class LeapYear;
{
public static void main(String []args)
{
System.out.print("The year 2300 is a leap year?" + "True of false:");
//(4로 나눌 수 있고 100으로 나눌 수 없다) 또는 (400으로 나눌 수 있다)//
System.out.println(2300%4==0 && 1800%100 != 0 || 1800%400==0);
}
5.괄호와 연산자 우선순위
연산자가 우선순위가 잘 적용되도록 다음 각 표현식 전체에 괄호를 추가하여라.
a.2+3+4+5
= [{(2+3)+4}+5]
b.3*4 +5/6-7
= (3*4) + (5/6) -7
c.2+3*4*5
= 2+{(3*4)*5}
d.9%2/2*3
= [{(9%2)/2}*3]
e.7+6*4%2+3%5
= 7+{(6*4)%2}+(3%5)
f.true||false||true&&!true
= true||false||(true&&!true)
6.부울 표현식
다음 각 부울 표현식에 대한 값을 계산하여라. 자바는 단락 회로 평가(short circuit evaluation)를 사용한다는 사실을 상기하여라. 각 표현식에서 자바가 값을 결정하기 위하여 평가한 표현식이 어느 것인지를 나타내어라.
a.true&&false&&true||true
- true and false = false
false and true = false
false and true = false
false or true = true
b.true||true&&true&&false
- true and true = true
true and false = false
true or false = true
c.(true&&false)||(true&&!false)||(false&&!false)
- true and false = false
true and true = true
false and true = false
false or true or false = true
d.(2<3)||(5>2)&&!(4==4)||9!=4
- 2<3 = true
5>2 = true
true or true = true
!(4==4) = false
9!=4 = true
false or true = true
true and true = true
e.6==9||5<6&&8<4||4>3
5<6 = true
8<4 = false
true and false = false
6==9 = false
false or false = false
4>3 = true
false or true = true
'솔루션모음 > 자바 기초부터 하나씩' 카테고리의 다른 글
[자바 기초부터 하나씩/10장 연습문제 솔루션 답지 해답] 상속 (0) | 2020.04.01 |
---|---|
[자바 기초부터 하나씩/9장 연습문제 솔루션 답지 해답] 객체와 클래스 (0) | 2020.04.01 |
[자바 기초부터 하나씩/7장 연습문제 솔루션 답지 해답] 배열 (0) | 2020.03.31 |
[자바 기초부터 하나씩/3장 연습문제 솔루션] 반복문 (0) | 2020.03.31 |
[자바 기초부터 하나씩/2장 연습문제 솔루션] true or false (0) | 2020.03.31 |
댓글