【Java学习Day10】类型转换
2024-10-21 18:51:49
类型转换
由于Java是强类型语言,所以要进行某些运算的时候,需要用到类型转换
低------------------------------------------>高
byte-->short,char-->int-->long-->float-->double
这里的低和高是指数据类型的容量高低,即字节大小,且小数的优先级一定大于整数
运算中,不同类型的数据先转换为同一类型,然后再进行运算
强制类型转换条件
- 从高容量的数据类型转换到低容量的数据类型
- 特殊的强制类型转换:byte-->char short-->char char-->short
- 公式:(类型)变量名
自动类型转换条件
- 从低容量的数据类型转换到高容量的数据类型(byte-->char除外)
- 可以自动转换,无需公式
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,需要强制转换
- 转换的时候可能存在内存溢出或精度丢失的问题
操作比较大的数的时候,注意溢出问题
public class Demo04 {
public static void main(String[] args) {
int money=10_0000_0000//JDK7的新特性:数字之间可以用下划线分割
int years=20;
int total1=money*years;//-1474836480,计算的时候出现了内存溢出的问题
long total2=money*years;//默认是int,转换之前就已经存在问题了
long total3=((long)money)*years;//先把一个数转换为long,可计算的范围便从int的范围扩大到了long的范围
long total4=money*((long)years); System.out.println(total1);
System.out.println(total2);
System.out.println(total3);
System.out.println(total4);
}
}
最新文章
- 数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇
- CozyRSS开发记录20-CanResizeWithGrip
- (四)值栈与OGNL
- html5的本地存储localStorage和sessionStorage
- Windows SVN变更发送邮件通知(JAVA实现)
- html5 canvas 运行起来绝对让你震撼!
- 2.如何搭建MQTT环境
- ASP.NET Core MVC I/O编程模型
- 从零开始学习前端开发 — 11、CSS3选择器
- python dataframe数据条件筛选
- web前端效率提升-nginx+nodejs搭建本地生态
- ASP.NET Core学习系列
- R语言︱LDA主题模型——最优主题...
- 记录新项目中遇到的技术及自己忘记的技术点【DES加密解密,MD5加密,字符串压缩、解压,字符串截取等操作】
- java(8)二重循环
- vue刷新当前路由
- Mac使用
- layui 弹窗的iframe 父子界面相互传值
- 如何配置JVM系统属性及获取方式System.getProperty(";pname";)
- 剑指Offer 58. 对称的二叉树 (二叉树)
热门文章
- 原生微信小程序的一些注意点
- react 高效高质量搭建后台系统 系列 —— 结尾
- SnakeYaml的不出网反序列化利用分析
- pytorch 衣服等
- Python中文官方文档
- 微信小程序与微信公众号之间支付问题解决方案
- 运行Java时报错:Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
- c# 在自定义类中控制form窗体中的控件 赋值或修改属性
- 【Direct3D 12】学习准备
- x-sheet 开发系列教程:初始化配置