Java⾥的常⽤运算符及其优先级顺序
知道了⼋种基本数据类型后,在使⽤中弄清运算符的优先级是很有必要的。具体如下图:
这⾥需要注意的是,强制类型转换的优先级是位于乘除前⾯⽽处于单⽬运算符后⾯的,这是⽐较容易出错的地⽅。⽐如⽤Math.Random()获取5个10以内的整数。采⽤如下代码:
1 int[] a=new int[5];2 for(int i=0;i<5;i++)3 {
4 a[i]=(int)Math.random()*10;5 }
6 System.out.println(Arrays.toString(a));
这时控制台上会输出5个0,这是因为强制类型转换的优先级是⽐乘除⾼的,先向下取整然后进⾏乘除运算。另外还需要注意⾃增⾃减运算符的“前缀”和“后缀”形式,赋值或输出时结果是不同的,如:
int a=0; int b=0;
System.out.println(a++); System.out.println(++b);
输出结果为0,1;这说明“后缀”形式是先赋值然后才进⾏⾃增操作的,⽽“前缀”形式是先⾃增操作,⽽后赋值的。