• java入门学习(十一)逻辑运算符和位运算符


    请关注我的博客:www.taomaipin.com

    家里有急事 暂停了几天,抱歉,现在呢开始说说java的运算语句和运算符

    如果想利用java的运算语句 那么就离不开java的运算符,前面第九章讲了java的算术运算符,那么现在咱们说说java的逻辑运算符。特别强调一下

    我在这里说的是逻辑运算符而不是位运算符,至于什么是位运算符 我后面章节在说。

    java的逻辑运算符包括与、或、非,那么咱们说说这四种逻辑运算符以及在运算语句的使用。

    第一:与(&&)

    先看下面代码

    public class Test {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int a=6;
    int b=7;
    System.out.println((a==6)&&(b==7));

    System.out.println((a==6)&&(b==8));

    System.out.println((a==1)&&(b==8));

    }

    首先声明两个变量a和b 并且把6和7赋值给a和b 然后 打印出来的一定是true false false,与(&&)是判断的如果a 和b都为真 那么就是真,如果其

    中之一为假 生成的boolea值为false

    它的中文意思 你也可以这样理解且的意思 并且的意思,比如a=6&&b=7可以这样理解:a的值为6并且b的值为7或者再声明一个变量c=9;

    如果代码写成这样:System.out.println((a==6)&&(b==7)&&(c==9)); 意思是a的值为6 并且b的值为7并且c的值为9满足

    所有才会生成一个布尔值true,其中之一不满足就会生成一个布尔值false

    第二:或(||)

    先看下面代码:

    public class Test {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int a=6;
    int b=7;
    System.out.println((a==6)||(b==7));
    System.out.println((a==6)||(b==8));
    System.out.println((a==8)||(b==7));
    System.out.println((a==9)||(b==9));

    }

    打印结果为true true true false

    或的意思是只要其中一个符合 那么生成的布尔值便为true

    第三:非(!)

    首先看下面代码:

    public class Test {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int a=6;
    int b=7;
    System.out.println(a!=6);
    System.out.println(a!=12);
    System.out.println(b!=7);
    System.out.println(b!=90);

    }

    }

    打印结果是

    false
    true
    false
    true

    非的意思是和实实不符比如a实际上值为6那么我说a的值不是6 我就可以用java代码说a!=6 我说错了 程序就会给返回一个false的布尔值

    现在说说 位运算符

    &&是短路运算符,&是非短路运算符
     
    区别 例如 表达式A && B   如果A返回为false, 该表达式会直接返回false ,将不会再 对B做判断,而&则无论A为什么结果都会去对B进行判断。
     
    || 与 |的区别和上面一样,所以从效率上来讲短路运算符的效率要高于非短路运算符
    
    网上也有人这样解释我感觉非常合适:
    位运算符:
    
        包括:1。&位与符 2。|位或符 3。^位异或符 4。~位取反符
    
       以操作数12为例。位运算符将数字12视为1100。位运算符将操作数视为位而不是数值。数值
    
       可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。
    
       位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。例如:
    
       表达式10&15表示(1010 & 1111),它将返回表示1010的值10。因为真真得真,或者是11得1,同位全是1结果也是1
    
       表达式10|15表示(1010 | 1111),它将返回表示1111的值15。假假得假。全零得零。
    
       表达式10^15表示(1010 ^ 1111), 它将返回表示0101的值5。此时是同性相斥,相同的就为假。
    
       表达式~10表示(~1010),它将返回表示0101的值 -11。此号好理解,按位取反
    
    
    我的博客www.taomaipin.com


  • 相关阅读:
    LeetCode 876. 链表的中间结点
    顺序表的定义及其相关基本操作
    LeetCode 206. 反转链表
    LeetCode 111. 二叉树的最小深度
    LeetCode 700. 二叉搜索树中的搜索
    LeetCode 104. 二叉树的最大深度
    LeetCode 908. 最小差值 I
    LeetCode 728. 自除数
    LeetCode 704. 二分查找
    LeetCode 852. 山脉数组的峰顶索引 (二分)
  • 原文地址:https://www.cnblogs.com/riskyer/p/3228575.html
Copyright © 2020-2023  润新知