Day03 - Quiz 를 풀어봅시다

2021. 2. 17. 18:49JAVA 공부/Quiz

오늘ㄹㄹㄹㄹㄹㄹㄹㄹㄹㄹ른 Quiz를 내주셨네요 ㅎㅎㅎㅎㅎㅎㅎㅎㅎ

Shit !!!!!!!!! 

 

Quiz를 한번 풀어 봅시다~

결과값이 어떻게 나올지 맞춰 봅시다 ~

int x = 2;

int y = 5;

char c = 'A'; -> 'A'의 문자코드는 65 입니다

 

1.

y += 10 을 하면 y = y + 10 -> y = 5 + 10 , x++ -> 2++ / 여기서 x는 2이고 , 다음에 나오는 x부터는 3이 되죠

그리고 연산 우선순위에 의해서 대입보다는 연산이 먼저 됩니다.

y = 5 + 10 - 2 -> y = 15 - 2 -> y = 13 이 됩니다. 그래서 결과값은 13

 

2.

x+=2 -> x = x + 2 -> x = 3 + 2 -> 5

 

3.

!('A' <= c && c <= 'Z')) -> !(65 <= 65 && 65 <= 90) -> !(true && true) -> !(true) -> false

 

4.

'C' - c -> 67 - 65 -> 2

 

5.

c+1 -> 65+1 -> 66

 

6.

++c -> ++65 -> 66 이지만 단항 연산자인 경우에는 데이터 유형을 변환시키지 않기 때문에, 그대로 char형이 유지가 됩니다. -> B

 

7.

c++ -> 66++ -> 여기서의 c는 66. 뒤에 나오는 c는 67이 되고 위와 마찬가지로 char형이 유지가 되기 때문에 -> B

 

8.

c -> 68 -> C

 

문제를 풀어 봅시다 ~

1.

1 ~ 100까지 랜덤한 정수 생성 -> int r = (int)(Math.random() * 100) + 1 , Math.random() 에 반환 값이 double 형이고 값이 0 ~ 1.0 사이기 때문에 * 100을 해줌으로써 0 ~ 99 까지 나오게 해줍니다. 그 후 int형으로 Casting. 뒤에 소수점 밑으로 날라가고 0 ~ 99 까지 남는데 여기서 + 1 을 해서 1 ~ 100 까지 랜덤한 숫자가 나오게 됩니다.

3의 배수인지 아닌지 3항 연산자 사용 System.out.println(r + "은 " + (r % 3 == 0 ? : "3의 배수가 맞다" : "3의 배수가 아니다"))

2.

-5 ~ 5 까지 랜덤한 정수 생성 -> int r2 = (int)(Math.random() * 11) - 5

절대값만 출력하는 3항 연산식 -> System.out.println(r2 + "의 절대값 : " + (r2 >= 0 ? r2 : -r2))

3.

1 ~ 200 까지의 랜덤한 수 -> int appleNum = (int)(Math.random() * 200) + 1

최대 10개가 들어가는 사과 바구니 -> int bucket = 10;

필요한 바구니의 개수 -> int needBucket = appleNum % needBucket == 0 ? appleNum  / needBucket : appleNum  / needBucket + 1 -> 나머지가 0이 아닐경우 필요한 바구니개수 + 1

3항 연산자를 if else 문으로 교체 했을 때 -> 아래의 주석 처리 입니다.

숙제로 해봅시다 ~

 -10 ~ 10 까지의 랜덤수 -> int r = (int)(Math.random() * 21) - 10

랜덤한 값이 0, 양수, 음수 인지 판별 -> System.out.println( r > 0 ? "양수" : ( r == 0 ? 0 : "음수"))

이렇게 문제들을 풀어봤습니다 ~

 

고생하셨습니다.

 

다음은 배열에 대해 알아 보도록 하겠습니다.

'JAVA 공부 > Quiz' 카테고리의 다른 글

Day08 - Quiz를 풀어 봅시다  (0) 2021.02.24
Day07 - Quiz를 풀어봅시다  (0) 2021.02.23
Day06 - Quiz를 풀어봅시다  (0) 2021.02.22
Day05 - Quiz 를 풀어 봅시다  (0) 2021.02.19
Day04 - Quiz를 풀어봅시다  (0) 2021.02.19