Java基本数据类型转换总结

Java基本数据类型转换总结

最近总结了除boolean类型外,Java基本数据类型之间的转换以及基本数据类型到String类型的转换,分享如下。首先,明确

Java基本数据类型:

在这里插入图片描述

转换原理:

Java的数据类型都有相应的容量,下图为Java基本数据类型容量由小到大的排列情况
基本数据类型容量由小到大
按照容量大小可以分为
1)从容量的数据类型转向容量的数据类型————自动类型转换

2)从容量的数据类型转向容量的数据类型————强制类型转换

3)容量级别相同的(char、byte、short)数据类型之间不能相互转换

4)boolean类型不能进行数据类型转换

一、自动类型转换

1.基本数据类型之间

只需将容量小的数据类型变量赋值给容量大的即可自动转换类型,每种情况中只举一个例子,其它也是相同方法

1)short / byte /char 转成int
short s = 123;//  byte /char 同理
int i = s;
2)short / byte /char / int 转成long
short s = 123;// byte /char / int  同理
long i = s;
3)short / byte /char / int / long 转成float
short s = 123;// byte /char / int / long 同理
float i = s;
4)short / byte /char / int / long / float 转成double
short s = 123;// byte /char / int / long / float 同理
double i = s;

2.基本数据类型转成String

直接将基本数据类型变量与字符串相加即可,拿int类型做例子,其它也是相同方法

int a = 100; //  byte /char / int / long / float / double 同理
String str = a + "";

二、强制类型转换

自动类型转换的逆过程

1.基本数据类型之间

通过 “( )”进行强制类型转换,但是可能导致精度降低或溢出,要格外注意

1) double 转成 float 类型

注意:float占4字节,只能表示 -3.403E38~3.403E38 范围内的数,超出此范围就会导致数据精度降低或溢出

double d = 324534.78;
float f = (float)d;
2)double / float 转成 long 类型
//double 转 long
double d = 324534.78;
long l = (long)d;

//float 转 long
float d = 324534.78;
long j = (long)d;
3) double / float / long 转成 int 类型

注意:int占4字节,只能表示 -231~231-1 范围内的数,超出此范围就会导致数据精度降低或溢出


//double 转 int
double d = 46574.7777;
int j = (int)d;  //(容量更小的数据类型) 容量大的数据类型变量

//float 转 int
float f = 2348.9f;
int i = (int)f;

//long 转 int
long l = 367510l;
int k = (int)l;
4)double / float / long / int 转成 short类型

注意:short占2字节,只能表示 -215~215-1 范围内的数,超出此范围就会导致数据精度降低或溢出

//double 转 short
double d = 465.7777;
short j = (short)d;

//float 转 short
float f = 234.9f;
short m = (short)f;
		
//long 转 short
long l = 3671l;
short k = (short)l;
		
//int 转 short
int i = 789;
short n = (short)i;
5)double / float / long / int 转成 byte类型

注意:byte占1字节,只能表示 -128~127范围内的数,超出此范围就会导致数据精度降低或溢出

//double 转 byte
double d = 46.7777;
byte j = (byte)d;

//float 转 byte
float f = 23.9f;
byte m = (byte)f;

//long 转 byte
long l = 111l;
byte k = (byte)l;

//long 转 byte
int i = 78;
byte n = (byte)i;
6)double / float / long / int 转成 char类型
//double 转 char
double d = 465.7777;
char j = (char)d;

//float 转 char
float f = 2348.9f;
char m = (char)f;

//long 转 char
long l = 3671l;
char k = (char)l;

//int 转 char
int i = 7893;
char n = (char)i;

2.String转成基本数据类型

1)String 转成 int 类型:

使用Integer.parseInt(字符串名称)

//String 转 int
String str = "239864";
int i = Integer.parseInt(str);
2)String 转成 float 类型:

使用Float.parseFloat(字符串名称)

//String 转 float
String str = "239864";
float f = Float.parseFloat(str);
3)String 转成 double 类型:

使用Double.parseDouble(字符串名称)

//String 转 double
String str = "239864";
double d = Double.parseDouble(str);
发布了8 篇原创文章 · 获赞 6 · 访问量 2457

猜你喜欢

转载自blog.csdn.net/sxn712/article/details/103783192