Java의 int 및 double 유형에 대한 간략한 설명
int 는 정수(예: -25, 0, 1828182845)에 대한 기본 Java 유형입니다. 이 유형은 32비트를 사용하여 변수 값을 저장합니다. int 숫자의 범위는 -231에서 231 - 1까지 또는 -2147483648에서 2147483647까지 동일합니다. Java의 Double 유형은 부동 소수점 숫자를 나타내며 메모리에 64비트를 할당하며 유형의 범위는 -1.7입니다. *10308에서 1.7*10308. int의 범위를 같은 형태로 표현하면 -2*109 до +2*109가 됩니다. int 유형이 여러 double primitive 유형에 대해 할당된 메모리에 맞을 것이라는 것은 명백하다고 생각합니다. 또한 모든 정수는 소수 부분이 0인 소수로 나타낼 수 있습니다. 수학적인 관점에서 볼 때 의심의 여지가 없습니다. 5 = 5.0 이나 -57.0 = -57.더블로 변환
Java 관점에서 double 및 int 유형도 호환됩니다. int를 double로 변환하는 것은 더 큰 값을 더 작은 값으로 캐스팅하는 것이므로 이러한 종류의 변환은 암시적 유형 케이싱 또는 확장을 호출합니다. int 값을 double 변수에 할당하여 Java에서 자동으로 int를 double로 변환할 수 있습니다. typecasting의 코드 예제를 살펴보겠습니다.
public class intToDouble {
public static void main(String[] args) {
int myInt1 = 10;
int myInt2 = 2147483647;
double myDouble1, myDouble2;
System.out.println("my integers are: " + myInt1 + ", " + myInt2);
myDouble1 = myInt1;
myDouble2 = myInt2;
System.out.println("after typecasting/widening to double: " + myDouble1 + ", " + myDouble2);
}
}
결과는 다음과 같습니다.
내 정수는 다음과 같습니다. 10, 2147483647 typecasting/double로 확장 후: 10.0, 2.147483647E9
참고: 여기서 E9는 109를 의미하며 과학 표기법이라고 합니다. 이중 숫자는 일반적으로 소수 부분을 구분하는 마침표로 작성됩니다. double 변수를 선언하고 그 안에 값을 넣으면 이렇게 할 필요가 없지만 출력에서 double 숫자는 0이더라도 항상 소수 부분을 갖습니다.
중립 수치 연산을 사용하여 double로 변환
또한 Java에서 다른 유형의 변수에 대한 모든 숫자 연산은 유형 확장으로 이어집니다. 즉, 작업 결과는 더 넓은 유형이 됩니다. 따라서 int에서 double로 변환하려면 "중립" 연산을 사용할 수 있습니다. 예를 들어 int에 1.0(이중 숫자)을 곱하거나 int에 0.0을 더합니다. 다음은 이러한 유형 변환의 예입니다.
public class intToDouble {
public static void main(String[] args) {
double a = 1; //you can also write 1.0 here. If you print it out it will be 1.0
int b = 5, x = 7;
System.out.println(x + 0.0);
System.out.println(a*b);
}
}
출력은 다음과 같습니다.
7.0 5.0
그건 그렇고, int뿐만 아니라 모든 숫자 기본 유형을 double로 변환할 수 있습니다. 가장 작은 것에서 가장 큰 것으로 가능한 변환 순서는 다음과 같습니다.
바이트 -> Short -> Char -> Int -> Long -> Float -> Double
GO TO FULL VERSION