Java教程

Java操作符复习(4)逻辑操作符

本文主要是介绍Java操作符复习(4)逻辑操作符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java操作符复习(4)逻辑操作符

一、长路与和短路与

无论长路与还是短路与,两边的运算单元都是布尔值
都为真时,才为真;任意为假,就为假。
区别:
长路与 两侧,都会被运算
短路与 只要第一个是false,第二个就不进行运算了。

image-20210704184821298

/**
 * FileName:      Demo01.java
 * @Description: TODO(用一句话描述该文件做什么)
 * All rights Reserved, Designed By Gujiakai
 * Copyright:    Copyright(C) 2021-2022
 * Company       Nanjing Xiaozhuang University
 * @author:      Gu Jiakai
 * @version      V1.0 
 * Createdate:   2021年7月4日 下午6:49:27 
 *
 * Modification  History
 * Date         Author        Version        Discription
 * -----------------------------------------------------------------------------------
 * 2021年7月4日      Jaya          1.0             1.0
 * Why & What is modified: <修改原因描述>
 */
package LogicOperator;

/**
 * @ClassName:      Demo01.java
 * @Description:    TODO(用一句话描述该文件做什么) 
 * @author          Gu jiakai
 * @version         V1.0  
 * @Date            2021年7月4日 下午6:49:27  
 */
public class Demo01 {
public static void main(String[] args) {
	int i=2;
	System.out.println(i==1&i++==2);//flase。
	System.out.println(i);//3。
	
	int j=2;
	System.out.println(j==1&&j++==2);//flase。
	System.out.println(j);//2。
}
}

//result:
//false
//3
//false
//2

二、示例2:长路或和短路或

无论长路或还是短路或,两边的运算单元都是布尔值。
都为假时,才为假;任意为真,就为真。
区别:
长路或 两侧都会被运算,
短路或 只要第一个是true的,第二个就不进行运算了。

image-20210704185435802

/**
 * FileName:      Demo02.java
 * @Description: TODO(用一句话描述该文件做什么)
 * All rights Reserved, Designed By Gujiakai
 * Copyright:    Copyright(C) 2021-2022
 * Company       Nanjing Xiaozhuang University
 * @author:      Gu Jiakai
 * @version      V1.0 
 * Createdate:   2021年7月4日 下午6:54:58 
 *
 * Modification  History
 * Date         Author        Version        Discription
 * -----------------------------------------------------------------------------------
 * 2021年7月4日      Jaya          1.0             1.0
 * Why & What is modified: <修改原因描述>
 */
package LogicOperator;

/**
 * @ClassName:      Demo02.java
 * @Description:    TODO(用一句话描述该文件做什么) 
 * @author          Gu jiakai
 * @version         V1.0  
 * @Date            2021年7月4日 下午6:54:58  
 */
public class Demo02 {
public static void main(String[] args) {
	int i=2;
	System.out.println(i==1|i++==2);
	//**true。i++==2,先比较i是否和2相等,再进行自增运算。
	//即i++==2,++i==2,前者是先运算再自增,后者是先自增再运算。
	System.out.println(i);//3。
	
	int j=2;
	System.out.println(j==2||j++==2);//true。
	System.out.println(j);//2。
}
}

//result:
//true
//3
//true
//2

三、示例3:取反

取反!
真变为假,假变为真。

/**
 * FileName:      Negation.java
 * @Description: TODO(用一句话描述该文件做什么)
 * All rights Reserved, Designed By Gujiakai
 * Copyright:    Copyright(C) 2021-2022
 * Company       Nanjing Xiaozhuang University
 * @author:      Gu Jiakai
 * @version      V1.0 
 * Createdate:   2021年7月4日 下午7:02:56 
 *
 * Modification  History
 * Date         Author        Version        Discription
 * -----------------------------------------------------------------------------------
 * 2021年7月4日      Jaya          1.0             1.0
 * Why & What is modified: <修改原因描述>
 */
package LogicOperator;

/**
 * @ClassName:      Negation.java
 * @Description:    TODO(用一句话描述该文件做什么) 
 * @author          Gu jiakai
 * @version         V1.0  
 * @Date            2021年7月4日 下午7:02:56  
 */
public class Negation {
public static void main(String[] args) {
	boolean b=true;
	
	System.out.println(b);//true。
	System.out.println(!b);//false。
}
}

//result:
//true
//false

四、示例4:异或

异或^
不同,返回真;
相同,返回假。

image-20210704190501193

/**
 * FileName:      Xor.java
 * @Description: TODO(用一句话描述该文件做什么)
 * All rights Reserved, Designed By Gujiakai
 * Copyright:    Copyright(C) 2021-2022
 * Company       Nanjing Xiaozhuang University
 * @author:      Gu Jiakai
 * @version      V1.0 
 * Createdate:   2021年7月4日 下午7:05:53 
 *
 * Modification  History
 * Date         Author        Version        Discription
 * -----------------------------------------------------------------------------------
 * 2021年7月4日      Jaya          1.0             1.0
 * Why & What is modified: <修改原因描述>
 */
package LogicOperator;

/**
 * @ClassName:      Xor.java
 * @Description:    TODO(用一句话描述该文件做什么) 
 * @author          Gu jiakai
 * @version         V1.0  
 * @Date            2021年7月4日 下午7:05:53  
 */
public class Xor {
public static void main(String[] args) {
	boolean a=true;
	boolean b=false;
	
	System.out.println(a^b);//true。
	System.out.println(a^!b);//false。
}
}

//result:
//true
//false

五、示例5:练习-逻辑操作符

/**
 * FileName:      Exercise_LogicOperator.java
 * @Description: TODO(用一句话描述该文件做什么)
 * All rights Reserved, Designed By Gujiakai
 * Copyright:    Copyright(C) 2021-2022
 * Company       Nanjing Xiaozhuang University
 * @author:      Gu Jiakai
 * @version      V1.0 
 * Createdate:   2021年7月4日 下午7:08:18 
 *
 * Modification  History
 * Date         Author        Version        Discription
 * -----------------------------------------------------------------------------------
 * 2021年7月4日      Jaya          1.0             1.0
 * Why & What is modified: <修改原因描述>
 */
package LogicOperator;

/**
 * @ClassName:      Exercise_LogicOperator.java
 * @Description:    TODO(用一句话描述该文件做什么) 
 * @author          Gu jiakai
 * @version         V1.0  
 * @Date            2021年7月4日 下午7:08:18  
 */
public class Exercise_LogicOperator {
public static void main(String[] args) {
	int i=1;
//	错误:true^true&&true=true。
	boolean b=!(i++==3)^(i++==2)&&(i++==3);
	System.out.println(b);
	System.out.println(i);//错误:4。
//	错因分析:&&是短路与,只要第一个为假,第二个就不计算,
//	因此输出结果为false和3。
}
}

//result:
//false
//3

六、参考答案

略。

这篇关于Java操作符复习(4)逻辑操作符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!