프로그래머 ,백준, 유튜브, 문제
java 과제
리승우
2022. 9. 23. 11:16
1. 데이터타입 특성문제
public class Hello {
public static void main(String[] args) {
int var1=5;
int var2=2;
double var3=var1/var2;
int var4=(int)(var3*var2);
System.out.println(var4);
}
}
출력값
4
WHY?
1. int 5 / int2로 나누었을 경우, 2.5가 아닌 정수타입인 2가 반환됨.
2. 2 X 2는 결국 4이므로, 4출력
2. 증감연산자 특성문제
public class Hello {
public static void main(String[] args) {
int x=10;
int y=20;
int z = (++x) + (y--);
System.out.println(z);
}
}
출력값
31
WHY?
1. X는 Z를 위한 연산에 들어가기전, 전치증가를 한다. (x = 11)
2. Y는 Z를 위한 연산이 종료된 후, 후치감소를 한다. (연산종료 후 y=19)
3. 출력값은 31
2. 조건문 특성문제
public class question {
public static void main(String[] args) {
System.out.println("시작!");
while (true) {
int a = (int) (Math.random() * 6) + 1;
int b = (int) (Math.random() * 6) + 1;
if (a + b != 5) {
System.out.println("(" + a + "," + b + ")");
continue;
} else {
System.out.println("(" + a + "," + b + ")");
System.out.println("끝!");
break;
}
}
}
}
출력값
시작!
(4,1)
끝!
WHY?
1. while문 실행 (정지 명령이 없으면 무한반복)
2. a,b라는 변수에 랜덤값 지정 (주사위 값)
3. if문 생성 후, a+b값이 5가 아닐 경우 다시 반복문 실행되도록 진행 (continue)
4. a+b값이 5일 경우, 그 구문을 출력하고 반복문 종료 (break)