Java类型转换
2022/8/16 14:53:00
本文主要是介绍Java类型转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
类型转换
Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级(根据容量来看):
低 ------------------------------------> 高 byte,short,char->int->long->float->double //小数的优先级大于整数
类型转换分为强制类型转换和自动类型转换
1、强制类型转换
由容量大的数据类型转化为容量小的数据类型要用到强制类型转换,转换时要注意内存溢出的问题
强制类型转换的语法格式: (类型)变量名
类型转换的条件是转换的数据类型必须是兼容的。
【演示】
public class Demo{ //强制转换格式: (类型)变量名 高--低 public static void main(String[] args) { int i =128; byte b = (byte)i; //数据类型为int的i强制转换为byte类型 //当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值,溢出。 System.out.println(i); //128 System.out.println(b); //内存溢出了,byte最大值才127,所以这行的结果是-128 }
2、自动类型转换
容量小的数据类型可以自动转换为容量大的数据类型,这称为自动类型转换
例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为 32,可以自动转换为64位的double类型。
【演示】
//自动转换 低--高 public static void main(String[] args) { int a = 128; double z = a; //容量小数据类型为int的a自动转换为容量大double类型 System.out.println(a); //128 System.out.println(z); //128.0 char c2 = 'A';//定义一个char类型 int i2 = c2+1;//char 类型和 int 类型计算 System.out.println("char类型和int计算后的值等于"+i2);//66 //c2 的值为字符 A ,查 ASCII 码表可知对应的 int 类型值为65,所以i2=65+1=66。 }
3、在类型转换时需要注意:
-
不能对布尔值进行转换;
-
不能把对象类型转换为不相干的类型;
-
在把高容量转换到低容量的时候,强制转换;
-
转换的时候可能存在内存溢出,或者精度问题!
-
转换不会四舍五入,而是直接抹去小数位;
-
操作比较大的数时,要留意是否溢出,尤其是整数操作时,
【演示】
public static void main(String[] args) { //操作比较大的数的时候,注意溢出问题 //JDK7新特性,数字之间可以用下划线分割 int money1 = 1000000000; //int money1 = 100000000000; 溢出了 int money2 = 1_000_000_000; System.out.println(money1); System.out.println(money2); int years1 = 20; int total1 = money1 * years1; //输出结果为:-1474836480,计算的时候溢出了 long total01 = money1 * years1; //money1 * years1默认是int,这行相当于把上面一行的结果转换为long,结果还是错的 long total02 = money1 * (long)years1; //正确写法 System.out.println(total1); //-1474836480 System.out.println(total01); //-1474836480 System.out.println(total02); //20000000000 } }
;
本文是学习狂神老师的课程时做的笔记,部分内容参考了狂神老师的视频和随笔
狂神老师课程链接:https://www.kuangstudy.com/
这篇关于Java类型转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04敏捷管理与看板工具:提升研发、设计、电商团队工作效率的利器
- 2025-01-04智慧养老管理工具如何重塑养老生态?
- 2025-01-04如何打造高绩效销售团队:工具与管理方法的结合
- 2025-01-04解决电商团队协作难题,在线文档工具助力高效沟通
- 2025-01-04春节超市管理工具:解锁高效运营与顾客满意度的双重密码
- 2025-01-046种主流销售预测模型:如何根据场景选用最佳方案
- 2025-01-04外贸服务透明化:增强客户信任与合作的最佳实践
- 2025-01-04重新定义电商团队协作:在线文档工具的战略作用
- 2025-01-04Easysearch Java SDK 2.0.x 使用指南(三)
- 2025-01-04百万架构师第八课:设计模式:设计模式容易混淆的几个对比|JavaGuide