Java教程

20210906-java-运算优先级

本文主要是介绍20210906-java-运算优先级,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

从上到下优先级:

  • () 括号
  • !、+(正号)、-(负号)
  • ~ 位逻辑(取反)
  • ++、-- 自增自减
  • *、/、% 算数运算符
  • +、- 算数运算符
  • <<、>> 位移运算符
  • >、>=、 <、<= 关系运算符
  • ==、!= 关系运算符
  • & 逻辑运算符(也是位运算符)
  • ^ 逻辑运算符(也是位运算符)
  • | 逻辑运算符(也是位运算符)
  • && 逻辑运算符
  • || 逻辑运算符

注意事项:
1、& 高于 |

boolean a = true;
boolean b = false;
boolean c = true;
System.out.println(c|a&b);

如果相同优先级,从左到右的顺序,则结果是false,但&运算符优先,所以打印结果是true。

2、短路运算符&&、||
跟JavaScript一样,短路运算符如果前一个表达式已经可以判断出结果时,则不执行运算符后面的表达式。

  • && 左边=false,则&&运算结果=false;
  • || 左边=true,则||运算结果=true;
c =  false && n++==1;
System.out.println("n is "+ n);

如果非短路运算,n++会被执行,则打印结果n=1。
但如果用短路&&运算,左边判断为false就可以得出c=false,后面的n++不会被执行,打印结果是n=0。

这篇关于20210906-java-运算优先级的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!