一、程序的三种结构
- 顺序结构
- 分支结构(if、switch)
- 循环结构(for、while、do…while)
二、分支结构
1.if分支结构
1.单分支结构
if(条件表达式){
代码;
}
2.双分支结构
if(条件表达式){
代码1;
}else {
代码2;
}
3.多分支结构
if(条件表达式){
代码1;
}else if(条件表达式){
代码2;
}else if(条件表达式){
代码3;
}
……
else{
代码n;
}
示例:
public class ifDemo1 {
public static void main(String[] args) {
test1();
test2();
test3();
}
//单分支结构
public static void test1() {
int age = 10;
if (age > 18) {
System.out.println("可以上网");
}
}
//双分支结构
public static void test2() {
int a = 10;
int b = 20;
if (a > b) {
System.out.println("a > b");
} else {
System.out.println("a <= b");
}
}
//多分支结构
public static void test3() {
int a = 10;
int b = 20;
if (a > b) {
System.out.println("a > b");
} else if (a == b) {
System.out.println("a == b");
} else {
System.out.println("a <= b");
}
}
}
2.switch 分支结构
1.格式
switch(表达式){
case 值1;
执行代码;
break;
case 值2;
执行代码;
break;
…
default:
执行代码;
}
- 区间用if
- 值匹配用swtich
2. 注意事项
- 表达式的类型必须是byte、short、int、char、String、枚举类型。不支持float、double、boolean。
- case语句的数值必须是常量表达式,不能是变量,且不能重复。
- 正常使用swtich时,不要忘记写break,否则会出现穿透现象。(switch语句中,如果某个case语句没有break,那么case后面的语句都会执行。)
- 穿透性的作用:想通过程序的case块,可以通过穿透性进行合并,减少代码量。
三、循环结构(控制一段代码重复执行)
- 减少代码的重复编写,灵活控制
1.for循环
for(初始化语句;循环条件;迭代语句){
循环体语句(重复执行的代码);
}初始化语句 用于循环变量的初始化
循环条件 用于循环结束条件的判断
迭代语句 用于循环变量的调整
// 输出5次Hello World!
for (int i = 0; i < 5; i++) {
System.out.println("Hello World!");
}
2.while循环
while(表达式)
语句;
public static int test2()
{
//1.定义变量记录程序需要处理的数据
double money = 100000;
double rate = 0.017;
int year = 0;
//2.控制循环,只要发现本金还是小于200000,就继续循环
while(money < 200000)
{
money = money * (1 + rate);
year++;
}
return year;
3.do…while循环(先执行后判断)
do
语句;
while(表达式);
public static int test3()
{
int i = 1;
do
{
printf("%-2d", i);
i = i + 1;
} while (i <= 10);
return 0;
}
4、while循环、do…while循环与for循环的区别
1.while和for循环先判断,条件满足进入循环执行语句,不满足则跳出循环。(先判断后循环)
do…while循环先循环执行循环语句,再判断表达式,表达式为真进行下一次,表达式为假不再循环。(先循环后判断)