第3章 流程控制结构
3.1顺序结构
说明:程序从上往下执行
Java中定义成员变量时采用合法的前向引用。如:
public class Test{
int num1 = 12;
int num2 = num1 + 2;
}
错误形式:
public class Test{
int num2 = num1 + 2;
int num1 = 12;
}
3.2分支结构
3.2.1 if结构
1、单分支
语法:
if(条件表达式){
执行代码块;
}
结构图:
2、双分支
语法:
if(条件表达式){ 执行代码块1; } else{ 执行代码块2; }
|
结构图:
3、多重分支
语法:
if(条件表达式1){ 执行代码块1; } else if (条件表达式2){ 执行代码块2; } …… else{ 执行代码块n; }
|
结构图:
3.2.2 switch结构
1、语法:
switch(表达式){ case 常量1: 语句1; break; case 常量2: 语句2; break; … … case 常量N: 语句N; break; default: 语句; break; }
|
2、规则
变量的类型 只能是int、byte、short、char、String(jdk1.7)、枚举(jdk1.5)
case后的常量值不能重复
case后不可以是变量
break可以省略,但可能影响效果
default可以省略,位置也可以提前,但可能影响效果
3、执行顺序
先得出switch括号中变量的值,然后依次判断各个case,如果有匹配的,则执行对应的代码块,直到遇见break为止;如果都不匹配,则执行default中的代码块n,直到遇见break为止
3.3 循环结构
3.3.1 说明
在满足某个特定条件的基础上,反复执行某段代码的结构
3.3.2 四要素
1、循环变量初始化
2、循环条件
3、循环操作
4、循环变量更新
3.3.3 好处
1、提高代码的简洁性
2、提高代码的维护性和扩展性
3.3.4 分类
while
do while
for
jdk5.0之后,多了增强for循环(foreach)
3.3.5 落地步骤
题型一:知道次数
优先考虑用for
1、先搭框架
for(int i=1;i<=次数;i++){
}
2、分析循环操作
3、检测循环是否具备四要素
题型二:不知道次数
1、先搭框架
while(){
}
2、分析循环操作和循环条件
3、检测循环是否具备四要素
3.3.6三种循环结构的详细介绍
1、while
语法:
循环变量初始化
while(循环条件){
循环操作
循环变量更新
}
执行顺序:....直到不成立为止
2、do while
循环变量初始化
do{
循环操作
循环变量更新
}while(循环条件);
执行顺序:...直到不成立为止
3、for
for(循环变量初始化;循环条件;循环变量更新){
循环操作
}
执行顺序:....直到不成立为止
3.3.7 三种循环结构大pk
相同点:
1、都能解决任何类型的循环题目
2、都具备循环四要素
不同点:
1、语法不同
2、执行顺序不同
while和for 先判断后执行
do while 先执行后判断
3、执行效果不同
如果第一次条件成立,while、do while、for 执行效果相同
如果第一次条件不成立,while、for 执行0次;do while 执行至少一次!
4、执行效率不同
do while 效率最高
5、应用场景不同
知道次数,优先考虑用for
不知道次数,
先判断:while
先执行:do while
3.3.8 嵌套循环
说明:一个循环结构中又嵌套了另一个完整的循环结构
注意:如外层循环,执行m次;内层循环,执行n次。 内层循环的循环体最终执行 m*n次
经典案例:九九乘法表
3.4 跳转结构
3.4.1 break
说明:一般用在switch或循环中,跳出所在的switch或循环结构。
语法:
while(循环条件){
if(条件){
break;
}
}
特点:
只能跳出所在的switch或一层循环,如果想跳出外层循环,需要添加label标签使用。
3.4.2 continue
说明:只能用于循环中,结束本次循环,继续下一次循环
语法:
while(循环条件){
if(条件){
continue;
}
}
特点:continue如果不搭配标签,默认起作用的就是所在的一层循环。如果搭配标签,则可以跳出标签指定的循环
3.4.1 return
说明:跳出所在的方法
【方法章节中会详细讲解】
项目1:家庭记账软件
模拟实现一个基于文本界面的《家庭记账软件》
掌握初步的编程技巧和调试技巧
主要涉及以下知识点:
1、局部变量和基本数据类型
2、循环语句
3、分支语句
4、简单的屏幕输出格式控制
项目采用分级菜单方式。
1、主菜单如下:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):_
2、登记收入
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):2
本次收入金额:1000
本次收入说明:劳务费_
3、登记支出
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):3
本次支出金额:800
本次支出说明:物业费_
4、收支明细
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):1
-----------------当前收支明细记录-----------------
收支 账户金额 收支金额 说 明
收入 11000 1000 劳务费
支出 10200 800 物业费
--------------------------------------------------
• 提示:明细表格的对齐,可以简单使用制表符‘\t’来实现
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。