# 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 |