基本类型的类型转换分为自动类型转换和强制类型转换。
自动类型转换
自动类型转换:把某种基本类型的值直接赋给另一种基本类型的变量或者把一个表数范围小的数值变量直接赋给另一种表数范围大的数值变量;
eg:
public class AutoConversion{
public static void main(String[] args){
int a = 6;
//int类型可以自动转换为float类型
float f = a;
System.out.println(f); //输出值为6
byte b = 9;
//char c = b; byte类型不自动类型转换为char类型
//byte类型自动类型转换为double类型
double d = b;
System.out.println(d); //输出值为9
//基本类型的值转换为对应的字符串,即将该基本类型的值与一个空字符串连接起来。
String str = 3.5f + "";
//
System.out.println(3+4+"hello"); //输出值为7hello
//运算hello+3时,会将3当成字符串处理,结果为字符串hello3,再运算hello3+4时,将4当成字符串处理
System.out.println("hello"+3+4); //输出值为hello34
}
}
注:任何基本类型的值和字符串连接起来时,基本类型的值架构自动类型转换成字符串类型;如果要把基本类型的值转换为对应的字符串时,将该基本类型的值与一个空字符串连接起来即可。
强制类型转换
如果要将自动类型转换的顺序反过来,则必须进行强制类型转换。
注意:强制类型转换容易造成数据丢失
eg:
public class NarrowConcersion{
public static void main(String[] args){
int iValue = 233;
//强制把一个Int类型的值转换为byte类型的值
byte bValue = (byte)iValue;
System.out.println(bValue); //输出值为-23
double dValue = 3.98
int tol = (int)dValue;
System.out.println(tol); //输出值为3
}
}
将字符串转换成基本数据类型时:使用基本类型对应的包装类可以实现把字符串转换成基本数据类型。
eg:
String a = "56";
int iValue = Integer.parseInt(a);
装箱:将基本类型用对应的引用类型包装起来;
拆箱:将包装类型转换为基本类型;
8种基本类型对应的包装类:
基本类型 | 包装类 |
---|---|
boolean | Boolean |
byte | Byte |
float | Float |
short | Short |
int | Integer |
double | Double |
long | Long |
char | Character |
以上内容整理均来自李刚老师的《疯狂Java讲义》
来源:CSDN
作者:爱敲代码的程序媛
链接:https://blog.csdn.net/qq_42334879/article/details/104118473