Java基础-逻辑运算符Logic Operators
Java基础-逻辑运算符Logic Operators
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.逻辑运算符
逻辑运算符是对布尔值进行操作运算的,常见的有:
1>.逻辑与(&);
2>.逻辑或(|);
3>.逻辑异或(^);
4>.逻辑非(!);
5>.短路与(&&);
6>.短路或(||);
总结规律如下:
1>."&":只有两个操作数都是true,结果才是true,其余都是false;
2>."|":只要有一个操作数是true,结果就是true,其余都是false;
3>."!":取反,true变false,false变true;
4>.单操作数的只有一个;
5>.异或的含义:求异,只有两个操作数不同,整个表达式才为true;
二.案例展示
1>.逻辑运算符的操作数与布尔值
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 public class LogicDome{ 8 public static void main(String[] args){ 9 10 //逻辑运算符的操作数与布尔值 11 System.out.println( true & true ); //true 12 System.out.println( false | true ); //true 13 System.out.println( true ^ false ); //true 14 System.out.println( true ^ true ); //false 15 System.out.println( !true ); //false 16 System.out.println( !false ); //true 17 18 } 19 }
2>.短路与&&,操作结果与逻辑&一样(推荐使用)
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 public class LogicDome2{ 8 public static void main(String[] args){ 9 10 //短路与&&,操作结果与逻辑&一样 11 int num = 2018; 12 System.out.println( (num < 0) & ( ++num > 0) ); //false 13 System.out.println( num ); //2019 14 15 //短路与&&,如果左侧表达式为false,不计算右侧表达式的值了 16 num = 18; 17 System.out.println( (num < 0) && ( ++num > 0) ); //false 18 System.out.println( num ); //18 19 } 20 }
3>.短路或||,如果左侧为true,不计算右侧表达式的值了(推荐使用)
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 public class LogicDome3{ 8 public static void main(String[] args){ 9 10 //短路与||,如果左侧为true,不计算右侧表达式的值了 11 int num = 2018; 12 System.out.println( (num > 0) || ( ++num > 0) ); //false 13 System.out.println( num ); //2018 14 15 } 16 }
4>.逻辑运算符经常用于链接多个布尔表达式
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 public class LogicDome4{ 8 public static void main(String[] args){ 9 10 //逻辑运算符经常用于链接多个布尔表达式 11 int year = 2018; 12 13 /** 14 判断某一年是否为闰年: 15 能被4整除但是不能被100整除 || 直接能被400整除 16 (能被4整除 && 不能被100整除) || 直接能被400整除 17 (year%4==0 && year%100!=0) || year%400==0; 18 */ 19 20 boolean isPrime = (year%4==0 && year%100!=0) || year%400==0; //false 21 22 System.out.println( isPrime); 23 24 } 25 }
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。
欢迎交流学习技术交流,个人微信: "JasonYin2020"(添加时请备注来源及意图备注)
作者: 尹正杰, 博客: https://www.cnblogs.com/yinzhengjie/p/8688081.html