为什么要用到循环结构:

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

布尔表达式:是一段代码声明,它最终只有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. JVM之类加载机制

    JVM之类加载机制 JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程. 类加载五部分 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这 ...

  2. vs更改项目文件夹名称

    改完之后会提示找不到.csproj,用文档工具打开.sln文件,把里面找.csproj的路径修改一下就好了

  3. uoj #297. 【CTSC2017】密钥

    #297. [CTSC2017]密钥 一个密钥是一个长度为 n=2k+1n=2k+1 的字符串,它包含 11 个字母X.kk 个字母 A 和 kk 个字母 B.例如 k=3k=3 时,BAXABAB ...

  4. 使用@符号让C#中的保留字做变量名的方法详解

    原来还有一种办法就是加@符号(看了@符号的作用又多了一个): 复制代码代码如下: class @int    {        static void Main(string[] args)      ...

  5. JS 为任意元素添加任意事件的兼容代码

    为元素绑定事件(DOM):有两种 addEventListener 和 attachEvent:   相同点: 都可以为元素绑定事件 不同点: 1.方法名不一样 2.参数个数不一样addEventLi ...

  6. struts2学习笔记(六)—— 拦截器

    一.拦截器概述 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前进行拦截,然后在之前或之后加入某些操作.拦截器是AOP的一种实现策略. 在We ...

  7. mysql 表的分区

    如何判断当前MySQL是否支持分区 命令:show variables like '%partition%' 运行结果: mysql> show variables like '%partiti ...

  8. bcdedit /copy {current} /d "xxx" 报错,提示找不到系统文件

    步骤: cd c:windows/system32 bcdedit /set {default} osdevice boot bcdedit /set {default} device boot bc ...

  9. bzoj4548: 小奇的糖果 题解

    题目链接 题解 不包含所有颜色 就强制不选一个颜色 图中圆点颜色相同 矩形越大,包括的点一定不比其一小部分少 如图所示,最大矩形只有3种 离散化\(x\)坐标 然后按\(y\)排序 每次取出颜色的前驱 ...

  10. 简单探究一下window下的wifi各种东西

    保存地方在哪里 C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W ...