三、java程序流程控制
1.顺序结构
程序从上到下的执行,中间没有任何的判断和跳转
注意:java中定义变量时采用合法的向前引用,如:
正确的:
public class Test {
public static void main(String[] args) {
int i = 1;//先定义变量i
int y = i + 1;//后引用变量i,才不会报错
System.out.println(y);
}
}
错误的:
public class Test {
public static void main(String[] args) {
int y = i + 1;//这条代码上面并没有变量i,这里却引用了变量i,所以报错
int i = 1;
System.out.println(y);
}
}
2.分支结构
1.if-else
- 第一种格式:判断是否符合条件,符合就执行if中的代码,不符合则就跳过
总结:符合条件,不符合就不选public class Test { public static void main(String[] args) { if(条件){ 执行代码块 } } }
- 第二种格式:如果符合if条件则执行if大括号中的代码,否则执行else大括号中的代码
总结:二选一,必定执行其中一个public class Test { public static void main(String[] args) { if(条件){ 执行代码① } else { 执行代码块② } } }
- 第三种格式:从上到下执行,符合if条件则执行相对应的代码,如果不符合则进入下个if中,直到符合其中某个if,或者执行到else
总结:多选一,必定执行其中一个public class Test { public static void main(String[] args) { if(条件①){ 执行代码① } else if(条件②){ 执行代码② } ... { 执行代码③ }else{ 执行代码④ } } }
- if-else语句应用列举:
public class Test { public static void main(String[] args) { int age = 75;//修改赋给变量age的值,会执行不同的代码块 if (age< 0) { System.out.println("不可能!"); } else if (age>250) { System.out.println("是个妖怪!"); } else { System.out.println("人家芳龄 " + age +" ,马马乎乎啦!"); } } }
- if-else使用说明
- 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
- 语句块只有一条执行语句时,一对{}可以省略,但建议保留
- if-else语句结构,根据需要可以嵌套使用
- 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
- 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓当多个条件是“包含”关系时,“小上大下 / 子上父下”
2.switch-case
switch-case结构:
public class Test {
public static void main(String[] args) {
switch(表达式){
case 常量1:
语句1;
break;
case 常量2:
语句2;
break; … …
case 常量N:
语句N;
break;
default:
语句;
break;
}
}
}
switch的表达式如果满足以下case其中一个则执行相对应的语句,如果没有则执行
default
注意:case中没有break则会继续向下执行case或default,直到结束
3.循环结构
1.for循环
-
语法结构:
for (①初始化部分; ②循环条件部分; ④迭代部分){ ③循环体部分; }
-
执行过程:①-②-③-④-②-③-④-②-③-④-…-②
-
说明:
- ②循环条件部分为boolean类型表达式,当值为false时,退出循环
- ①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
- ④可以有多个变量更新,用逗号分隔
2.while循环
-
语法结构:
①初始化部分 while(②循环条件部分){ ③循环体部分; ④迭代部分; }
-
执行过程:①-②-③-④-②-③-④-②-③-④-…-②
-
说明:
- 注意不要忘记声明④迭代部分。否则,循环将不能结束,变成死循环。
- for循环和while循环可以相互转换
3.do-while循环
- 语法结构:
①初始化部分; do{ ③循环体部分 ④迭代部分 }while(②循环条件部分);
- 执行过程:①-③-④-②-③-④-②-③-④-…②
- 说明:do-while循环至少执行一次循环体。
4.流程控制语句关键词说明
- break:break用于终止某个语句块的执行
- continue:continue用于跳出循环
- return:return用于结束方法,不论在几层嵌套语句中,都直接结束
注意:- break只能用于switch语句和循环语句中
- continue 只能用于循环语句中
- 二者功能类似,但continue是终止本次循环,break是终止本层循环
- break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句
- 标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。