zoukankan      html  css  js  c++  java
  • java后端学习-第一部分java基础:关系运算符和逻辑运算符

    一、关系运算符(比较运算符)

    1. 关系运算符的结果都是boolean类型,也就是说,要么是true,要么是false。
    2. 关系表达式经常用在if结构的条件中或循环结构的条件中。

    public class RelationalOperator{
    	public static void main(String[] args) {
    		int a = 9;//开发中,不可以使用a,b,c等
    		int b = 8;
    		System.out.println(a > b);//T
    		System.out.println(a >= b);//T
    		System.out.println(a <= b);//F
    		System.out.println(a < b);//F
    		System.out.println(a == b);//F
    		System.out.println(a != b);//T
    		boolean flag = a > b;//T
    		System.out.println("flag = " + flag);//T
    	}
    }
    

    • 细节说明
      1. 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。
      2. 关系运算符组成的表达式,我们称为关系表达式。 a > b
      3. 比较运算符"=="不能误写成"="

    二、逻辑运算符
    用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean 值。

    1. 短路与 && , 短路或 ||,取反 !
    2. 逻辑与 &,逻辑或 |,^ 逻辑异或

    说明逻辑运算规则:

    1. a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false。
    2. a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false。
    3. a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false。
    4. a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false。
    5. !a : 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true。
    6. a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false。
    • 短路与与逻辑与
      1. &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高。
      2. & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低。
      3. 开发中, 我们使用的基本是使用短路与&&, 效率高。
    /**
     * 演示逻辑运算符的使用
     */
    public class LogicOperator01{
    	public static void main(String[] args) {
    		//&&短路与  和 & 案例演示
    		int age = 50;
    		if(age > 20 && age < 90) {
    			System.out.println("ok100");
    		}
    
    		//&逻辑与使用
    		if(age > 20 & age < 90) {
    			System.out.println("ok200");
    		}
    
    		//区别
    		int a = 4;
    		int b = 9;
    		//对于&&短路与而言,如果第一个条件为false ,后面的条件不再判断
    		//对于&逻辑与而言,如果第一个条件为false ,后面的条件仍然会判断
    		if(a < 1 & ++b < 50) {
    			System.out.println("ok300");
    		}
    		System.out.println("a=" + a + " b=" + b);// 4 10
    
    	}
    }
    

    短路或|| 两个条件中只要有一个成立,结果为 true,否则为 false
    |逻辑或 只要有一个条件成立,结果为 true,否则为 false

    //演示 | 和||的使用
    public class LogicOperator02{
    	public static void main(String[] args) {
    		//||短路或  和 |逻辑或 案例演示
    		//|| 规则: 两个条件中只要有一个成立,结果为true,否则为false
    		//| 规则: 两个条件中只要有一个成立,结果为true,否则为false
    		int age = 50;
    		if(age > 20 || age < 30) {
    			System.out.println("ok100");
    		}
    
    		//&逻辑与使用
    		if(age > 20 | age < 30) {
    			System.out.println("ok200");
    		}
    
    		//看看区别
    		//(1)||短路或:如果第一个条件为true,
    		//则第二个条件不会判断,最终结果为true,效率高
    		//(2)| 逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低
    		int a = 4;
    		int b = 9;
    		if( a > 1 || ++b > 4) { // 可以换成 | 测试
    			System.out.println("ok300");
    		}
    		System.out.println("a=" + a + " b=" + b); //4 10
    
    	}
    }
    

    • || 和 | 使用区别

      1. ||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
      2. | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
      3. 开发中,我们基本使用 ||
    • ! 非(取反) 如果条件本身成立,结果为 false,否则为 true

    • a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false

    //! 和^案例演示
    public class InverseOperator{
    	public static void main(String[] args){
    		//! 操作是取反 T->F , F -> T
    		System.out.println(60 > 20); //T
    		System.out.println(!(60 > 20)); //F
    		//a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false
    		boolean b = (10 > 1) ^ ( 3 > 5);
    		System.out.println("b = " + b);//T
    	}
    }
    

  • 相关阅读:
    “持咒”到底是个什么东西?再论语言和思维关系
    传说中的噪声
    电源噪声(EMI)滤波器的基本原理与应用方法
    Like a rock,like the weather man【转】
    allegro笔记
    Taxicab geometry和Euclidean geometry
    hql和sql的区别
    SpringMVC与Struts2的区别
    ExtJS 学习专题如何应用ExtJS
    编程式事务和声明式事务
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/14540181.html
Copyright © 2011-2022 走看看