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;这说明“后缀”形式是先赋值然后才进行自增操作的,而“前缀”形式是先自增操作,而后赋值的。

人生如水,不争高山,自然愈下,三年又三年。——struggle!
原文地址:https://www.cnblogs.com/PersistWp/p/7352450.html