1.基本if选择结构
if(布尔表达式) {
//代码块
}
2.if-else选择结构
if(布尔表达式) {
//代码块1
} else {
//代码块2
}
3.多重if选择结构
if(布尔表达式1) {
//代码块1
} else if(布尔表达式2) {
//代码块2
} else if(布尔表达式3) {
//代码块3
} else {
//代码块4
}
- 【注意】相互排斥,当有一个条件为true时,其他均不在执行,适用于区间判断(区间条件:遵循从小到大或者从大到小)
4.嵌套if选择结构
if(外层布尔表达式) {
if(内层布尔表达式) {
//内层代码块1
} else {
//内层代码块2
}
} else {
//外层代码块
}
5.switch分支结构
switch(变量/表达式) {
case 值1:
逻辑代码1;
case 值2:
逻辑代码2;
case 值n:
逻辑代码n;
break;
default:
未满足时的逻辑代码;
}
- 可判断的类型:byte, short, int, char, String(JDK7+)
- 所有case的取值不可以相同
- 默认case逻辑代码执行后会继续向下执行下一个case,break可以跳出整个分支
6.局部变量
- 声明在函数内部的变量,必须先赋值再使用。
- 作用范围从定义行开始到所在的代码块结束。
- 【注意】多个变量,在重合的作用范围内,不可出现重名(命名冲突)。
7.循环的概念
8.while循环
// 初始部分
while(循环条件) {
// 循环操作
// 迭代部分
}
- 初始部分、循环条件、循环操作、迭代部分
- 先判断,再执行。适用于循环次数明确的情况。
- 执行次数:0~n次
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class TestWhile { public static void main(String[] args) { int i = 1; int sum = 0; while (i <= 100) { if (i % 2 == 0) { sum += i; } i++; } System.out.println(sum); } }
|

输出:
2550
9.do-while循环
// 初始部分
do {
// 循环操作
// 迭代部分
} while(循环条件);
- do-while循环至少会执行1次
- 先执行,后判断。适用于循环次数不明确的情况
- 执行次数:1~n次
10.for循环
for(①初始部分; ②循环条件; ④迭代部分) {
// ③循环操作
}
- 初始部分只执行一次,且可以省略。
- 执行次数:0~n次
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import java.util.Scanner;
public class TestFor { public static void main(String[] args) { int num = 0; long product = 1; Scanner input = new Scanner(System.in); System.out.print("请输入一个数字求阶乘:"); num = input.nextInt(); for (int i = 1; i <= num; i++) { product *= i; } System.out.println("阶乘结果:" + product); } }
|

11.流程控制关键字
- break:终止,跳出循环
- continue:结束本次,进入下一次循环(跳过当前循环)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| import java.util.Scanner;
public class TestGuess { public static void main(String[] args) { Scanner input = new Scanner(System.in); int pcCnt = 0; int pyCnt = 0;
for (int i = 1; i <= 3;) { java.util.Random random = new java.util.Random(); int pc = random.nextInt(3) + 1; System.out.print("请玩家输入一个数字(1剪刀2石头3布):"); int py = input.nextInt(); if (pc == py) { System.out.println("平局。"); continue; } else if ((py == 1 && pc == 3) || (py == 2 && pc == 1) || (py == 3 && pc == 2)) { System.out.println("恭喜,大神。"); pyCnt++; } else { System.out.println("跟我斗,再练练吧。"); pcCnt++; } System.out.println("电脑出的是(1剪刀2石头3布):" + pc + "\n"); if (pyCnt == 2) { System.out.println("3局2胜:玩家胜!!!"); break; } else if (pcCnt == 2) { System.out.println("3局2胜:电脑胜!!!"); break; } else { } i++; } } }
|
