程序控制结构
switch分支结构
- Java中只要有表达式,就会有值返回
- switch细节
- 表达式数据类型应和case后的常量一致,或者可自动转成可以相互比较的类型,比如输入的是字符,常量是int
- switch表达式返回的值必须是:byte,short,int,char,enum,String
- case子句中的值必须是常量,不可为变量
- default子句是可选的(可有也可没有),当没有匹配的case时,执行default;若没有default子句且没有匹配的case常量,则该switch结构无输出
- break语句用来在执行完一个case分支后使程序跳出switch语句块,若没有break语句,程序会顺序执行到switch语句块的结尾(穿透性),除非执行到break语句跳出
switch和if的比较
- 如果判断的具体数值不多,且符合byte,char,short,int,enum,String这六种类型,虽然两种语句都可以使用,但建议使用switch结构
- 其他情况,例如对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
for循环控制
-
基本语法:
-
for(循环变量初始化;循环条件;循环变量迭代){ 循环操作(可以多条语句); }
-
for为关键字,表示循环控制,for由四要素构成:循环变量初始化、循环条件、循环操作、循环遍历迭代
-
-
for使用细节
-
循环条件是一个返回布尔值的表达式
-
for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方,但两边的分号不可省略
-
int i = 1; for(;i <= 10;){ System.out.println("ok" + i); i++; }
-
-
循环初始值可以有多条初始化语句,但要求类型一样,且中间用逗号隔开;循环变量迭代也可以有多条迭代语句,中间用逗号隔开
-
int count = 3; for(int i = 0,j = 0; i < count; i++, j+=2){ System.out.println("i=" + i + " j=" + j); }
-
-
do…while循环控制
-
基本语法:
-
do{ 循环体(语句); 循环变量迭代; }while(循环条件);
-
-
do while是关键字,同样由循环四要素构成,只是位置不一样
-
先执行再判断,至少执行一次,最后有个分号
跳转控制语句-break
注意事项与细节
-
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
-
标签的基本使用
-
label1:{ label2: { label3: { break lable2; } } }
-
-
break语句通过使用标签可以指定退出哪一层,若没有指定break,则默认退出最近的循环体
-
实际开发中,尽量不要使用标签,会降低代码可读性
跳转控制语句-continue
- 用于结束本次循环,继续执行下一次循环
- 出现在多层嵌套的循环体中,可通过标签指明
跳转控制语句-return
-
return使用在方法中,表示跳出所在的方法
-
若return写在main方法中,则退出程序
-
for(int i = 1; i<=5; i++){ if(i==3){ System.out.println("一秋"); return; } System.out.println("你好"); } System.out.println("hello"); //最终该段程序输出你好你好一秋