廖雪峰Java1-2程序基础-7布尔运算符
布尔运算符
- 关系运算符:>, >=, <, <=, ==,!=
- 与运算 &&
- 或运算 |
- 非运算 !
int n = 5;
boolean t = n > 0;//true
boolean f = n < 0;//false
boolean isFive = n == 5;//true
boolean isNotFive = n != 5;//false
System.out.println(t);
System.out.println(f);
System.out.println(isFive);
System.out.println(isNotFive);
boolean and = t && f;//flase
boolean or = t || f;//true
boolean not = !t;//false
System.out.println(or);
System.out.println(and);
System.out.println(not);
短路运算符
表达式1 && 表达式2 :如果表达式1为false,表达式2将不在执行
表达式1 || 表达式2: 如果表达式1为true,表达式2将不在执行
int n = 0;
//boolean b = 5 / n > 0;除数为0,将会报错
boolean and = (n > 5) && (5 / n > 0);
boolean or = (n < 5) || (5 / n > 0);
System.out.println(and);
System.out.println(or);
三元运算符
- 根据条件b计算x或y b ? x : y
- x和y只计算其中一个
- x和y类型必须相同
//利用三元运算符求绝对值
int n = 199;
boolean positive = n >= 0;
int abs = positive ? n : -n;
System.out.println(abs);//199
总结:
- 与运算和或运算是短路运算
- 布尔类型计算结果仍是布尔类型
- 三元运算符b ? x: y;x和y的类型必须相同