知道了八种基本数据类型后,在使用中弄清运算符的优先级是很有必要的。具体如下图:
这里需要注意的是,强制类型转换的优先级是位于乘除前面而处于单目运算符后面的,这是比较容易出错的地方。比如用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;这说明“后缀”形式是先赋值然后才进行自增操作的,而“前缀”形式是先自增操作,而后赋值的。