计算优先级与类型的转换
在java中进行计算,使用的都是一些符号比如+-*/%等等
优先级的意思就是说比如有一个式子,里面有不同的运算符号,谁先算的问题
比入:2+3*6
在这个例子中有两个运算符“+”和“*”然后每个运算符都有两个算子,那么这里问题就是谁先算
根据我们数学学过的只是一定是先算乘除后算加减,所以在这个式子会先算3*6,然后在进行加减
就是2+18
先做乘除再算加减这就是优先级,程序中的式子是和你正常的思维一样的
a=10*6-4;
在这个例子中赋值的优先级是很低的他需要先运算出等号右边的值然后在进行赋值
单目运算符 就是只有一个算子的运算符
比如说在这里我们分别定义了两个变量a = 100,b = 10
a*+b在这里这个+b就是一个单模的运算符
我们在java当中所有的单模运算符都是最高级的所以在这这个+b会先算然后*a
结合关系
int s,h = 0;
s = a = b =h+1;
在这里是先做h+1进行计算,然后赋值给b,b赋值给a,a赋值给s依次从右到左
类型转换分为强制类型抓换和自动类型转换
自动类型转换:
把一个类型取值范围小的数值直接赋给另一个取值范围大的数据类型变量时,系统就会进行自动类型转换。 int long
int a = 10;
long b = 20;
b=a;
强制类型转换
目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要强制类型转换。Long byte
int a = 10;
long b = 20;
a=(int)b;