笨方法学 Java -06-语法-条件判断
0、前言
条件判断,顾名思义即根据不同条件做出不同处理。这里我们主要介绍“运算符”的使用和几种常用“条件判断模型”。
1、运算符
在条件判断时,运算结果只能返回boolean值,即真或者假(true or false)。比如:“1+1>2”这个运算,明显是假值,返回false。然后,条件语句根据返回值,执行不同的处理。下面介绍几个常用的运算符:
l 大于(>)、小于(<)、等于(==)、不等于(!=)
public class ConditionTest {
public static void main(String[] args) {
System.out.println("1+1>2 ? "+(1+1 > 2));
System.out.println("1+1<2 ? "+(1+1 < 2));
System.out.println("1+1==2 ? "+(1+1 == 2));
System.out.println("1+1!=2 ? "+(1+1 != 2));
}
}
注意:
判断等于条件,使用2个等号,不是1个。1个等号是赋值。
在运算中,如果某些运算需要先执行,请用英文小括号包起来。
l 与(&&)、或(||)、非(!)的判断
public class ConditionTest {
public static void main(String[] args) {
System.out.println("1+1>2 并且 1+1==2 ? "+(1+1>2 && 1+1==2));
System.out.println("1+1>2 或者 1+1==2 ? "+(1+1>2 || 1+1==2));
System.out.println("非 1+1==2 ? "+!(1+1 == 2));
}
}
注意:
在判断“与”和“或”条件的时候是2个& 以及 2个 | 符号。单个的是位运算符号,不是条件符号。
“|” 符号在键盘上Enter键附近,不同键盘位置不同,如图:

接下来将介绍几种简单的条件判断写法。
2、if… 条件处理
流程图如下:

public class ConditionTest {
public static void main(String[] args) {
System.out.println("开始");
if(1+1==2) {
System.out.println("处理===1");
System.out.println("处理===2");
}
System.out.println("结束");
}
}
3、if…else… 条件处理
流程图如下:

import java.util.Random;
public class ConditionTest {
public static void main(String[] args) {
System.out.println("开始");
//生成一个简单的随机整数
int a = new Random().nextInt();
if(a>5) {
System.out.println("随机数为:"+a+",值大于 5");
}else {
System.out.println("随机数为:"+a+",小于等于5");
}
System.out.println("结束");
}
}
4、if…else if… else… 条件处理
流程图如下:

import java.util.Random;
public class ConditionTest {
public static void main(String[] args) {
System.out.println("开始");
//生成一个简单的随机整数
int a = new Random().nextInt();
if(a>5) {
System.out.println("随机数为:"+a+",值大于 5");
}else if(a>=3) {
System.out.println("随机数为:"+a+",值在 3 到 5 之间");
}else if(a>=0){
System.out.println("随机数为:"+a+",值在 0 到 2 之间");
}else {
//如果都不符合,这里是默认处理。
System.out.println("随机数为:"+a+",值小于0");
}
System.out.println("结束");
}
}
5、switch 条件处理
switch条件处理,简单的理解为一个开关即可。对于第4点中的嵌套 if…else if…else…,如果值是固定的,可以用switch语句改写。
注意:
写switch语句,break关键字通常是必须的。否则,语句会从触发的位置开始,一直执行到最后。
switch的判断数值只能为:int、char、String、枚举(enum)4种类型。
char其实也是数值,在《笨方法学 Java -04-数据类型介绍》里面有提到)
流程图如下:

import java.util.Random;
public class ConditionTest {
public static void main(String[] args) {
System.out.println("开始");
//生成一个简单的随机整数
int a = new Random().nextInt(5);
//switch 过滤
switch(a) {
case 0:
System.out.println("a="+a);
break;
case 1:
System.out.println("a="+a);
break;
case 2:
System.out.println("a="+a);
break;
default :
//默认处理
System.out.println("default 处理 a="+a);
break;
}
}
}

本章节结束。。。