循环语句
- 在某些条件满足的情况下,反复执行特定代码的功能
- 循环语句的四个组成部分
循环变量的初始化
循环条件部分
循环体部分
迭代部分 - 循环语句分类
while循环
do while循环
for循环
while & do while语句
- while语句形式:
初始化部分
while(逻辑表达式){
循环体
迭代部分
} - 执行过程
先判断逻辑表达式的值
若为true,则执行其后的语句,然后再次判断条件并反复执行,直到条件不成立为止 - 注意
在不清楚循环执行次数时,一般使用while循环
-
do while语句形式
do{
代码块
}while(逻辑表达式); -
执行过程
先执行语句,再判断逻辑表达式的值,若为true,再执行语句,否则结束循环
for循环语句
- for语句形式
for(表达式1;表达式2;表达式3){
代码块
} - 执行过程
首先计算表达式1,接着执行表达式2,若表达式2的值 = true,则执行循环语句
接着计算表达式3,再判断表达式2的值;依此重复下去,直到表达式2的值=false
三种循环结构比较
三种循环结构都具有四个要素:
-
循环变量的初始化条件
-
循环条件
-
循环体语句块
-
循环变量的修改的迭代表达式
从循环次数角度分析 -
do-while循环至少执行一次循环体语句
-
for和while循环先判断循环条件语句是否成立,然后决定是否执行循环体
如何选择 -
遍历有明显的循环次数(范围)的需求,选择for循环
-
遍历没有明显的循环次数(范围)的需求,选择while循环
-
如果循环体语句块至少执行一次,可以考虑使用do-while循环
-
本质上:三种循环之间完全可以互相转换,都能实现循环的功能
break&continue
- break 语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;例如:
int stop = 4;
for (int i = 1; i <= 10; i++) {
//当i等于stop时,退出循环
if (i == stop){
break;
}
System.out.println(" i= " + i);
}
- continue 语句用在循环语句体中,用于终止某次循环过程,跳过循环体中 continue
语句下面未执行的循环,开始下一次循环过程;例如
int skip = 4;
for (int i = 1; i <= 5; i++) {
//当i等于skip时,跳过当次循环
if (i == skip){
continue;
}
System.out.println("i = " + i);
}
嵌套循环
- 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while均可以作为外层循环和内层循环
- 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环
- 结束外层循环
- 如果需要从多层循环跳出,则需要使用标签,定义一个标签,如label,然后在需要跳出的地方,用break label就行了
Java中的方法
Java中的方法类似于其它语言的函数,方法是解决一类问题步骤的组合,表示一种功能和行为.将功能封装为方法的目的是,可以实现代码重用,减少冗余,简化代码
Java里的方法不能独立存在
,所有的方法必须定义在类里
方法声明格式
[访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){
Java语句;… … …
[return 返回值;]
}
•修饰符:这是可选的,告诉编译器如何调用该方法,定义了该方法的访问类型
•形式参数: 在方法被调用时用于接收外界输入的数据
•返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void
•方法体:方法体必须有{}括起来,在{}中编写完成方法功能的代码
•返回值:方法在执行完毕后返还给调用它的环境的数据。
•实参:调用方法时实际传给方法的数据
方法的调用
名/对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配, return 语句终止方法的运行并指定要返回的数据
return语句
return语句用于从当前执行的方法中退出, 返回到调用该方法的语句处继续执行
有两种格式:
- return 值;
//将值返回,方法必须声明有返回值 - return;
//不返回任何值,表示终止方法执行,可以在声明为void的方法中使用