TIL

TIL 220807

Vince_rf 2022. 8. 11. 11:27

# java에서 나눗셈을 하고 소숫값까지 출력하고 싶을때!

초기 값을 double로 선언해준다.

int로 선언한 변수 a가 4라고 가정하자.

10 / a = 2

즉, 소숫점이 출력되지 않는다.

하지만 변수 a를 double로 선언하게되면, 소숫점의 값까지 출력되어서

10 / a = 2.5 라는 값이 출력된다.

# 항상 int 값이 오버플로우를 발생시키는지 의심해보자.

오버플로우가 발생된다면, 결과 값이 꼬이기 때문에

파라미터로 입력받은 값을 long타입으로 바꿔보자.

#while 문에서는 retrun값을 지정할 수 있다.

while (num1 != 1){
            if (num1%2==0){
                num1 = num1/2;
            } else {
                num1 = num1*3+1;
            }
            answer++;
            if (answer>500){
                answer = -1;
            }
        }
이렇게 코드를 작성하면 이상한 결과값이 튀어나올 때가 있다.

while문에서 반환하는 값을 지정해 주는 방법은, 변수에 직접 값을 때려넣는 것이 아니라

return값을 이용하는 것이다.

while (num1 != 1){
            if (num1%2==0){
                num1 = num1/2;
            } else {
                num1 = num1*3+1;
            }
            answer++;
            if (answer>500){
                return -1; 
            }
        }

이런식으로 마지막에 선언해줬던 answer를 return -1;로 바꿔주니 코드가 정상적으로 작동한다.

#Math.max/min() 함수

위의 함수는 두 인자 값 중에서 크거나 작은 값을 리턴한다.

Math.max(3,12) 라면 리턴값은 12

Math.min(3,12) 라면 리턴값은 3

'TIL' 카테고리의 다른 글

220811 TIL & 모의 면접 예상 질문  (0) 2022.08.11
TIL 220810  (0) 2022.08.11
TIL 220805  (0) 2022.08.11
TIL 220802  (0) 2022.08.11
TIL 220729  (0) 2022.08.11