switch
switch使用的基本语法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| switch(表达式){ case常量1: 语句块1; break; case 常量2; 语句块2; break; ... case 常量n; 语句块n; break; default: default语句块; break; }
|
请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g
a 表示星期一,b 表示星期二 …
根据用户的输入显示相应的信息.要求使用 switch 语句完成
思路分析
- 接收一个字符 , 创建 Scanner 对象
- 使用 switch 来完成匹配,并输出对应信息
代码
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
| import java.util.Scanner; public class Switch01 {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in); System.out.println("请输入一个字符(a-g)"); char c1 = myScanner.next().charAt(0);
switch(c1) { case 'a' : System.out.println("今天星期一,猴子穿新衣"); break; case 'b' : System.out.println("今天星期二,猴子当小二"); break; case 'c' : System.out.println("今天星期三,猴子爬雪山.."); break; System.out.println("你输入的字符不正确,没有匹配的"); } System.out.println("退出了 switch ,继续执行程序"); } }
|
注意事项
- 表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的
类型,比如输入的是学符,而常量是int
- switch(表达式)中表达式的返回值必须是:(byte,short,int,charenum[救
举.String)
- case子句中的值必须是常量,而不能是变量
- default子句是可选的,当没有匹配的case时,执行default
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有写
break,程序会顺序执行到switch结尾,除非遇到break;
switch和if的比较
- 如果判断的具体数值不多,而且符合byte、short、int、char,enum[枚举],String这6种类型。虽然两个语句都可以使用,建议使用swtich语句。
- 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
for循环控制
基本语法
1 2 3
| for(循环变量初始化;循环条件;循环变量迭代){ 循环操作(可以多条语句); }
|
说明
- for关键字,表示循环控制
- for有四要素:(1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代
- 循环操作,这里可以有多条语句,也就是我们要循环执行的代码
- 如果循环操作(语句)只有一条语句,可以省略{},
注意事项和细节说明
- 循环条件是返回一个布尔值的表达式
- for(;循环判断条件;)中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
- 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
例题
打印 1~100 之间所有是 9 的倍数的整数,统计个数及总和.
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
| public class ForExercise { public static void main(String[] args) { int count = 0; int sum = 0; int start = 10; int end = 200; int t = 5; for(int i = start; i <= end; i++) { if( i % t == 0) { System.out.println("i=" + i); count++; sum += i; } } System.out.println("count=" + count); System.out.println("sum=" + sum); } }
|
while循环控制
基本语法
循环变量初始化
1 2 3 4
| while(循环条件){ 循环体(语句); 循环变量迭代; }
|
说明
- while循环也有四要素
- 只是四要素放的位置和for不一样
注意事项和细节说明
- 循环条件是返回一个布尔值的表达式
- while循环是先判断再执行语句
do..while 循环控制
基本语法
1 2 3 4 5
| 循环变量初始化; do{ 循环体(语句); 循环变量迭代; }while(循环条件);
|
说明
- do while 是关键字
- 也有循环四要素, 只是位置不一样
- 先执行,再判断,也就是说,一定会至少执行一次
- 最后 有一个 分号 ;
注意事项和细节说明
- 循环条件是返回一个布尔值的表达式
- do..while 循环是先执行,再判断, 因此它至少执行一次