逻辑运算种类
1、逻辑运算是在关系运算基础之上的运算,能处理更加复杂的问题。
2、逻辑运算的结果是true或false。
逻辑运算种类
运算种类 | 运算符号 | 运算表达式 |
与运算(长路运算) | & | 关系运算1 & 关系运算2 |
与运算(短路运算) | && | 关系运算1 && 关系运算2 |
或运算(长路运算) | | | 关系运算1 | 关系运算2 |
或运算(短路运算) | || | 关系运算1 || 关系运算2 |
非运算 | ! | !(关系运算) |
逻辑长路短路“与”运算
与运算的特点:当两个关系运算的结果都是true时,运算的结果是true,否则是false。
关系运算1 | 关系运算2 | 与运算结果 |
false | false | false |
false | true | false |
true | false | false |
true | true | true |
长路与运算
1、长路与运算的运算符号:&
2、&在两边都是整数时,是逐位与运算;在两边都是关系运算时,是逻辑运算。
3、长路与运算会把两边的关系运算结果都计算出来。
(示例:4<3 & 5*3>12)
步骤1、计算4<3,结果是false
步骤2、计算5*3<12,结果是true
步骤3、false & true,结果是false
短路与运算
1、短路与运算的运算符号:&&
2、短路与运算的特点:当运算符左边的关系运算结果是false时,不再对右边的关系运算进行计算。(能提高程序的效率,并且是安全的)
【示例】4<3 && 5*3>12
步骤1、计算4<3,结果是false
步骤2、false && 5*3>12,结果是false
逻辑长路短路“或”运算
当两个关系运算的结果有一个是true时,运算的结果是true,否则是false。
关系运算1 | 关系运算2 | 或运算结果 |
false | false | false |
false | true | true |
true | false | true |
true | true | true |
长路或运算(|)
1、长路或运算的运算符:
2、长路或运算在两边都是整数时,是逐位或运算;在两边是关系运算时,是逻辑运算。
3、长路或运算会将两边的关系运算结果都计算出来
【示例】5*3>12 | 4<3
步骤1、计算5*3 >12 ,结果是true
步骤2、计算4<3,结果是false
步骤3、计算true | false,逻辑运算结果是true
短路或运算
1、短路或运算的运算符:||
2、短路或运算的特点:当运算符号左边的关系运算结果是true时,不再进行右边的关系运算,直接得出true的结果。
【示例】 5*3>12 || 4<3
步骤1、计算 5*3 > 12,结果是true
逻辑“非”运算
关系运算 | 非运算结果 |
false | true |
true | false |
【示例】 !(5*3 > 12)
步骤1、计算5*3 > 12,结果是true
步骤2、!true,逻辑运算结果是false。
逻辑运算优先级
三种逻辑运算的优先级:
非运算最高
其次是与运算
优先级最低的是或运算
【示例】 5>=7 || 4<5 && !false
步骤1、计算关系运算:5>7,结果是:false
步骤2、计算关系运算:4<5,结果是true;
步骤3、计算逻辑非运算:!false,结果是:true
false || true && true
步骤4、计算逻辑运算:true && true,结果是:true;
步骤5、计算逻辑或运算:false || true,结果是:true。
逻辑运算案例
【示例一】键盘输入一个5分制分数,用与运算并显示该数是否为5分制分数。
【示例二】键盘输入一个5分制分数,用或运算计算并显示该数是否为5分制的分数。
【示例三】键盘输入一个5分制分数,用非运算计算并显示该数是否为5分制的分数。