跟我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-自动类型转换,表达式的自动类型转换,强制类型转换的主要内容,如果未能解决你的问题,请参考以下文章

跟我20天学Java:03-6个案例手把手带你学循环结构

Java《石头迷阵02》黑马程序员官方出版万字教程+源码

Java《石头迷阵04》涉及Java全部知识点总结

Java《石头迷阵01》黑马程序员官方出版教程+源码

微服务常见面试题:答案+源码+图文详解,一篇就够了

Java《石头迷阵03》黑马程序员官方出版知识重点+笔记源码