java中|和||的使用和区别「建议收藏」

java中|和||的使用和区别「建议收藏」区别||为逻辑运算符,而|为位运算符。位运算可以进行进行int数的或运算。例:4|1=54写作二进制数1001写作二进制数001做或运算得出101即5||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。我们定义一个链表classListNode{intval;ListNodenext;ListNode(intx){val=x;}}Lis

大家好,又见面了,我是你们的朋友全栈君。

区别

  1. || 为逻辑运算符,而 | 为位运算符。

      位运算可以进行进行int数的或运算。
      例:4|1=5
      4写作二进制数 1 0 0
      1写作二进制数 0 0 1
      做或运算得出  1 0 1   即5
    
  2. || 只要满足第一个条件,后面的条件就不再判断,而 | 要对所有的条件进行判断。

    我们定义一个链表

    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.net/157165.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php递归算法经典实例_递归算法1加到100

    php递归算法经典实例_递归算法1加到100在前面的文章《PHP递归算法(一)》中,我们为大家介绍了如何利用静态变量的方法来实现递归算法。本篇文章我们就继续为大家介绍另一种实现递归算法的方法即通过全局变量的方法。下面我们结合代码示例,为大家介绍通过全局变量Global实现递归的方法。代码如下:…

    2022年8月11日
    5
  • JFinal

    JFinal

    2021年9月2日
    77
  • listView1.Items.Add()与 listView1.Items[i].SubItems.Add()区别

    listView1.Items.Add()与 listView1.Items[i].SubItems.Add()区别listView1.Items是ListViewItem的集合打开资源管理器,看看windows目录,使用Details方式,一个ListViewItem就是一行,比如目录名称,修改时间,类型,大小,这整个一条记录是一个ListViewItem而listView1.Items[i].SubItems是ListViewSubItem的集合比如刚才的目录名称或

    2022年7月26日
    6
  • java 二维数组排序

    java 二维数组排序①使用Comparator生成一个比较器对象初始化数组:int[][]arr=newint[m][n];排序规则:先按数组的第一个元素进行升序排序,若第一个元素相等,则按照第二个元素进行升序排序。使用API:Arrays.sort()(T[]a,Comparator<?superT>c),该API根据给定的比较器(设定排序方式)对指定的数组进行排序。代码实现:Arrays.sort(arr,newComparator<int[]>(){

    2022年6月5日
    37
  • 互联网日报 | 4月28日 星期三 | 创维汽车品牌正式发布;Redmi正式进军游戏手机;网宿科技旗下云计算业务独立运营

    互联网日报 | 4月28日 星期三 | 创维汽车品牌正式发布;Redmi正式进军游戏手机;网宿科技旗下云计算业务独立运营今日看点✦腾讯:永久免费开放可疑黑灰产微信帐号反馈入口✦Redmi首款游戏手机RedmiK40游戏增强版发布,1999元起售✦天美汽车正式更名为创维汽车,创维汽车ET5正式发布✦…

    2022年6月7日
    43
  • javascript 如何添加元素

    javascript 如何添加元素//利用concatfunctionprepend(arr,item){return[item].concat(arr);}//使用push.applyfunctionprepend(arr,item){varnewArr=[item];[].push.apply(newArr,arr);returnnewArr;}//利用slice+unshift/splicefunctionprepend(arr,item){v.

    2022年6月22日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号