본문 바로가기
솔루션모음/자바 기초부터 하나씩

[자바 기초부터 하나씩/1장 연습문제 솔루션] 자바소개

by 이얏호이야호 2020. 3. 31.

1.참또는거짓

만약 거짓이면 이유를 설명하여라.

 

a.정수와 소수점 숫자를 표현식 내에서 혼합하여 사용할 수 있다.

= .

 

b.정수를 문자 데이터에 추가할 수 있다.

= .

 

c.부울(boolean) 데이터는 정수 데이터로 형변환될 수 있다.

=거짓. 부울데이터는 정수데이터로 형변환 불가

 

d.관계 연산자는 문자 데이터와 함께 사용될 수 없다.

= .

 

e.만약 하나의 실수형 소수점 숫자가 /(나눗셈)연산자와 함께 사용된다면, 그 결과는 정수가 된다.

=거짓.double/int 값의 경우 int값이 double 형으로 형변환하기 때문에 double형의 값이 출력된다.

 

f.수식에서 55.0 어느것을 사용하여도 차이점은 없다.

=거짓. 5int5.0double 형이기 때문에 값이 int 또는 double형으로 바뀔 수 있다.

 

g.23.00E610진수 형식은 2300.00이다.

=거짓. 23.00E6 = 23.00 x 10^6 = 2300000.0

 

h.println에서 인수는 문자열이어야 한다.

=거짓. 문자열,인트,더블 모두 사용 가능하다.

 

I.두 개의 부울 표현식을 <를 사용하여 비교할수 있다.

=거짓. 부울표현식은 truefalse값만 나타내므로 크기를 비교할 수 없다.

 

 

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

 

 

 

댓글