• 解析java中逻辑运算符、自增(自减)运算符、三目运算符


    解析java中逻辑运算符、自增(自减)运算符、三目运算符

    A.逻辑运算符

    a.语法

    表达式1 逻辑运算符 表达式2

    表达式1和表达式2的结果都必须是布尔类型

    b.逻辑运算符的四种情况

    b.1 &&(短路与)

    语法

    表达式1&&表达式2

    规则

    规则1:只有当表达式1和表达式2的结果都为true,&&的最终结果才会为true

    规则2:当表达式1结果为false时,表达式2不会去执行,&&的最终结果为false

    规则3:表达式1、表达式2的结果中至少有一个为false时,那么&&的最终结果必然是false

    接下来我们去验证一下规则2----表达式2到底执不执行???
    示例代码如下所示:

    public class Test {
    	public static void main(String[] args) {
    	   int m=9,n=8;
    	   boolean result=m<8&&n++>5;
    	   System.out.print("&&的最终结果为: "+result);
    	   System.out.print("n的值为: "+n);
    //	   如果表达式2不执行的话,那么n=8,若执行n=9;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    示例代码运行截图如下所示:
    在这里插入图片描述

    b.2 &(普通与)

    语法

    表达式1&表达式2

    规则

    规则1:只有当表达式1和表达式2的结果都为true,&的最终结果才会为true

    规则2:当表达式1结果为false时,表达式2也还是会去执行,&的最终结果为false

    规则3:表达式1、表达式2的结果中至少有一个为false时,那么&的最终结果必然是false

    接下来我们去验证一下规则2----表达式2到底执不执行???
    示例代码如下所示:

    public class Test {
    	public static void main(String[] args) {
    	   int m=9,n=8;
    	   boolean result=m<8&n++>5;
    	   System.out.print("&的最终结果为: "+result);
    	   System.out.print("n的值为: "+n);
    //	   如果表达式2不执行的话,那么n=8,若执行n=9;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    示例代码运行截图如下所示:
    在这里插入图片描述

    b.3 ||(短路或)

    语法

    表达式1||表达式2

    规则

    规则1:只有当表达式1和表达式2的结果都为false,&&的最终结果才会为false

    规则2:当表达式1结果为true时,表达式2不会去执行,||的最终结果为true

    规则3:表达式1、表达式2的结果中至少有一个为true时,那么||的最终结果必然是true

    接下来我们去验证一下规则2----表达式2到底执不执行???
    示例代码如下所示:

    public class Test {
    	public static void main(String[] args) {
    	   int r=9,s=8;
    	   boolean result=r<100||s++>5;
    	   System.out.println("||的最终结果为: "+result);
    	   System.out.print("s的值为: "+s);
    //	   如果表达式2不执行的话,那么s=8,若执行s=9;
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    示例代码运行截图如下所示:
    在这里插入图片描述

    b.4 |(普通或)

    语法

    表达式1|表达式2

    规则

    规则1:只有当表达式1和表达式2的结果都为false,|的最终结果才会为false

    规则2:当表达式1结果为true时,表达式2也还是会去执行,|的最终结果为true

    规则3:表达式1、表达式2的结果中至少有一个为true时,那么&的最终结果必然是true

    接下来我们去验证一下规则2----表达式2到底执不执行???
    示例代码如下所示:

    public class Test {
    	public static void main(String[] args) {
    	   int r=9,s=8;
    	   boolean result=r<100|s++>5;
    	   System.out.println("|的最终结果为: "+result);
    	   System.out.print("s的值为: "+s);
    //	   如果表达式2不执行的话,那么s=8,若执行s=9;
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    示例代码运行截图如下所示:
    在这里插入图片描述

    B.自增(自减)运算符

    1.++在前

    规则:++在前,先加后用

    解释:就是先把数加1,然后再去执行当前操作,执行完当前操作后数字还是会加上1

    示例代码如下所示:

    public class Test {
    	public static void main(String[] args) {
    	   int r=9,s=8;
    	   System.out.println("++r的最终结果为: "+(++r));
    //先加再用,因此此时会打印10
    	   System.out.println("执行完++r操作后, r的结果为: "+r);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    示例代码运行截图如下所示:
    在这里插入图片描述

    2.++在后

    规则:++在后,先用后加

    解释:就是先把执行当前操作,执行完当前操作后数字才会加上1

    示例代码如下所示:

    public class Test {
    	public static void main(String[] args) {
    		  int r=9,s=8;
    		   System.out.println("r++的最终结果为: "+(r++));
    //先用再加,因此此时会打印9
    		   System.out.println("执行完r++操作后, r的结果为: "+r);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    示例代码运行截图如下所示:
    在这里插入图片描述

    3.- -在前

    规则**:- -在前(变量前),先减后用**

    解释:就是先把数减1,然后再去执行当前操作

    示例代码如下所示:

    public class Test {
    	public static void main(String[] args) {
    		  int r=9,s=8;
    		   System.out.println("--r的最终结果为: "+(--r));
    //		   先减后执行当前操作,会打印8
    		   System.out.println("执行完--r操作后, r的结果为: "+r);
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    示例代码运行截图如下所示:
    在这里插入图片描述

    2.- -在后

    规则:- -在后,先用后减

    解释:就是先执行完当前操作,执行完当前操作后数字才会减去1

    示例代码如下所示:

    public class Test {
    	public static void main(String[] args) {
    		  int r=9,s=8;
    		   System.out.println("r--的最终结果为: "+(r--));
    //		   先减后执行当前操作,会打印8
    		   System.out.println("执行完r--操作后, r的结果为: "+r);
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    示例代码运行截图如下所示:
    在这里插入图片描述

    C.三目运算符

    语法:表达式1?表达式2:表达式3;

    规则:当表达式1的结果为true时,返回表达式2的结果

    ​ 当表达式1的结果为false时,返回表达式3的结果

    示例代码如下所示:

    public class Test02{
    	public static void main(String[] args) {
    		int a=10,b=90;
    		int max=a>b?a:b;
            //因为a<b所以表达式1的结果为false,返回表达式3的结果,即max的值为b
            //int min=a<b?a:b;
    		System.out.println("max的值为: "+max);
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    示例代码运行截图如下所示:
    在这里插入图片描述

  • 相关阅读:
    ant design vue:自定义锚点样式
    Python爬虫获取百度图片+重命名+帧差法获取关键帧
    iperf3交叉编译
    微信这4个功能容易暴露隐私,记得关闭
    基于Android的天气预报系统的设计与实现
    【js】map、filter、reduce、fill(待补充...)
    openresty 内置变量
    npm install常见错误的完整指南
    Golang学习——基于vscode安装go环境
    NLP教程(5) - 语言模型、RNN、GRU与LSTM
  • 原文地址:https://blog.csdn.net/SSS4362/article/details/125546340