基本数据类型转化以及包装类
基本数据类型转换
jdk7以上新特性 数字可以在中间加_来标识
int a=10_0000_0000;
-
高数据类型向低数据类型转换需要强制转换
-
低数据类型向高数据类型转换可以自动转换
-
高数据类型转低数据类型会产生数据精度丢失
-
int以下的低数据类型在进行运算时会自动转换为int类型 所以在进行运算后需要用int类型来接受
byte a=1; byte b=2; byte c=(a+b);//程序报错 显示数据类型应该为int
-
在进行运算时当数据类型溢出时 只需要将运算中的一个数据类型转换为相应的数据类型即可
int a=10_0000_0000; int b=20; System.out.println(a*b) //数据溢出 运行结果为: -1474836480
int a=10_0000_0000; int b=20; System.out.println(a*(long)b) //数据将其中一个数据类型转换为long 运行结果为: 20000000000 //数据未溢出
强制转换在 被转换的变量前 用括号里面放需要转换的类型;
int a=11; //强制转换为byte类型 byte b=(byte)a
低数据类型向高数据类型转换自动转换
int a=11; double d=a; //可以直接拿double的变量接受 自动转换
包装类
Java为每种基本数据类型分别设计了对应的类,称之为包装类。
基本数据类型 | 对应的包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
每个包装类的对象可以封装一个相应的基本数据类型的数据,并提供了其他一些有用的方法。包装类对象一经创建,其内容不可改变。
基本数据类型与包装类的相互交换:
由基本数据类型向对应的包装类转换称为装箱,例如把int包装成integer类的对象。
由包装类相对应的基本数据类型转换称为拆箱,例如把integer类的对象重新简化为int。
//将int装箱
int i=5;
Integer inr=new Integer(i); //将i装箱
int i2=inr.intValue() //拆箱
自动装箱拆箱
int a = 500;
Integer inr= m;
int b = inr;
System.out.println("b = " + b);
Integer inr1 = 500;
System.out.println("inr 等价于 inr1 ?" + inr.equals(inr1));
/* b = 500
inr 等价于 inr1 ? true
*/
将字符串转换为整数
integer类有一个静态的parseInt()方法,可以将字符串转换为整数。
语法为parseInt(String s,int radix);其中s为要转换的字符串,radix为进制(默认为十进制)。
将整数转换为字符串
integer类有一个静态的toString()方法,可以将整数转换为字符串。