一.if 与&&“且/与”
if(true&&true){
System.out.println("输出1");
}
if(true&&false){
System.out.println("输出2");
}
if(false&&true){
System.out.println("输出3");
}
if(false&&false){
System.out.println("输出4");
}
//if 与boolean ()中为真才能运行 说明if与&&时要保证“&&”两端同时为“true”才会输出
二.&&(短路与)和&
&&
1.第一个条件为真
int a=5;
if(a>4&&a<5/0){
System.out.println("1111111");
}
2.第一个条件为假
int a=5;
if(a<4&&a<5/0){
System.out.println("1111111");
}
没有输出结果;没有报错
特点:1.a&&b 必须为两真才为真 一假则假
2.之所以叫“短路与”是因为当“a&&b”时,先判断a的真假。如a为真则继续判断b;a为假则直接结束运算,不会判断b。
&
1.第一个条件为真
int a=10;
if (a>3&a<3/0){
System.out.println("22222");
}
2.第一个条件为假
int a=10;
if (a<3&a<3/0){
System.out.println("22222");
}
特点:1.a&b 必须为两真才为真 一假则假
2.当“a&b”时,是从头到尾运行的。
三.||(短路或)和 |
||
int a=8;
1.第一个为真 第二个为真
if(a>5||a<10){
System.out.println("111111");
}
2.第一个为假 第二个为真
if(a>5||a>10){
System.out.println("111111");
}
3.
if(a>5||a>10/0){
System.out.println("111111");
}
没有报错 还是输出了111111。
特点: 1.一真为真。
2.同时为假才是假。
3.短路是因为如果第一个命题成立那么久不会运行第二个命题了。
|
特点: 1.一真为真。
2.同时为假才是假。
3. 两个命题都会运行,即使第一个为假命题也会运行第二个。
四.if else
用if else写:
特点:两个命题其中一个必运行。要么运行第一个,要么运行第二个。
五.else if
1.前两个命题都为真
int a=3;
int b=10;
int c=20;
if(a==3){
System.out.println("111111");
}else if(b<=10&&b>2){
System.out.println("222222");
}else {
System.out.println("222200022");
}
输出“111111”
2.第一个命题为假
int a=3;
int b=10;
int c=20;
if(a<3){
System.out.println("111111");
}else if(b<=10&&b>2){
System.out.println("222222");
}else {
System.out.println("222200022");
}
输出“22222”
特点: 1.第一个满足条件被输出,其他条件被短路。
2.只输出一条。
3.else可被省略,这时则真命题全部输出。