为什么要用到循环结构:

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

布尔表达式:是一段代码声明,它最终只有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. kali linux之DNS,NTP放大攻击

    DNS放大: 产生大流量的攻击方法-----单机的带宽优势,巨大的单机数量形成的流量汇聚,利用协议特性实现放大效果的流量 DNS协议放大效果----查询请求流量小,但响应流量可能非常巨大(dig AN ...

  2. 也谈ObjectARX多版本批量编译

    也谈ObjectARX多版本批量编译 by edata 2017-12-10 因某些原因,我的电脑系统依旧是windows XP,所以能安装的vs最高版本是vs2010,以下均在vs2010上实现,其 ...

  3. ulimit -n 查看可以打开的最大文件描述符的数量

    具体ulimit命令参考 https://www.cnblogs.com/wangkangluo1/archive/2012/06/06/2537677.html

  4. 18.阻止默认操作e.preventDefault();防止冒泡事件:e.stopPropagation()

      一.加了e.preventDefault();会阻止a标签默认的点击跳转效果 <!DOCTYPE html> <html lang="en"> < ...

  5. NAND NOR Flash 和MTD

    来自:http://blog.sina.com.cn/s/blog_6b489d5e0102xm62.html 一.NAND和NOR Flash 一般来说,快闪记忆体可分为两大规格,一个是NAND, ...

  6. JS 节点的属性 与 元素

    节点的属性{     nodeType 是节点的类型:     nodeNam 是节点的名字     nodeValue 节点的值 }可以用节点.属性 取得三个属性的值 节点.nodeType 出来的 ...

  7. js 的常用选择器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. JavaWeb学习笔记(五)—— request

    一.request概述 request是Servlet.service()方法的一个参数,类型为javax.servlet.http.HttpServletRequest.在客户端发出每个请求时,服务 ...

  9. asp web服务

    项目名--->添加--->web引用 网址:http://www.webxml.com.cn/zh_cn/index.aspx https://blog.csdn.net/linshich ...

  10. 【AC自动机】【字符串】【字典树】AC自动机 学习笔记

    blog:www.wjyyy.top     AC自动机是一种毒瘤的方便的多模式串匹配算法.基于字典树,用到了类似KMP的思维.     AC自动机与KMP不同的是,AC自动机可以同时匹配多个模式串, ...