Java运算符优先级和表达式及数据类型转换
Posted zero澪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java运算符优先级和表达式及数据类型转换相关的知识,希望对你有一定的参考价值。
计算机程序
在处理数据时会进行大量的计算,而数据的运算则需要借助运算符和表达式来完成
。
表达式是指由操作数和运算符组成的用于完成某种运算功能的
语句
子表达式
Y = X * ( Z + 10 )
表达式
其中Y、X、Z、10 称为操作数,=、*、+ 称为运算符。
在Java语言中进行表达式求值时,同一优先级的运算符,运算次序由结合性决定,不同优先级的运算符,运算次序由优先级决定。
优先级 | 运算符 | 结合性 |
1 | () | 从左到右 |
2 | !、++、-- | 从右到左 |
3 | * 、/、 % | 从左到右 |
4 | + 、- | 从左到右 |
5 | > 、<、 >=、 <= | 从左到右 |
6 | ==、 != | 从左到右 |
7 | && | 从左到右 |
8 | || | 从左到右 |
9 | = 、+=、 -=、 *=、 /=、 %= | 从右到左 |
不同
类型的数据在进行混合运算时需要进行类型转换,即将不同类型的数据转换为同种类型的数据后再进行
计算。
针对于值类型的数据,类型转换主要包括自动类型转换和强制类型转换。
条件
1
:满足自动类型转换的条件
两种类型要兼容:
数值类型(整型和浮点型)互相兼容
目标类型大于源类型:
例如:
double
型大于
int
型
条件
2
:
操作数向大操作数类型转换,计算结果也为表达式中大操作数的
类型
强制类型转换可以将大数据类型转化为小数据类型(如将double转换为int),在转换过程中会丢失数据的精度。
以上是关于Java运算符优先级和表达式及数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章