09 顺序选择循环结构
顺序结构
按顺序的
选择结构
if单选择结构
if(布尔表达式){
//如果布尔表达式的为true 将执行的语句
}
if双选择结构
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为fasle
}
if多选择结构
if(布尔表达式1){
//如果布尔表达式1的值为true
}else if(布尔表达式2){
//如果布尔表达式的值2为true
}else if(布尔表达式3){
//如果布尔表达式的值3为true
else{
//如果以上布尔表达式都不为true执行代码
}
if 语句至多有一个else语句 else语句在所有的else if语句之后
if语句可以有若干个 else if语句,他们必须在else语句之前
一旦一个else if 语句为 true 其他的else if 语句 和 else 语句 都不会执行
嵌套的if语句
if(布尔表达式1){
//如果布尔表达式1的值为true 执行代码
}if(布尔表达式2){
//如果布尔表达式2的值为true 执行代码
}
switch多选择结构
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的caseyuju
default;
//语句
}
switch 语句中的变量类型可以是:
-
byte、short、int或者char
-
从java SE 7 开始
-
switch 支持字符串 String类型
-
同时 case标签必须为字符串常量过字面量
循环结构
while循环
while(布尔表达式){
//循环内容
}
-
只要布尔表达式为 true ,循环就会一直执行下去
-
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失败的方式来结束循环
-
少部分情况需要一直执行,比如服务器的请求相应监听等
-
循环一直为true就会造成无限循环 我们正常的业务编码应该尽量避免死循环,会影响程序性能或者造成程序卡死崩溃
do while 循环
对于while语句 如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少执行一次
do……while至少执行一次
do{
//代码
}while(布尔表达式);
for循环
for循环 是一些结果变得更加简单
for循环是支持迭代的 是最有效 最灵活的循环结构
for循环结构执行的次数是在执行之前就确定的
for(初始化;布尔表达式;更新)
{
//代码语句
}
注意点
-
最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
-
然后,检测布尔表达式的值,如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句
-
执行一次循环体后,更新循环控制变量(迭代因子控制循环变量的增减)
九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" +(i*j) + "\t");
}
System.out.println();
}
打印5行三角形
//打印5行三角形
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i;j--) {
System.out.print(" ");
}
for (int j = 1;j <=i;j++){
System.out.print("*");
}
for (int j = 2;j <=i;j++){
System.out.print("*");
}
System.out.println();
}
增强for循环
用于数组或集合的增强型for循环
int[] number = {10,20,30,40,50};
for (int x:number){
System.out.println(x);
}
break continue
break 在任何循环体语句的主体部分,均可用break控制循环体的流程,break用于强行退出循环,不执行循环中剩余的语句(break 也在switch语句中使用)
continue 用在 循环体语句中 用于终止某次循环过程,即 跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的过程
关于 goto 关键字
没有得到正式的使用
对于java来说唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方