java基础(三)循环结构(while、for、dowhile、死循环、增强for循环)
⽂章⽬录
前⾔
本篇接着,继续总结流程控制结构的循环结构。循环结构也是常⽤的基本语法结构,在学习⼯作的过程中会经常见到的语法结构。
⼀、什么是循环结构
百度百科:循环结构是指在程序中需要反复执⾏某个功能⽽设置的⼀种程序结构。它由循环体中的条件,判断继续执⾏某个功能还是退出循环。根据判断条件,循环结构⼜可细分为以下两种形式:先判断后执⾏的循环结构和先执⾏后判断的循环结构。
根据百度百科的描述,简单来说,循环结构就是通过判断条件控制,反复执⾏某个功能的程序设计结构
⽽循环⼜分为:当型循环和直到型循环,也就是百度百科简介中最后的两个加粗字段,当型循环——先判断后执⾏,直到型循环——先执⾏后判断
附上流程图:
那么介绍完这些基础知识之后,就进⼊java中的循环结构,按照上述循环的划分,当型循环(先判断后执⾏):while、for,直到型循环(先执⾏后判断):do…while
⼆、while循环
当型循环
1.语法结构
while(布尔表达式){
循环体;
}
2.执⾏过程
1. 先判断布尔表达式,为true进⼊循环体执⾏代码,否则退出循环,按照顺序结构执⾏后续代码
2. ⼀次执⾏结束后,再次判断布尔表达式,true进⼊循环,false退出循环
3. 重复上述操作,当布尔表达式为false结束循环
当然为了满⾜需求,在循环体中我们需要能够改变语句的判断条件,从⽽达到控制循环的⽬的
3.实例
public class Demo09 {
public static void main(String[] args){
int i =0;
while(i<5){
System.out.println(i);
i++;
}
}
}
设定⼀个变量i,初始化为0,设定条件:当i⼩于5就执⾏循环体,循环体每次执⾏i++,就会让while的条件随之发⽣改变,控制循环执⾏5次
结果:
1
2
3
4
三、for循环
当型循环
1.语法结构
for(初始化;布尔表达式;变化变量){
循环体;
}
2.执⾏过程
1. 先初始化变量
2. 执⾏布尔表达式判断真假
3. 为真则进⼊循环体执⾏代码;否则退出循环
4. 最后变化变量,再执⾏布尔表达式判断真假
5.
3.实例验证
public class Demo09 {
public static void main(String[] args){
for(int i =0;i<5;i++){
System.out.println(i);
}
}
}
先写⼀个普通的for循环,循环5次,输出结果:0
1
2
3
4
接下来将上述代码变形
public class Demo09 {
public static void main(String[] args){
int i ;
for( i =0;i<5;i++){
System.out.println(i);
}
}
}
改变了变量i的作⽤域,不影响结果
继续改变代码进⾏测试
public class Demo09 {
public static void main(String[] args){
int i;
for(i =0; i <5; i++){
System.out.println(i);
}
System.out.println("循环外的输出:"+ i);
}
}
在循环外再输出⼀次i,那么最后⼀次i为多少呢?输出结果:
1
2java技术介绍百度百科
3
4
循环外的输出:5
可见正常执⾏了循环体后,会执⾏变化变量的表达式,再进⾏判断是否进⼊,在这个时候i变量发⽣的变化。
那么如果说不进⼊循环体直接退出了循环呢?
改变了布尔表达式后
public class Demo09 {
public static void main(String[] args){
int i;
for(i =0; i <0; i++){
System.out.println(i);
}
System.out.println("循环外的输出:"+ i);
}
}
输出结果:
可见i在初始化后没有发⽣改变,也就是初始化后进⾏了判断,退出了循环,并不会改变变量i
综上所述
执⾏循环体的情况下:
初始化变量—》执⾏布尔表达式—》进⼊循环体—》改变变量—》执⾏布尔表达式—》根据情况重复上述操作或退出循环
不执⾏循环体,直接退出循环的情况下:
初始化变量—》执⾏布尔表达式—》退出循环
变量在初始化后将不会改变
四、do…while循环
直到型循环
1.语法结构
do{
循环体
}while(布尔表达式)
和开篇时所说⼀样,do…while循环是直到型循环,也就是先执⾏循环体再判断条件,这种⽅式的循环,⼀定会进⼊循环体,所以说do…while循环⼀定会执⾏⼀次
2.执⾏过程
根据对while循环的了解,再更具do…while循环的特点,不难得出do…while循环的执⾏过程
1. 执⾏do后的循环体
2. 判断布尔表达式
3. 根据真假情况再次进⼊循环体或退出循环
五、死循环
死循环就是⼀直在循环,形成闭环,⼀直在循环体和判断条件中重复,三种循环结构都能够形成死循环,包括递归⽅法的⽅式也能够形成死循环,以下以while循环举例
public class Demo09 {
public static void main(String[] args) {
int i = 0;
while (i<5){
System.out.println(i);
}
}
}
结果:
…
持续输出0,变量i不发⽣改变,布尔表达式始终为true,这种情况就是死循环,当然在⼀些特殊情况下需要使⽤,但是也需要谨慎使⽤,容易发⽣内存溢出,栈溢出的情况
六、增强for循环
JDK5加⼊了增强for循环的特性,主要⽤于数组、集合等
结构:
for(声明语句:表达式){
循环体;
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,作⽤域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式主要访问的数组名,或者是返回值为数组的⽅法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论