无论长路与还是短路与,两边的运算单元都是布尔值
都为真时,才为真;任意为假,就为假。
区别:
长路与 两侧,都会被运算
短路与 只要第一个是false,第二个就不进行运算了。
/** * 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
无论长路或还是短路或,两边的运算单元都是布尔值。
都为假时,才为假;任意为真,就为真。
区别:
长路或 两侧都会被运算,
短路或 只要第一个是true的,第二个就不进行运算了。
/** * 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
取反!
真变为假,假变为真。
/** * 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
异或^
不同,返回真;
相同,返回假。
/** * 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
/** * 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
略。