2-4Java基本语法----运算符(4)逻辑运算符

/*
*运算符之四:逻辑运算符
*

  • &–逻辑与----且
  • &&–短路与----且
  • |–逻辑与----或
  • ||–短路或----或
  • !逻辑非----非
  • ^–逻辑异或----两个不一样就是true,一样为true,不一样为false
  • 说明:逻辑运算符操作的都是boolean类型的变量

*/

public class LogicTest {
 public static void main(String[] args) {
   
  //区分& 与 &&
  //相同点①: & 与 && 的运算结果相同
  //相同点②: 党符号左边是true时,二者都会执行符号右边的运算
  //不同点:当符号左边是false时,&继续执行符号右边的运算,&&不再执行符号右边的运算
  //开发中:推荐使用&&
  System.out.println("\"与\"的测试:");
  //测试一
  System.out.println("测试一:");
  boolean b1 = true;
  int num1 = 10;
  if(b1 & (num1++>0 )) {
   System.out.println("我现在在北京");
  }else {
   System.out.println("我现在在南京");
  }
  System.out.println("num1="+num1);

boolean b2 = true;
  int num2 = 10;
  if(b2 && (num2++>0 )) {
   System.out.println("我现在在北京");
  }else {
   System.out.println("我现在在南京");
  }
  System.out.println("num2="+num2+"\n");
  
  //测试二
  System.out.println("测试二:");
  b1 = false;
  num1 = 10;
  if(b1 & (num1++>0 )) {
   System.out.println("我现在在北京");
  }else {
   System.out.println("我现在在南京");
  }
  System.out.println("num1="+num1);
  
  b2 = false;
  num2 = 10;
  if(b2 && (num2++>0 )) {//num2++未进行
   System.out.println("我现在在北京");
  }else {
   System.out.println("我现在在南京");
  }
  System.out.println("num2="+num2+"\n");
  //“ && ”是先看左边的一条是否成立,是“true”则看下一条是否为“true”,是“false”,则不进行下一条
 
 //区分:|与||
  //相同点①: | 与 || 的运算结果相同
  //相同点②: 党符号左边是false时,二者都会执行符号右边的运算
  //不同点:当符号左边是true时,|继续执行符号右边的运算,||不再执行符号右边的运算  
  //开发中:推荐使用||
  System.out.println("\"或\"的测试:");
  //测试一
  System.out.println("测试一:");
  boolean b3 = false;
  int num3 = 10;
  if(b3 | (num3++>0 )) {
   System.out.println("我现在在北京");
  }else {
   System.out.println("我现在在南京");
  }
  System.out.println("num3="+num3);
  
  boolean b4 = false;
  int num4 = 10;
  if(b4 || (num4++>0 )) {
   System.out.println("我现在在北京");
  }else {
   System.out.println("我现在在南京");
  }
  System.out.println("num4="+num4+"\n");
  
  //测试二
  System.out.println("测试二:");
  b3 = true;
  num3 = 10;
  if(b3 | (num3++>0 )) {
   System.out.println("我现在在北京");
  }else {
   System.out.println("我现在在南京");
  }
  System.out.println("num3="+num3);

 b4 = true;
  num4 = 10;
  if(b4 || (num4++>0 )) {
   System.out.println("我现在在北京");
  }else {
   System.out.println("我现在在南京");
  }
  System.out.println("num4="+num4);
 }
}

输出:

"与"的测试:
测试一:
我现在在北京
num1=11
我现在在北京
num2=11

测试二:
我现在在南京
num1=11
我现在在南京
num2=10

"或"的测试:
测试一:
我现在在北京
num3=11
我现在在北京
num4=11

测试二:
我现在在北京
num3=11
我现在在北京
num4=10
上一篇:golang数据


下一篇:输入两个正整数,输出其最大公约数和最小公倍数。两数均小于等于1000000