网站首页 > java教程 正文
在学习Java这门开发语言,和使用Java语言进行开发的时候,会使用变量进行数据的传递与计算。但是在正常的编程中,不同的数据类型在进行计算的时候会出现问题。
比如上面的程序,还没有运行就被报错了,这个只是就涉及到我今天要给大家讲的数据类型的转换了。
在Java中,数据类型的转换分为自动转换与强制转换。
自动转换
自动转换,就是取值范围小的类型会自动提升为取值范围大的类型。
比如这样,上面的程序就不会报错,而且程序运行也会通过,也会得出正确的结果。
转换原理:
double类型占据8个字节,int类型只占据4个字节。在计算时,int类型会自动提升为double类型,自动补充4个字节,因此计算后的结果还是double类型。
转换规则:
范围小的类型向范围大的类型提升。
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
强制转换
当把一个不属于当前数据类型范围的值赋值给该数据类型时,在编译阶段就会报错。比如:
int i2 = 1.5;
double类型内存占用8个字节,int类型占用4个字节。1.5是double类型,占用内存超过int的内存范围。想把一个大杯子放到一个小杯子里,这是完全说不通的。
想要让这段代码成功的话,只有进行强制类型转换,把double类强制转换为int类型才能进行赋值。格式如下:
转换原理:
对需要进行强制转换的数据类型进行内存的强制增加或者删除。
注意:
- 浮点型转化为整数型,直接取消小数点后的数字,可能造成数据损失,影响精准度
总结:
Java学习中,数据类型的转换是每个人都需要知道的,即使不是很明白,但是也必须知道数据类型之间的内存占据大小关系。
在这里,给大家准备了一个Java的小项目——坦克大战这个小游戏,全部做完之后就可以掌握Java的基础内容,为以后的进阶打下基础吗,完成下列步骤即可获取。
- 关注小编并转发此文章
- 私信 坦克 ,领取项目代码与讲解
猜你喜欢
- 2024-11-21 Java整数和浮点数类型转换
- 2024-11-21 JavaSE基础之多态的应用场景
- 2024-11-21 第二章:Java数据类型和运算符
- 2024-11-21 int强转为byte类型么?会产生什么问题?
- 2024-11-21 Java接口&异常处理&类型转换
- 2024-11-21 详解 Java 17 中的模式匹配(Pattern Matching)
- 2024-11-21 Java基本数据类型之间的转换规则
- 2024-11-21 关于Java String 类型转换时null的问题
- 2024-11-21 [JAVA冷知识]什么是逆变与协变?数组是否支持协变&逆变?泛型呢?
- 2024-11-21 看完后让你成为武松,手把手教你打死Java中的纸老虎
你 发表评论:
欢迎- 最近发表
-
- 五,网络安全IDA Pro反汇编工具初识及逆向工程解密实战
- 「JAVA8」- Lambda 表达式(java lambda表达式原理)
- 深入探讨Java代码保护:虚拟机保护技术的新时代
- Nginx反向代理原理详解(图文全面总结)
- 逆向拆解日本IT,哪些Java技术栈薪资溢价高
- mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比
- Spring Boot集成ProGuard轻松实现Java 代码混淆, Java 应用固若金汤
- 从 Java 代码逆向工程生成 UML 类图和序列图
- 人与人相处:尊重是标配,靠谱是高配,厚道是顶配
- Windows系统安装日期如何修改(windows10怎么修改安装日期)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)