布尔运算符
- 关系运算符:>, >=, <, <=, ==,!=
- 与运算 &&
- 或运算 |
- 非运算 !
int n = 5;boolean t = n > 0;//trueboolean f = n < 0;//falseboolean isFive = n == 5;//trueboolean isNotFive = n != 5;//falseSystem.out.println(t);System.out.println(f);System.out.println(isFive);System.out.println(isNotFive);boolean and = t && f;//flaseboolean or = t || f;//trueboolean not = !t;//falseSystem.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的类型必须相同