HOWTO · Java
Java의 이중 나눗셈
정수-이중 나눗셈 혼동 지우기
여기 이 가이드에서는 Java의 이중 분할에서 발생하는 혼란을 해결합니다. 이를 완전히 이해하려면 Java의 데이터 유형에 익숙해야 합니다. 다음 규칙을 살펴보십시오.
- 두 정수 사이의 모든 산술 연산은 정수를 출력으로 제공합니다.
- integer와 double 사이의 모든 산술 연산은 double 값을 제공합니다.
데이터 유형 double이 정수보다 우선순위가 더 높기 때문에 double 및 integer를 포함하는 모든 연산은 double 값을 제공한다고 말할 수 있습니다.
Java의 정수-이중 나눗셈
다음 코드를 살펴보십시오.
import java.util.*;
import javax.naming.spi.DirStateFactory.Result;
public class Main {
public static void main(String args[]) {
int x = 8;
int y = 30;
double z = y / x;
System.out.println(z);
}
}
이 프로그램이 출력으로 무엇을 줄 것이라고 생각합니까? 3.0 또는 3.75. 우리는 단순히 두 개의 정수를 나누어 출력으로 정수를 제공하기 때문에 3.0이 됩니다. 이 경우에는 3입니다. 우리는 이 출력을 double z에 저장했고 데이터 유형이 double이므로 3.0이 되었습니다.
따라서 다음 코드가 수행할 수 있는 정확한 출력을 얻으려면 캐스팅을 적용해야 합니다.
import java.util.*;
import javax.naming.spi.DirStateFactory.Result;
public class Main {
public static void main(String args[]) {
int x = 8;
int y = 30;
double z = (double) y / x;
System.out.println(z);
}
}
출력:
3.75
여기서 (double)은 Java에서 유형 캐스팅에 사용됩니다. 그래서 y와 x는 모두 이중이 되었습니다. 나눗셈 후에 출력은 다시 z를 이중으로 저장하며 이는 또한 이중입니다. 따라서 출력은 3.75가 됩니다.