为什么要用到循环结构:

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

布尔表达式:是一段代码声明,它最终只有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. winform datagridview数据显示不全

    如果是内容是汉字,列的宽度设置不够时会自动换行,如果是数字和字母,是不会自动换行的,要把列宽设得足够,整个表格显示不全时,下面会有横向滚动条,如果看不见可能是高度超出了母控件的高度,设得低点就看见了

  2. 简单的 socket 代码

    TCP 编程 客户端代码 将键盘输入的字符发送到服务端,并将从服务端接收到的字符输出到终端 #!/usr/python3 import socket def socket_client(): s = ...

  3. django中ModelForm解决多表单组合显示问题

    一.多表单组合显示问题 在项目中用ModelForm生成页面时 当有多表单组合显示时,会显示全部的关联表单数据. 而在实际项目中可能会出现只想让用户选择部分数据,这时候这样的显示就有问题. 二.问题解 ...

  4. 浏览器HTTP_USER_AGENT汇总——Firefox、Chrome、IE9、IE8、IE7、IE6

    结论:  浏览器 \ OS XP(IE6) XP(IE7) XP(IE8) Win7 x64(IE9) 猎豹浏览器2.0急速模式     Chrome/21 猎豹浏览器2.0兼容模式 IE6     ...

  5. Python数组(二)

    一.函数list 可将任何序列(如字符串)作为list的参数.list实际上是一个类,而不是函数. test=['java','C#','C','C++'] print(list(test)) ——& ...

  6. 190320运算符&数据类型

    一.运算符 1.算术运算符 + 加 - 减 * 乘 / 除 ** 平方 // 整除 % 取余 2.比较运算符 == 等于 > 大于 < 小于 <= 小于等于 >= 大于等于 ! ...

  7. 关于zabbix _get返回Could not attach to pid的问题

    分析:这是因为由于zabbix客户端没有权限,导致zabbix_server端无法获取到键值数据!! 解决:在客户端上添加用户sudo的权限就可以解决了. 验证:是脚本的话还要在脚本里加上sudo的命 ...

  8. vue 在路由中复用组件

    首先需要在app.vue中引入: <template> <div id="app"> <!--<app-header></app-h ...

  9. bootstrap的使用2

    表单控件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  10. 洛谷P2800 又上锁妖塔

    放题解 题目传送门 放代码