if 语句 单选择 双选择 多选择结构
结构
*. 顺序
*. 选择
1. 单选择结构
2. 双选择结构
3. 多选择结构
*. 循环
if 单选择结构
if 语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句
if-else双选择结构
当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是 else 部分。
if-else if-else多选择结构
逐条 if 语句进行判断
条件匹配,进入语句体
否则对 if 语句继续匹配
public class Test2 {
public static void main(String[] args) {
double d = Math.random();
int e = 1 + (int) (d * 6);
System.out.println(e);
System.out.println("测试多选择结构");
if (e == 6) {
System.out.println("运气非常好");
} else if (e == 5) {
System.out.println("运气很不错");
} else if (e == 4) {
System.out.println("运气还行吧");
} else {
System.out.println("运气不好!");
}
}
}
switch语句、基本用法、case穿透现象
- int,或者自动可以转为 int 的类型 (byte,char,short)。枚举。
- JDK7 中可以放置字符串。
- 一般在每个 case 后面都要加 break,防止出现 case 穿透。
public class Test2 {
public static void main(String[] args) {
double d = Math.random();
int e = 1 + (int) (d * 6);
System.out.println(e);
System.out.println("测试多选择结构");
if (e == 6) {
System.out.println("运气非常好");
} else if (e == 5) {
System.out.println("运气很不错");
} else if (e == 4) {
System.out.println("运气还行吧");
} else {
System.out.println("运气不好!");
}
System.out.println("**********************************");
switch (e) {
case 6:
System.out.println("运气非常好!");
break;
case 5:
System.out.println("运气很不错!");
break;
case 4:
System.out.println("运气还行吧!");
break;
default:
System.out.println("运气不好");
break;
}
}
}
JDK7 新特性 增强 switch 语句
- 增强 switch
- JDK7 之前:表达式结果只能是 int(可以自动转为 int 的 byte、short、char),枚举类型。
- 表达式结果可以是:字符串
while 循环和 do while 循环
- do while 先执行,后判断
- while 先判断,后执行
while 循环
- 再循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
- 语句中应有使循环趋向于结束的语句,否则会出现无限循环——“死”循环。
- 循环结构都由如下四个结构组成:初始化、条件判断、循环体、迭代。
/** * 测试 while 循环的用法 */
public class Test2 {
public static void main(String[] args) {
int a = 1;
//初始化
while (a <= 100) {
//条件判断
System.out.println(a); //循环体
a++; //迭代
}
System.out.println("while循环结束!!!"); System.out.println("*************************************");
//计算:1+2+3+....100
int b = 1;
int sum = 0;
while (b <= 100) {
sum += b; //sum = sum + b;
b++;
}
System.out.println("和为:" + sum);
}}
do while 循环
先执行,后判断
for循环
public class Test2 {
public static void main(String[] args) {
int oddSum = 0; //用来保存奇数的和
int evenSum = 0; //用来存放偶数的和
for (int i = 0; i <= 100; i++) {
if (i % 2 != 0) {
oddSum += i;
}else {
evenSum += i;
}
}
System.out.println(oddSum);
System.out.println(evenSum);
}}
练习
- 用 while 和 for 循环分别计算100以内奇数和偶数的和,并输出。
public class Test2 {
public static void main(String[] args) {
int oddSum = 0; //用来保存奇数的和
int evenSum = 0; //用来存放偶数的和
for (int i = 0; i <= 100; i++) {
if (i % 2 != 0) {
oddSum += i;
}else {
evenSum += i;
}
}
System.out.println(oddSum);
System.out.println(evenSum);
}}
- 用 while 和 for 循环输出 1~1000 之间能被5整除的数。
for (int j = 0; j <= 1000; j++) {
if (j % 5 == 0) {
System.out.print(j + " ");
}
//每行3个数字
if (j % 15 == 0) {
System.out.println();
}}