学习目标:
学习java体系的第三章,前面两章关注我可以看
•流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
•其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构、分支结构和循环结构,如下图所示:
学习内容:
1.顺序结构
按顺序进行执行语句的结构,无条件判断
执行顺序:
语句一
语句二
...
2.选择结构
①if单分支选择结构
if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句
if(a>1){
System.out.println("如果a大于1则执行这条语句");
}
②if-else双分支选择结构
当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分
if(a>1){
System.out.println("如果a大于1则执行这条语句");
}esle{
System.out.println("否则输出这条语句");
}
③If-elseif-else多分支选择结构
•逐条if语句进行判断
•条件匹配,进入语句体
•否则对if语句继续匹配
if(布尔表达式1)
{•语句块1;•}
else if(布尔表达式2)
{•语句块2;•}
………
•elseif(布尔表达式n)
{•语句块n;•}
else
{•语句块n+1;•}
④switch多分支选择结构
1.switch语句会根据表达式的值从相匹配的执行,一直执行到break标签处开始ak语句处或者是switch语句的末尾。与任一case值不匹配,则进入default语句(如果有的话)
2.只能处理等值条件判断的情况,且表达式必须为byte,short,int或char类型,不能是String或double,float.
3.常量值必须是与表达式类型兼容的特定的一个常量4.不允许有重复的case值5.default子句为可选
•根据表达式值的不同执行许多不同的操作
•switch(表达式)
{•case值1:•语句序列;
•[break];
•case值2:
•语句序列;
•[break];
•……………
•[default:•默认语句;]•}
⑤switch多值选择结构
3.循环结构
①while循环
•在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。
public class WhileTest {
public static void main(String[] args)
{inti= 0;intsum = 0;while (i <= 100)
{sum += i;//sum = sum+i;i++;}
System.out.println("Sum= " + sum);}}
循环结构都由如下四个结构组成:初始化、条件判断、循环体、迭代
②do-while循环
•do-while:•先执行,后判断。
•while:•先判断,后执行。
③for循环
•for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构•
语法形式
•for(初始表达式;布尔表达式;步进){
•循环体;
•}
4.跳转
①跳转语句
•break
•switch语句
•循环语句
•continue
•循环语句
•return
•任何语句中,结束当前方法,和循环其实没有什么关系
②return
•return语句从当前方法退出,返回到调用该方法的语句处,并从该语句的下条语句处继续执行程序。
•返回语句的两种格式(具体到方法时详细讲解)
•1、returnexpression
•返回一个值给调用该方法的语句。•
返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。
•2、return
•当方法声明中用void声明返回类型为空时,应使用这种返回类型,它不返回任何值。
5.多重循环
①三种循环方式
•while
•do-while
•for
②多重循环(循环嵌套)
•一个循环体内又包含另一个完整的循环结构
•任何两种循环都可以相互嵌套•可以任意层次循环,但是一般不超过3层
•多重循环执行过程
•外层循环变量变化一次,内层循环变量要变化一遍
6.方法
①什么是方法
•封装在一起来执行操作语句的集合,用来完成某个功能操作
•在某些语言中称为函数或者过程
•特殊的方法main,程序执行的入口
•publicstaticvoidmain(String[]args){
•实现功能的语句
•}
•不可能所有的功能都放到main中,需要定义其他方法完成指定功能,需要时调用方法即可
②定义方法
•[修饰符]方法返回值类型方法名(形参列表){
•方法体
•return返回值;
•}
•publicstaticintadd(inta,intb,intc){
•intk=a+b+c;•returnk;•}
•修饰符:封装性时再讲,决定了方法的工作范围
•返回值类型:必选,如果没有返回值,须写void。方法只能返回一个值
•方法名:
•参数列表:可以0个、1个、多个,需要同时说明类型。称为形式参数
•方法体:完成具体功能。如果有返回值,必须有return语句;如果没有返回值,默认最后一条语句是return,可以省略