栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

运算符--逻辑运算符

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

运算符--逻辑运算符

逻辑运算符

特点:逻辑运算符两边一般是boolean类型的数据或者是表达式。

总结:&,|,^,!
  • &逻辑与运算符:左右两边有一个是false ,则输出结果为false。
  • | 逻辑或运算符:左右两边有一个是true,则输出结果为true。
  • ^ 逻辑异或运算符:左右两边Boolean类型相同,输出结果为是false,左右两边Boolean类型不相同,输出结果为是true。
  • ! 逻辑非运算符:将Boolean类型的值取反,并输出。(true变成false,false变成true)
程序举例
public class OptLuoJiDemo1 {

public static void main(String[] args) {

int a = 3;

int b = 4;

int c = 5;

 // & 逻辑与运算

System.out.println((a>c) & (a>b));        // false & false = false

System.out.println((a>b) & (ac));        // true & false = false

System.out.println((ac) | (a>b));          // false | false = false

System.out.println((a>b) | (ac));          // true | false = true

System.out.println((ac) ^ (a>b));         // false ^ false = false

System.out.println((a>b) ^ (ac));         // true ^ false = true

System.out.println((ac)));      // true ^ false = true

System.out.println(!((a 
 总结:&&,|| 
 
  • &&逻辑双与运算符(又称为短路与):1、单纯从输出结果上来看,&&与&的结果是一样的。2、&&左边如果是false,输出结果就是false,不会执行右边的内容。
  • ||逻辑双或运算符(又称为短路或):1、单纯从输出结果上来看,|| 与 | 的结果是一样的。2、||  左边如果为true的时候,输出结果就是true,不会执行右边的内容。
程序举例
public class OptLuojiDemo2 {
public static void main(String[] args) {
int a = 3;
int b = 4;
int c = 5;

System.out.println((a>c) & (a>b));      // false & false = false
System.out.println((a>b) & (ac));      // true & false = false
System.out.println((a c) && (a > b));      // false && false = false
System.out.println((a > b) && (a < c));      // false && true = false
System.out.println((a < b) && (a > c));      // true && false = false
System.out.println((a < b) && (a < c));      // true && true = true

 

int x = 3;
int y = 4;

 

boolean bool1 = ((x++ == 3) & (y++ ==4));
System.out.println(bool1);                                 // & 两边都是true,所以输出结果bool1为true。
System.out.println(x);                                        //  ++在x后面,所以先做关系运算符==,之后在自增1。x输出结果为4。
System.out.println(y);                                       //同理

boolean bool2 = ((x++ == 5) && (y++ ==4));    
System.out.println(bool2);                                 // && 输出Boolean类型的结果和 & 一样。false && true➡false。
System.out.println(x);                                        //  ++在x后面,所以先做关系运算符==,之后在自增1。x输出结果为4。
System.out.println(y);                                        // && 左边值为false ,所以右边内容不执行。输出y=4。

boolean bool3 = ((x++ == 5) | (y++ ==4));
System.out.println(bool3);                               //  |  左边是false ,右边是true。所以输出结果为true。
System.out.println(x);                                      //输出x=4
System.out.println(y);                                      //输出y=5

boolean bool4 = ((x++ == 3) || (y++ == 8));
System.out.println(bool4);                              //   ||  左边是true,右边是false。所以输出结果是true。
System.out.println(x);                                     //输出x=4
System.out.println(y);                                     //  因为 || 左边结果是true,所以右边内容不执行。输出y=4。

}
}
注意:

在Java中不可以写成33 & x<6。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1034346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号