跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换
Posted 黑马程序员官方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换相关的知识,希望对你有一定的参考价值。
更多Java全套学习资源均在专栏,持续更新中↑↑戳进去领取~
🍅2022年全新Java学习路线图,含源码+笔记,另附在职提升课
🍅跟我20天学Java:01-计算机基础以及JDK、IDEA等安装详解
🍉Maven简介以及手把手教你下载安装
更多内容加急更新,从安装开始学起来👼
文章目录
学习目标
我们从项目管理工具开始学起来如果你们还想回顾Java等等相关内容欢迎关注上方专栏!!!
本文学习目标:
什么是自动类型转换,为什么要学习自动类型转换?
一、什么是自动类型转换,为什么要学习自动类型转换?
类型范围小的变量,可以直接赋值给类型范围大的变量。
总结
为什么要进行类型转换?
存在不同类型的变量赋值给其他类型的变量
自动类型转换是什么样的?
类型范围小的变量,可以直接赋值给类型范围大的变量。
二、表达式的自动类型转换
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。
注意事项:
表达式的最终结果类型由表达式中的最高类型决定。
在表达式中,byte、short、char 是直接转换成int类型参与运算的。
总结
表达式的自动类型转换是什么样的?
小范围的类型会自动转换成大范围的类型运算。
表达式的最终结果类型是由谁决定的?
最终类型由表达式中的最高类型决定。
表达式的有哪些类型转换是需要注意的?
byte short char是直接转换成int类型参与运算的。
三、强制转化类型
场景
int a = 功能1();
功能2(byte b);
int a = 20;
byte b = a; //报错
问题:类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错。
强制类型转换
可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
数据类型 变量2 = (数据类型)变量1、数据
int a = 20;
byte b = (byte)a;
强制类型转换底层原理
注意事项
强制类型转换可能造成数据(丢失)溢出;
浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
总结
以上是关于跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换的主要内容,如果未能解决你的问题,请参考以下文章