Java里的常用运算符及其优先级顺序

Posted PersistWp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;这说明“后缀”形式是先赋值然后才进行自增操作的,而“前缀”形式是先自增操作,而后赋值的。

 

以上是关于Java里的常用运算符及其优先级顺序的主要内容,如果未能解决你的问题,请参考以下文章

逻辑运算符及其优先级,C语言逻辑运算符及其优先级详解

# Java 常用代码片段

# Java 常用代码片段

Java 表达式顺序、运算符优先级和关联性之间的区别

JAVA多线程优先级运行顺序的问题

Java运算符优先级谁知道?