Java基础系列(10)- 类型转换
2023-02-18 16:24:04 时间
类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。运算中,不同类型的数据先转换为同一类型,然后进行运算。
低 -------------------------------------------------------------- 高
byte,short,char ---> int ---> long ---> float ---> double
类型转换常见有两种:强制转换和自动转换
- 由低到高自动转换
- 由高到低需要强制转换
强制转换
// 强制转换 由高到低 (类型)变量名 int i = 128; byte b = (byte) i; // 内存溢出,byte型最大是127 System.out.println(i); System.out.println(b);
自动转换
// 自动转换 低到高 int a = 13; double a1 = a; System.out.println("=============↓↓↓↓自动转换↓↓↓↓================="); System.out.println(a); System.out.println(a1);
注意点
/* 注意点 1.不能对布尔类型进行转换 2.不能把对象类型转换为不相干的类型 3.在把高容量转换到低容量的时候,强制转换 4.转换的时候可能出现内存溢出,或者精度问题 */ System.out.println("=============↓↓↓↓高到低精度损失↓↓↓↓================="); System.out.println((int)23.7); System.out.println((int)-45.85f);
// JDK7以后新特性,数字之间可以用下划线分隔,便于书写 // 计算时要注意内存溢出问题,如下 System.out.println("=============↓↓↓↓注意点:内存溢出↓↓↓↓================="); int money = 10_0000_0000; int year = 20; int total = money * year; System.out.println(total); // 内存溢出 System.out.println((long)total); // 强转为long依旧不行,说明溢出在int 给total之前就已经发生了 long total1=money * (long)year; System.out.println(total1);
相关文章
- 旅游公司招聘Java工程师
- 专业化音频编辑处理软件——AU au软件全版本下载
- Audition 2021 For Mac软件安装教程 au软件全版本下载
- Audition 2019 For Mac软件安装教程 AU软件全版本下载
- Audition 2018 For Mac软件安装教程 AU软件全版本下载
- 专业音频 Adobe Audition 2022.6 for Mac 中文版 免费下载
- 2022-12-25:etcd可以完全替代zookeeper,原因是k8s用的etcd,不用担心不成熟。请问etcd部署在k3s中,yaml如何写?
- 微信开放平台之第三方平台开发,从哪里入手?
- Angular Feature Modules
- ?【设计模式】观察者模式
- ?【设计模式】代理模式
- ?【设计模式】建造者模式
- ?【设计模式】模板方法模式
- ?【设计模式】策略模式
- Canvas实时回显和录制
- TypeScript方法装饰器应用
- 【程序设计】6大设计原则之单一职责
- 【程序设计】6大设计原则之接口隔离原则
- 【程序设计】6大设计原则之依赖倒置
- TypeScript泛型应用