Java 데이터 유형 변환 상세 정보
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 자바 중국어 참조 안내서 》,많은 응원 부탁드립니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.