Java 데이터 유형 변환 (자동 변환 및 캐스트 변환)
데이터 유형의 변환은 자동 변환 및 캐스트 변환으로 나뉩니다. 자동 변환은 실행 중에 "조용히"수행되는 전환은 사용자가 미리 선언 할 필요가 없습니다. 비트. 캐스트 유형은 코드에서 선언해야하며 변환 순서가 제한되지 않습니다.
자동 데이터 유형 변환
자동 변환은 낮은 곳에서 높은 것으로 변환됩니다. 다른 유형의 데이터 간의 우선 순위 관계는 다음과 같습니다.
낮은 ------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- ------
바이트, 짧은, char-> int-> long-> float-> double
작동시 다른 유형의 데이터가 먼저 동일한 유형으로 변환 된 다음 계산 규칙이 수행됩니다.
강제 데이터 유형 변환
캐스트 형식은 변환 해야하는 데이터 전에 "()"를 추가 한 다음 브래킷으로 변환 해야하는 데이터 유형을 추가하는 것입니다. 일부 데이터는 변환 작업 후에 손실되며 다른 데이터는 더 정확합니다.
공개 클래스 데모 {public static void main (string [] args) {int) 34.56 + (int); // 정확도를 향상시킵니다. 실행 결과 :
x = 45y = 56.0
위의 프로그램 세그먼트를 신중하게 분석하십시오. 34.56 이전에 Int의 강제 유형 변환이 있으므로 34.56은 34가됩니다. 마찬가지로 11.2는 11이되므로 X의 결과는 45입니다. X 이전에는 더블 캐스트가 있으므로 X의 값은 45.0이되고 10의 전면도 이중 유형이되므로 10.0이되므로 y의 값은 결국 56이됩니다.
Java 데이터 유형 및 변수 정의
Java는 강력하게 입력 된 언어이며 변수를 선언 할 때는 데이터 유형을 지정해야합니다. 가변 값은 일정량의 메모리 공간을 차지합니다. 다른 유형의 변수는 다른 크기를 차지합니다.
Java에는 4 개의 정수 유형, 2 개의 플로팅 포인트 유형, 1 개의 문자 유형 및 1 개의 부울 유형을 포함하여 8 개의 기본 데이터 유형이 있습니다.
정수 데이터의 경우 int 유형이 일반적으로 사용됩니다. 그러나 나가사키 히로시마에서 떨어진 원자 폭탄으로 방출 된 에너지가 의미한다면 긴 유형을 사용해야합니다. 바이트 및 짧은 유형은 주로 기본 파일 처리 또는 저장 공간의 양을 제어 해야하는 큰 배열과 같은 특정 응용 프로그램 시나리오에서 주로 사용됩니다.
Java에서는 정수 데이터의 길이가 플랫폼과 관련되어있어 한 플랫폼에서 다른 플랫폼으로 포팅 할 때 소프트웨어가 프로그래머에게 가져 오는 많은 문제를 해결합니다. 대조적으로, C/C ++ 정수 데이터의 길이는 플랫폼 관련이며, 프로그래머는 다른 플랫폼에 적합한 정수를 선택해야하므로 64 비트 시스템에서 실행되는 프로그램이 32 비트 시스템에서 완료 될 수 있습니다.
옥탈은 0의 접두사를 가지며, 010은 10 진수의 0x를 갖는다. 10 진수에서 9에 해당합니다. 또한 Java 7에서 시작하여 밑줄을 사용하여 숫자를 사용하여 영어 숫자 작문과 유사한 숫자를 분리 할 수 있습니다. 예를 들어 1_000_000은 1,000,000을 의미합니다. 밑줄은 코드를 더 읽기 쉽게 만드는 것입니다. 컴파일러는 이러한 밑줄을 제거합니다.
또한 C/C ++와 달리 Java는 서명되지 않은 유형을 지원하지 않습니다.
플로트 유형의 최대 길이는 7 자리이며 유의 한 숫자의 길이에는 정수 부분과 소수점이 포함됩니다. 예를 들어:
float x = 223.56f;
참고 : 각 플로트 유형에는 플래그 "F"또는 "F"가 있습니다.
이중 유형의 최대 15 자리 수가 있습니다. 플로트 유형과 마찬가지로 Double은 플래그 "D"또는 "D"가 있습니다. 예를 들어:
이중 x = 23.45d; 이중 y = 422.22d; 더블 z = 562.234;
참고 : 플로팅 포인트 데이터 플래그가없는 시스템은 기본값이 이중 유형으로 변합니다.
대부분의 경우 이중 유형이 사용되며 플로트의 정확도는 요구를 충족시키기가 어렵습니다.
다른 데이터 유형의 예 :
공개 클래스 데모 {public static void main (string [] args) {// char webname2 = 'science'; 웹 사이트의 예 : " + webname1 + webname2 + webname3); // 정수 단락 x = 22; // 십진 int y = 022; // Octal Long Z = 0x22L; // hexAdecimal System.out.println ("변환 사전 사명 : x = " + x +", y = " + y +", z = " + z); // float type float m = 22.45f; double n = 10; System.out.println ("제품 계산 : " + m + " *" + n + "=" + m * n); 실행 결과 :
웹 사이트의 이름은 다음과 같습니다. weixueyuan은 10 진수로 변환되었습니다 : x = 22, y = 18, z = 34 제품 계산 제품 : 22.45 * 10.0 = 224.50000762939453
실행 결과에서 부동 소수점 데이터에 정수가 있고 소수성이 없더라도 시스템이 콘솔에서 출력 할 때 소수점을 자동으로 추가하고 모든 소수점 이하 자리가 0으로 설정되어 있음을 알 수 있습니다.
부울에 대한 설명
프로그래밍 경험이 있고 부울 유형을 이해하는 경우 아래 튜토리얼을 건너 뛰십시오.
C 언어에서 판단 조건이 유효하면 1이 반환됩니다. 그렇지 않으면 0이 반환됩니다.
<Stdio.h> int main (int x = 100> 10; d/n ", y); 반환 0;}
실행 결과 :
100> 10 = 1100 <10 = 0
그러나 Java에서는 다릅니다. 조건이 참이면, 그렇지 않으면 부울 유형을 반환합니다. 예를 들어:
공개 클래스 데모 {public static void main (string [] args) {// boolean b = 100 <10; out.println ( "100 <10 =" + b); );}}} 실행 결과 :
100> 10 = true100 <10 = false100 <10이 정확합니다
실제로 True는 1에 해당하고 False는 0에 해당하지만 이름이 변경되어 데이터 유형이 별도로됩니다.