【Java】类型转换、运算符
2022/4/28 20:12:56
本文主要是介绍【Java】类型转换、运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
类型转换
自动类型转换
类型范围小的变量,可以直接赋值给类型范围大的变量。例如:byte型数据可以直接转换成int型,而不会丢失数据。
public class TypeDemo { public static void main(String[] args) { byte a = 10; int b = a; System.out.println(a); System.out.println(b); } }
自动类型转换底层原理:
范围小的变量类型,占用二进制位数少,当将其转换成范围大的变量类型时,直接将其原有二进制数据全部保留下来,并在其前补0至满足大范围类型的二进制位数,以此来完成小类型到大类型的自动类型转换。
其它类型的自动类型转换
表达式的自动类型转换
在表达式的运算中,若既存在着大范围类型,也存在小范围类型的数据,则在进行运算时,会先将小类型的数据转换成大类型的数据,然后再进行运算。
注意:
1.表达式的最终结果由表达式中的最高类型决定;
2.在表达式中,byte、short、char是直接转换成int参与运算的,也就是在表达式中,如上三种类型是直接按照int进行运算的。
另注意:byte与byte相加,byte接收出现错误,应用int类型进行接收,原因如上。
强制类型转换
当遇到需要将大类型转换为小类型时,Java提供了强制类型转换以供完成该任务,强制类型转换可以将类型范围大的变量、数值赋值给小的变量
底层原理
当大类型需要通过强制类型转换成小类型时,大类型占用二进制位数更多,此时为了转换成小类型所需的二进制位数,需要将前边多余的二进制位“砍掉”,以此来完成强制类型转换。
但是由于该原理的操作方式,也存在着些许的问题,即当大类型数据超出小类型的范围时,强制类型转化后的结果会出现溢出或丢失。
注意:
1.强制类型转换可能会造成数据的溢出或丢失;
2.浮点类型转化成整型时,直接丢掉小数部分,保留整数部分。
运算符
算术运算符
例:
public class OperatorDemo { public static void main(String[] args) { int a = 20; int b = 3; System.out.println(a + b); //23 System.out.println(a - b); //17 System.out.println(a * b); //60 System.out.println(a / b); //6 System.out.println(a * 1.0 / b); //6.6666666666666... System.out.println(a % b); //2 } }
“+”做连接符
自增自减运算符
赋值运算符
基本赋值运算符:“=”
拓展赋值运算符
关系运算符
关系运算符是对数据进行条件判断的符号,最终会返回一个布尔值。
逻辑运算符
三目运算符
三目运算符格式:
执行流程:先执行条件表达式,得出条件表达式的结果,若为真,三目运算符的值为值1,否则为值2。
运算符优先级
这篇关于【Java】类型转换、运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26手写消息中间件:从零开始的指南
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解