为什么要用到循环结构:

按顺序结构执行程序语句(方法或者代码块)只能被执行一次。如果要多次执行,就需要使用到循环结构(循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构)

布尔表达式:是一段代码声明,它最终只有true(真)和false(假)两个取值。最简单的布尔表达式是等式(equality),这种布尔表达式用来测试一个值是否与另一个值相同。

1、while循环

特点:先判断布尔表达式 (条件),条件为真,执行循环语句。条件为假,直接结束循环语句。

while( 布尔表达式 ) {
//循环内容
}

只要布尔表达式为true,循环体会一直执行下去。

查看示例代码


public static void main(String[] args){
int i = 10;
System.out.println("开始执行" );
//当i小于15的时候继续循环执行输出
while( i < 15 ) {
System.out.println(i+"小于15 is:"+(i < 15));
i=i+1;
}
System.out.println("循环结束" );
}

运行结果如图:

2、do…while 循环

特点: do…while 循环至少会执行一次,然后判断条件,条件为真,执行循环语句。条件为假,直接结束循环语句。

do {
//代码语句
}while(布尔表达式);

先执行代码块,然后判断布尔表达式,条件为真,则一直执行。

示例


public static void main(String[] args){
int j=0;
int i = 15;
System.out.println("开始执行" );
do{
i=i-1;
j++;
//先执行代码块
System.out.println("第"+j+"次循环:"+i+"是否大于10 is:"+(i >10)); } while( i >10 ); //当i大于10的时候继续循环执行输出
System.out.println("循环结束" );
}
 

运行结果

把初始值改一下,i=9

运行结果

9不大于10,也执行了一次

3、for循环

特点:for 循环结构比前两种循环结构更简单,for循环执行的次数是在执行前就确定的。

语法格式如下:

for(初始化; 布尔表达式; 更新) {
  //代码语句
}

关于 for 循环有几点说明:

  • 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。列如 int i=0
  • 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
  • 执行一次循环后,更新循环控制变量。
  • 再次检测布尔表达式。循环执行上面的过程。

示例代码

public static void main(String[] args){
System.out.println("开始执行" );
/**
* int i=1 表示 初始值i=1,
* i<10 表示 当i<10时等于true执行下一次循环
* i++ 表示 执行一次循环后,更新循环控制变量 i=i+1
*/
for(int i=1;i<10;i++){
System.out.println(i+"小于10 is:"+(i<10));
}
System.out.println("循环结束");
}

结果

结论

当最后一次执行9小于10之后执行i++  ,9+1=10, 10不小于10=false跳出循环

最后还有两个关键字

break 关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。

break 跳出最里层的循环,并且继续执行该循环下面的语句。

public static void main(String[] args){
System.out.println("开始执行" );
/**
* int i=1 表示 初始值i=1,
* i<10 表示 当i<10时等于true执行下一次循环
* i++ 表示 执行一次循环后,更新循环控制变量 i=i+1
*/
for(int i=1;i<10;i++){
if(i==5){
        System.out.println(i+"等于5:"+(i==5)+" 跳出整个循环");
break;
}
System.out.println(i+"小于10 is:"+(i<10));
}
System.out.println("循环结束");
}

执行结果:

continue 关键字

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。

在 for 循环中,continue 语句使程序立即跳转到更新语句。

在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

示例

public static void main(String[] args){
System.out.println("开始执行" );
/**
* int i=1 表示 初始值i=1,
* i<10 表示 当i<10时等于true执行下一次循环
* i++ 表示 执行一次循环后,更新循环控制变量 i=i+1
*/
for(int i=1;i<10;i++){
if(i==5){
System.out.println(i+"等于5:"+(i==5)+" 跳出当前循环,不执行后续代码");
continue ;
}
//跳出当前循环后没有执行该行代码
System.out.println(i+"小于10 is:"+(i<10));
}
System.out.println("循环结束");
}

结果

您想要同样的操作执行多次,,就需要使用循环结构。

