在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
(1)顺序控制
(2)分支控制
(3)循环控制
顺序控制:程序从上到下逐行地执行,中间没有任何判断和跳转。
分支控制:if-else
请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g
a 表示星期一,b 表示星期二 …
public class Demo {
public static void main(String[] args) {
char c1 = 'c';
switch (c1) {
case 'a':
System.out.println("今天星期一,猴子穿新衣");
break;
case 'b':
System.out.println("今天星期二,猴子当小二");
break;
case 'c':
System.out.println("今天星期三,猴子爬雪山..");
break;
//.....
default:
System.out.println("字符不正确,没有匹配的");
}
System.out.println("退出了 switch ,继续执行程序");
}
}
switch (表达式) {
case 常量1:
语句块1;
break;
case 常量2:
语句块2;
break;
...
case 常量n:
语句块n;
break;
default:
语句块default;
break;
}
(1)表达式数据类型,应和 case 后的常量类型一致,或者是可以自动转换成可以相互比较的类型,比如输入的是字符,而常量是 int。
(2)switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String)。
(3)case 子句中的值必须是常量,而不能是变量。
(4)default 子句是可选的,当没有匹配的 case 时,执行 default。
(5)break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块;如果没有写 break,程序会顺序执行到 switch 结尾,除非遇到 break。
(1)如果判断的具体数值不多,而且符合 byte , short, int, char,enum[ 枚举 ],String 这 6 种类型。虽然两个语句都可以使用,建议使用 swtich 语句。
(2)其他情况:对区间判断,对结果为 boolean 类型判断,使用 if , if 的使用范围更广。
(1)for 关键字,表示循环控制。
(2)for 有四要素:
1??循环变量初始化
2??循环条件
3??循环操作
4??循环变量迭代
(3)循环操作,这里可以有多条语句,也就是我们要循环执行的代码。
(4)如果 循环操作(语句) 只有一条语句,可以省略 {},建议不要省略。
(1)循环条件是返回一个布尔值的表达式。
(2)for(;循环判断条件;) 中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
(3)循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
(1)while 循环也有四要素
循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);
(1)也有循环四要素,只是位置不一样。
(2)先执行,再判断,也就是说,一定会至少执行一次。
(3)最后有一个分号【;】。
break 语句用于终止某个语句块的执行,一般使用在 switch 或者循环【for , while , do-while】中。
continue 语句用于结束本次循环,继续执行下一次循环。