Java 데이터 유형 변환 상세 정보

1. 기본 데이터 유형에 대한 논술
Java 언어는 8가지 기본 유형을 제공합니다.여섯 가지 숫자 유형 (네 개의 정수형, 두 개의 부동점), 한 가지 문자 유형, 그리고 한 가지 부울 유형.
[주] JAVA에는 unsigned 타입이 없습니다.
(1). 정수: int,short,byte,long
(2). 부동점형:float,double
(3). 문자:char
(4). 부울: boolean
기본 유형 크기 최소값 최대값
void
boolean     -----         -----              ------
char         16-bit         Unicode 0     Unicode 2^16-1
byte         8-bit         -128             +127
short        16-bit         -2^15         +2^15-1
int           32-bit         -2^31         +2^31-1
long         64-bit         -2^63         +2^63-1
float        32-bit         IEEE754       IEEE754
double     64-bit         IEEE754       IEEE754
그 밖에 우리는 두 가지 변수, 즉 String과 Date를 자주 사용한다.  
2. 데이터 변환
1 데이터 형식 변환의 종류
java 데이터 형식의 변환은 일반적으로 세 가지로 나뉘는데 각각 다음과 같다.
  (1). 기본 데이터 형식 간의 변환
  (2). 문자열과 다른 데이터 형식의 변환
  (3). 기타 유틸리티 데이터 형식 변환
2 기본 데이터 형식 간의 변환
기본 형식은 저급에서 고급으로 (byte,short,char)-int--long--float--double
간단한 데이터 형식 간의 변환은 다음과 같이 나눌 수 있습니다.
● 저급에서 고급으로의 자동 유형 변환
● 고급에서 저급으로의 강제 유형 변환
● 포장류 전환 유형 전환 가능
2.1 자동 유형 변환
2.1.1 하위 변수는 자동 유형 변환이라고 하는 고급 변수로 직접 변환할 수 있습니다. 예를 들어 다음 문장은 Java에서 직접 통과할 수 있습니다.

byte b; 
int i=b; 
long l=b; 
float f=b; 
double d=b; 
2.1.2 하위 유형이char형이면 고급 유형(정형)으로 변환할 때 ASCII 코드 값으로 변환됩니다. 예를 들어

char c='c'; 
int i=c; 
System.out.println("output:"+i); 
출력:output:99;
2.1.3byte,short,char 세 가지 유형에 대해 말하자면 그들은 평급이기 때문에 서로 자동으로 변환할 수 없으며 아래에 기술한 강제 유형 변환을 사용한다.

short i=99 ; 
char c=(char)i; 
i =(short) c; 
System.out.println("output:"+c); 
출력:output:c;
그러나 경험에 따라byte,short,int 세 가지 유형은 모두 정형이기 때문에 정형 데이터를 조작할 때 int형을 통일적으로 사용하는 것이 가장 좋다.
2.2 강제 유형 변환
고급 변수를 저급 변수로 변환할 때 상황이 복잡할 수 있습니다. 강제 형식 변환을 사용할 수 있습니다.즉, 다음과 같은 문장 형식을 사용해야 한다.

int i=99; 
byte b=(byte)i; 
char c=(char)i; 
float f=(float)i; 
이런 전환은 틀림없이 넘치거나 정밀도가 떨어질 것이라고 상상할 수 있다.
2.3 포장류 과도 유형 전환
우리가 다른 변수 유형 간의 상호 전환을 토론할 때 자바의 포장 클래스, 이른바 포장 클래스는 간단한 유형의 변수를 하나의 클래스로 표시할 수 있다는 것을 알아야 한다. 변수 유형의 상호 전환을 실행할 때 우리는 이 포장 클래스를 대량으로 사용한다.자바는 모두 6개의 포장류가 있는데 그것이 바로 Boolean, Character, Integer, Long, Float와 Double이다. 글자상으로boolean,char,int,long,float와double에 대응하는 것을 알 수 있다.String과 Date 자체가 클래스입니다.그래서 어떤 포장류의 개념도 존재하지 않는다.
간단한 데이터 형식 간의 변환(자동 변환 또는 강제 변환)을 진행할 때 우리는 항상 포장류를 이용하여 중간 과도를 할 수 있다.
일반적인 상황에서 우리는 먼저 변수를 성명한 다음에 대응하는 포장류를 생성하면 포장류의 각종 방법을 이용하여 유형 전환을 할 수 있다.예:
예1, float형을 double형으로 바꾸기를 원할 때:

float f1=100.00f; 
Float F1=f1;//  
double d1=F1.doubleValue();//F1.doubleValue() Float double    double int : 

double d1=100.00; 
Double D1=new Double(d1);//  
int i1=D1.intValue(); 
간단한 유형의 변수를 상응하는 포장류로 전환하면 포장류의 구조 함수와 자동 포장을 이용하여 직접 값을 부여할 수 있다.즉,
    Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
