2021. 2. 17. 18:49ㆍJAVA 공부/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 |