1. 布尔类型表达是和否。布尔类型实际上只有两个量,就是true和false。
2. Java的布尔类型是十分严格的,它不能与其它类型混用。
- Java中作为逻辑判断的条件必须是严格的布尔类型,而不能是其它的整型、浮点型、char型等等其他的类型。
3. 布尔类型往往可以进行很多运算,这个运算就是逻辑运算。它的主要逻辑运算是三种:与、或、非。
- &&表示与
- ||表示或
- !表示非
4. 布尔运算是逻辑短路的。
public class A {
public static void main(String[] args){
int x = 5;
if (x == 5 && ++x == 1) x = x;
System.out.println(x);
}
}
返回6,表明++x确实操作了。
public class A {
public static void main(String[] args){
int x = 5;
if (x == 4 && ++x == 1) x = x;
System.out.println(x);
}
}
返回5,++x这个动作并没有去做。因为当Java判断x==4不成立的时候,就没有必要再去判断后面语句,因为任何一个假值&&再多的真值条件也是假。
一个true,||上任何东西,结果都是等于true的。
======================
//求某一年是否为闰年
public class A {
public static void main(String[] args){
int year = 1980;
boolean tag = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
System.out.println(tag);
}
}
返回true。
//求某一年是否为闰年
public class A {
public static void main(String[] args){
int year = 1900;
boolean tag = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
System.out.println(tag);
}
}
返回false。
//求某一年是否为闰年
public class A {
public static void main(String[] args){
int year = 2000;
boolean tag = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
System.out.println(tag);
}
}
返回true。