각 포장류에는××Value () 메서드를 사용하여 그에 대응하는 간단한 유형의 데이터를 얻을 수 있습니다.이런 방법을 이용하면 서로 다른 수치형 변수 간의 변환을 실현할 수 있다. 예를 들어 한 쌍정밀도 실형류에 대해 intValue()는 대응하는 정형 변수를 얻을 수 있고doubleValue()는 대응하는 쌍정밀도 실형 변수를 얻을 수 있다.
3 문자열 형식과 다른 데이터 형식의 변환
클래스 라이브러리에서 각 클래스가 제공하는 구성원을 찾아보는 방법을 통해 거의 자바에서 볼 수 있다.lang.Object 클래스가 파생된 모든 클래스는 toString () 방법을 제공합니다. 이 클래스를 문자열로 변환합니다.예를 들어 Characrer, Integer, Float, Double, Boolean, Short 등 클래스의 toString () 방법 toString () 방법은 문자열, 정수, 부동점, 이중 정밀도, 논리수, 짧은 정형 등 클래스를 문자열로 변환하는 데 사용된다.다음과 같습니다.

int i1=10; 
float f1=3.14f; 
double d1=3.1415926; 
 
Integer I1=new Integer(i1);// Integer  
Float F1=f1; //  
Double D1=d1; 
 
// toString()  
String si1 = i1 + "";//  
String sf1=F1.toString(); 
String sd1=D1.toString(); 
 
Sysytem.out.println("si1"+si1); 
Sysytem.out.println("sf1"+sf1); 
Sysytem.out.println("sd1"+sd1); 
4. 문자형을 수치로 직접 변환하여 다른 데이터 유형으로 변환
예를 들어'1'은 ASCII 코드가 아닌 수치 1을 가리키며 이러한 변환에 대해서는 다음과 같습니다.

char c = '1'; 
//Character getNumericValue(char ch)  
int i = Character.getNumericValue(c); 
//ASCII  
i = c -'0'; 
5. Date 클래스와 다른 데이터 유형의 상호 변환
정형과 Date 클래스 사이에는 직접적인 대응 관계가 존재하지 않는다. 단지 당신은 int형을 사용하여 년, 월, 일, 시, 분, 초를 각각 표시할 수 있다. 그러면 둘 사이에 대응 관계를 구축할 수 있다. 이런 전환을 할 때 당신은 Date 클래스 구조 함수의 세 가지 형식을 사용할 수 있다.
Date(int year, int month, int date): int형으로 년, 월, 일을 나타냅니다.
Date(int year, int month, int date, int hrs, int min): int형으로 년, 월, 일, 시, 분을 나타낸다
Date(int year, int month, int date, int hrs, int min, int sec): int형으로 년, 월, 일, 시, 분, 초를 나타낸다
긴 정형과 Date 클래스 사이에는 흥미로운 대응 관계가 있다. 바로 한 시간을 그리니치 표준시간인 1970년 1월 1일 0시 0분 0초의 밀리초로 표시하는 것이다.이러한 대응 관계에 대해 Date 클래스도 그에 상응하는 구조 함수를 가지고 있다. Date(long date)
Date 클래스의 년, 월, 일, 시, 분, 초 및 요일을 가져오려면 Date 클래스의 get Year (), get Month (), get Date (), get Hours (), get Minutes (), get Seconds (), get Day () 방법을 사용할 수 있습니다. 또한 Date 클래스를 int로 바꾸는 것으로 이해할 수 있습니다.
한편, Date 클래스의 getTime () 방법은 우리가 앞에서 말한 시간에 대응하는 긴 정형수를 얻을 수 있다. 포장 클래스와 마찬가지로 Date 클래스도 ToString () 방법으로 이를 String 클래스로 전환할 수 있다.
때때로 우리는 Date의 특정한 형식을 얻기를 원한다. 예를 들어 20020324, 우리는 다음과 같은 방법을 사용할 수 있다. 먼저 파일에 도입하기 시작한다.

import java.text.SimpleDateFormat; 
import java.util.*; 
java.util.Date date = new java.util.Date(); 
 
// YYYYMMDD  
SimpleDateFormat sy1=new SimpleDateFormat("yyyyMMDD"); 
String dateFormat=sy1.format(date); 
 
// , ,  
SimpleDateFormat sy=new SimpleDateFormat("yyyy"); 
SimpleDateFormat sm=new SimpleDateFormat("MM"); 
SimpleDateFormat sd=new SimpleDateFormat("dd"); 
String syear=sy.format(date); 
String smon=sm.format(date); 
String sday=sd.format(date); 
자세한 Java 구문을 보려면 다음과 같이 하십시오.《 Thinking in Java 중국어 안내서 》、《 JDK 1.7 참조 안내서 공식 영문판 》、《 JDK 1.6 API 자바 중국어 참조 안내서 》,많은 응원 부탁드립니다.

좋은 웹페이지 즐겨찾기