Java - > for, while 及 do.while循环的更多相关文章

  1. 九天学会Java,第四天,循环结构

    变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 这次我们讲Java的循环结构.循环结构在编程中广泛使 ...

  2. IT兄弟连 Java语法教程 流程控制语句 控制循环结构1

    Java语言没有提供goto语句来控制程序的跳转,这种做法提高了程序流程控制的可读性,但降低了程序流程控制的灵活性.为了弥补这种不足,Java提供了continue和break来控制循环结构.除此之外 ...

  3. Java自学-控制流程 结束外部循环

    Java中结束外部循环 Java中如何结束外部for循环? 示例 1 : 结束当前循环 break; 只能结束当前循环 public class HelloWorld { public static ...

  4. 059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环

    059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环 本文知识点:增强型for循环 增强型for循环格式 案例练习增强型for循环 数组名字 ...

  5. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  6. java分享第四天(循环)

    While循环: while(Boolean_expression){ //statements } 在执行时,如果布尔表达式的结果为真,则循环中的动作将被执行,这将继续下去,只要该表达式的结果为真 ...

  7. [转]Java 8:不要再用循环了

    以下内容为转载,没有在jdk8中测试,具体业务场景是否存在BUG或使用需要注意的地方有待测试. ------------------分割线---------------------- 正如我之前所写的 ...

  8. Java 8:不要再用循环了

    本文由 ImportNew - 进林 翻译自 deadcoderising.欢迎加入翻译小组.转载请见文末要求. 正如我之前所写的,Java 8中的新功能特性改变了游戏规则.对Java开发者来说这是一 ...

  9. Java Web学习笔记--JSP for循环

    JSP for循环 <%@ page language="java" contentType="text/html; charset=UTF-8" %&g ...

  10. JAVA基础——最简单的多重循环程序

    Java 循环语句之多重循环 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行一次,内层循环要执行一圈. 如下所示: ...

随机推荐

  1. 金庸笔下的"程序员" | 附金庸武侠全集

    金庸 飞雪连天射白鹿,笑书神侠倚碧鸳当您八十高龄取得牛津大学唐朝史学博士学位,我还以为这是另一部史诗开始的信号,然而没有后续了.我的高中到大学,是十遍<笑傲江湖>的距离,我的整个青春,是大 ...

  2. 【锁】java 锁的技术内幕

    转载自https://www.2cto.com/kf/201607/525119.html 一.基础知识 在Java并发编程里头,锁是一个非常重要的概念.就如同现实生活一样,如果房子上了锁.别人就进不 ...

  3. React学习笔记一

    我是通过script src的方式引入的react的相关文件,本次学习顺序按照<React快速上手开发>一书的顺序学习的, 本篇博客笔记地址:http://note.youdao.com/ ...

  4. HDU-1431-素数回文(暴力打表)

    素数回文 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. WinForm 修改App.config不起作用(但是调试没有异常)

    修改Bin下的.exe.config文件,就能达到效果了. appconfig的修改,会保留在项目中,似乎不会实时地更改到.exe.config中..

  6. PAT天梯赛L3-015 球队食物链

    读题可以知道是DFS,注意一点,题目说的是赢过,所以str[i][j]=‘W',那么g[i][j]=1,str[i][j]='L',g[j][i]=1 然后就常规搜索即可,还有一点就是剪枝,如果没有可 ...

  7. StyleSheet

    StyleSheet.create()方法 //定义组件 var App = React.createClass({ render:function () { return( <View sty ...

  8. redis原理及实现

    1 什么是redis redis是nosql(也是个巨大的map) 单线程,但是可处理1秒10w的并发(数据都在内存中) 使用java对redis进行操作类似jdbc接口标准对mysql,有各类实现他 ...

  9. CodeForces - 779D String Game(二分)

    Little Nastya has a hobby, she likes to remove some letters from word, to obtain another word. But i ...

  10. loj 2038 / 洛谷 P4345 [SHOI2015] 超能粒子炮・改 题解

    好玩的推式子 题目描述 曾经发明了脑洞治疗仪与超能粒子炮的发明家 SHTSC 又公开了他的新发明:超能粒子炮・改--一种可以发射威力更加强大的粒子流的神秘装置. 超能粒子炮・改相比超能粒子炮,在威力上 ...