간단한 Java 개인공부!

Ahn yi·2022년 9월 23일
1

java

목록 보기
14/22

1. 문제 : int형과 double형의 연산

     int var1=5;
     int var2=2;
     double var3=var1/var2;
     int var4=(int)(var3*var2);
     System.out.println(var4);
-> 기대값 : 5, 결과값 : 4

해석 : var1(int형) 나누기 var2(int형)의 경우, return 값은 정수이므로 var3의 값은 2.0이 된다.
그러므로 (int)(var3 * var2)는 (int)(2.0 x 2)와 같으며, 결과값으로 4가 출력된다.

2. 증감연산자

	int x = 10;
    int y = 20;
    int z = (++x) + ( y--);
    System.out.println(z);
-> 증감연산자에 대한 설명과 값

해석 : 증감연산자는 변수 앞에 있으면 1을 증감시킨 후에, 변수 뒤에 있으면 연산을 진행한 후에 1을 증감시킨다.
그러므로 int z = (++x) + (y--)에서 (++x)는 11, (y--)는 20으로 연산이 진행되고, z = 31로 결과값은 31이 된다.
추가적으로, y는 연산 이후에 19가 된다.

3. 난수(랜덤 숫자) 뽑기

	int random_num1;
    int randeo_num2;
    int result = 0;

    while(result != 5){
        random_num1 = (int)(Math.random() * 6) + 1;
        randeo_num2 = (int)(Math.random() * 6) + 1;

        System.out.println("( " + random_num1 + ", " + randeo_num2 + " )");

        result = random_num1 + randeo_num2;
    }
-> 주사위 2개의 값의 합이 5가 되면 실행 종료

해석 : Math.random() method는 0.0과 1.0사이 하나의 double 값을 return 한다.
주사위 이므로 1 ~ 6 의 값으로 설정해준다.
0.0 <= Math.random() <= 1.0
0.0 <= Math.random() 6 <= 5.0
1.0 <= (Math.random()
6) <= 6.0
1 <= (int)(Math.random() * 6) <= 6
while문은 괄호 안의 조건문이 참이면 반복하고 거짓이면 종료한다.
while(result != 5)은 result의 값이 5아 아니면 반복을 한다는 의미이다.
그러므로 반복문 끝에 result의 값을 새로 뽑은 주사위 값의 합으로 할당하여, 주사위의 눈이(1,4), (4,1), (2,3), (3,2)이 되면 반복문을 빠져나오게 된다.

profile
소통을 잘하고싶은 백엔드 개발자

0개의 댓글