Java类型转换
转换规则
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
转换类型根据容量即字符大小由低到到进行转换,浮点类型优先级一定大于整型。
运算中,不同类型的数据先转化为同一类型,然后再进行运算。
-
不能对布尔类型的变量进行类型转换。
-
不能把对象类型转换为不相干的类型。
-
在把高容量类型转换为低容量类型的时候需要使用强制类型转换。
-
转换的时候可能存在内存溢出或精度问题。
强制转换
public class Demo5 {
public static void main(String[] args) {
int num1 = 128;
byte b = (byte)num1;
System.out.println(num1);
//打印结果为128
System.out.println(b);
//打印结果为-128
System.out.println((int)128.45);
//打印结果为128
System.out.println((int)-456.11f);
//打印结果为-456
}
}
在变量前加上括号()并在括号中写出目标类型即强制类型转换,即(数据类型)变量名。
由高类型往低类型转换需不超过低类型的容量。
如以上代码中,byte类型变量的范围为-128至127,而变量num1的值为128,强制将变量num1的值转换成byte类型后,内存产生溢出,则值循环。
注意:
-
内存的溢出在转换类型的时候就已经产生了。
-
浮点类型的数据在转换为整型时,会产生精度的丢失。
自动转换
public class Demo6 {
public static void main(String[] args) {
int num1 = 128;
double num2 = num1;
System.out.println(num1);
//打印结果128
System.out.println(num2);
//打印结果128.0
}
}
从低类型往高类型转换数据不需要强制转换,其变量是自动转换的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人