Java中,&&与&;||与|的区别

时间:2024-12-26 21:04:44

  我们很多人在学习Java的时候,或者其他语言(如:C#,.Net等)都会遇到&和&&,|和||。然而,如果你没有真正理解他们的意思,这回给你的思路上带来很大的麻烦。在Java的逻辑运算中有这么四类:&&(短路与),&,|,||(短路或)。

  &&和&都表示与,区别是&&只要第一个条件不满足,后面的条件就不再判断。而&要对所有的条件都进行判断。

  看下面的程序:

  Java中,&&与&;||与|的区别

  输出的是“没有报错”。而将&&改为&就会报如下错误:

  Java中,&&与&;||与|的区别

  原因是:&&时判断第一个条件为false,后面的100/0==0这个条件就没有进行判断。&时要对所有的条件进行判断,所以会对后面的条件进行判断,所以会报错。

  ||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。

  看下面的程序:

  Java中,&&与&;||与|的区别

  此时输出“运算没有问题”。若将||改为|则会报错。

  原因是:||判断第一个条件为true,后面的条件就没有进行判断就执行了括号中的代码,而|要对所有的条件进行判断,所以会报错。