大家好,又见面了,我是你们的朋友全栈君。
区别
|| 为逻辑运算符,而 | 为位运算符。
位运算可以进行进行int数的或运算。
例:4|1=5
4写作二进制数 1 0 0
1写作二进制数 0 0 1
做或运算得出 1 0 1 即5|| 只要满足第一个条件,后面的条件就不再判断,而 | 要对所有的条件进行判断。
我们定义一个链表
class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x; }
}ListNode a=null;写出一个if判断语句,共四种写法
if(a==null|a.next==null)//1
if(a==null||a.next==null)//2
if(a.next==null|a==null)//3
if(a.next==null||a==null)//4以上四种写法中,1、3、4写法均会抛出NullPointerException异常 1. | 要对所有的条件进行判断,故在a.next == null的判断中抛出异常 2. || 只要满足第一个条件,后面的条件就不再判断,a==null满足,返回true 3. 同1的错误 4. 判断前一个条件,a.next抛出异常
以上为||和|的区别和使用,相同&和&&也可以同上思考
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157165.html原文链接:https://javaforall.cn