【JAVA基础08】—— 关系运算符与逻辑运算符详解(附面试例题)
Java基础关系运算符与逻辑运算符详解附面试例题一、先搞懂关系运算符比较运算符关系运算符用于比较两个值的关系结果永远是boolean类型true/false是逻辑判断的基础。1. 常用关系运算符共 6 个运算符作用示例结果判断两个值是否相等5 3false!判断两个值是否不相等5 ! 3true左边是否大于右边5 3true左边是否小于右边5 false左边是否大于等于右边5 5true左边是否小于等于右边5false2. 关键注意点踩坑必看❌ 不要把写成是比较是赋值比如if (a 5)是错误的会把 5 赋值给 a永远返回 true。✅ 引用类型比较比较的是「内存地址」如果要比较内容比如字符串需用equals()方法例abc.equals(def)。3. 关系运算符例题public class RelationalTest { #x20; public static void main(String\[] args) { #x20; int a 8; #x20; int b 8; #x20; String s1 java; #x20; String s2 new String(java); #x20; #x20; #x20; System.out.println(a b); // 结果true基本类型比较值 #x20; System.out.println(a ! b 1); // 结果true8 ! 9 #x20; System.out.println(s1 s2); // 结果false引用类型比较地址 #x20; System.out.println(s1.equals(s2)); // 结果true比较字符串内容 #x20; } }二、重点掌握逻辑运算符布尔运算符逻辑运算符用于连接多个布尔表达式结果也为boolean类型核心分为「逻辑与」「逻辑或」「逻辑非」三类其中「短路特性」是面试高频考点。1. 常用逻辑运算符共 6 个运算符名称作用短路特性短路与两边都为 true结果才为 true左边 false→右边不执行不短路与两边都为 true结果才为 true两边必执行短路或不短路或只要一边为 true结果就为 true!逻辑非取反true→falsefalse→true无^异或两边结果不同才为 true两边必执行2. 核心区别短路 vs 不短路面试必考短路运算符、||优先判断左边能确定结果时直接跳过右边效率更高。不短路运算符、|不管左边结果如何右边一定会执行适用于需要两边都运算的场景。3. 逻辑运算符例题带解析例题 1短路与vs 不短路与public class LogicalAndTest { #x20; public static void main(String\[] args) { #x20; int x 10; #x20; // 短路与左边(x20)为false右边(x--)不执行 #x20; boolean res1 (x 20) (x-- 5); #x20; System.out.println(res1: res1 , x: x); // 结果res1: false, x: 10 #x20; int y 10; #x20; // 不短路与左边(y20)为false右边(y--)仍执行 #x20; boolean res2 (y 20) (y-- 5); #x20; System.out.println(res2: res2 , y: y); // 结果res2: false, y: 9 #x20; } }例题 2短路或||vs 不短路或|public class LogicalOrTest { #x20; public static void main(String\[] args) { #x20; int m 5; #x20; // 短路或左边(m)为true右边(m)不执行 #x20; boolean res3 (m 10) || (m 8); #x20; System.out.println(res3: res3 , m: m); // 结果res3: true, m: 5 #x20; int n 5; #x20; // 不短路或左边(n0)为true右边(n)仍执行 #x20; boolean res4 (n (n 8); #x20; System.out.println(res4: res4 , n: n); // 结果res4: true, n: 6 #x20; } }例题 3逻辑非!与异或^public class LogicalOtherTest { #x20; public static void main(String\[] args) { #x20; boolean flag true; #x20; System.out.println(!flag); // 结果false取反 #x20; boolean a true; #x20; boolean b false; #x20; System.out.println(a ^ b); // 结果true两边不同 #x20; System.out.println(a ^ a); // 结果false两边相同 #x20; } }三、实战场景关系 逻辑运算符组合使用实际开发中关系运算符和逻辑运算符常结合使用比如条件判断、循环控制例public class CombineTest { #x20; public static void main(String\[] args) { #x20; // 需求判断成绩是否在\[60, 100]之间 #x20; int score 85; #x20; boolean isPass (score 60) (score 0); #x20; System.out.println(是否及格 isPass); // 结果true #x20; // 需求判断数字是否小于0或大于100 #x20; int num 105; #x20; boolean isOutRange (num || (num 100); #x20; System.out.println(是否超出范围 isOutRange); // 结果true #x20; } }四、高频考点总结关系运算符的结果是boolean类型与不可混用短路运算符、||是面试重点记住左假右不执||左真右不执引用类型比较内容用equals()比较地址用异或^的特点两边相同为 false不同为 true可用于交换变量等场景。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2414198.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!