Java的三种循环

Java三种循环结构:

1、for循环 2、while循环 3、do...while循环

循环结构组成部分:1、条件初始化语句,2、条件判断语句 , 3、循环体语句,4、条件控制语句

  1. 条件初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候条件是什么样的;

  2. 条件判断语句:用于表示循环反复执行的条件,判断结果,决定循环是否继续执行;

  3. 循环体语句:用于表示循环反复执行的具体内容;

  4. 条件控制语句:用于控制每次循环变化的内容,条件的变化控制循环是否继续执行下去。

循环结构对应的语法:

  1. 初始化语句:可以是一条或多条语句,这些语句可完成一些初始化操作;

  2. 条件判断语句:这是一个boolean(布尔)类型的表达式,这个表达式决定是否执行循环体;

  3. 循环体语句:这里可以是任意语句,这些语句将反复执行,直到条件判断语句为false;

  4. 条件控制语句:这里通常用一条语句改变变量的值,控制循环是否继续执行下去。常见i++,i--这样的操作。

【for循环语句】

格式:

for(条件初始化语句;条件判断语句;条件控制语句){

循环体语句;

}

执行流程:

  1. 执行初始化语句;

  2. 执行条件判断语句,看其结果是true还是false,如果是false则结束循环,如果是true则继续执行;

  3. 执行循环体语句;

  4. 执行条件控制语句;

  5. 回到2继续。


【while循环】

格式

条件初始化语句;

while(条件判断语句){

循环体;

条件控制语句;

}

执行流程:

  1. 执行初始化语句;

  2. 执行条件判断语句,如果是false则结束循环,如果是true继续循环;

  3. 执行循环体语句;

  4. 执行条件控制语句;

  5. 回到2继续。


【do...while循环语句】

格式:

初始化语句

do{

循环体语句;

条件控制语句;

}while(条件判断语句);

执行流程:

  1. 执行初始化语句

  2. 执行循环体语句

  3. 执行条件控制语句

  4. 执行条件判断语句,看其结果是true还是false,如果是false,循环结束,如果是true,继续执行

  5. 回到2继续

三种循环的区别:

  1. for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行);

  2. do...while先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断);

  3. for循环中条件控制语句所控制的自增变量,归属在for循环的语法结构中,for结束后,无法再次访问

  4. while循环,条件控制语句自增变量,在while循环语句之外,循环结束后,该变量可继续使用。

例子:

public static void main(String[] args) {
/*Java三种循环
1、for循环
2、while循环
3、do...while循环
三种循环的区别:
1、or循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行);
2、do...while先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断);
3、for循环中条件控制语句所控制的自增变量,归属在for循环的语法结构中,for结束后,无法再次访问
while循环,条件控制语句自增变量,在while循环语句之外,循环结束后,该变量可继续使用。
*/
//for循环
for (int i = 1; i <= 5; i++) {
System.out.println("for第" + i + "次循环");
}
System.out.println("--------"); //while循环
int j=1; //条件初始化语句
while(j<=5){
System.out.println("while第" + j + "次循环");
j++;//条件控制语句
}
System.out.println("--------"); //do..while循环
int k=1; //条件初始化语句
do{
System.out.println("do...while第" + k + "次循环");
k++; //添加控制语句
}while(k<=5);
}

Java的三种循环:1、for循环 2、while循环 3、do...while循环的更多相关文章

  1. Java的三种代理模式&完整源码分析

    Java的三种代理模式&完整源码分析 参考资料: 博客园-Java的三种代理模式 简书-JDK动态代理-超详细源码分析 [博客园-WeakCache缓存的实现机制](https://www.c ...

  2. Java的三种代理模式

    Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...

  3. Java的三种代理模式简述

    本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...

  4. 理解java的三种代理模式

    代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). 1 public class ...

  5. java 的三种代理

    java的三种代理模式   1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作, ...

  6. Java的三种代理模式(Spring动态代理对象)

    Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...

  7. Java语言----三种循环语句的区别

    ------- android培训.java培训.期待与您交流! ---------- 第一种:for循环 循环结构for语句的格式:       for(初始化表达式;条件表达式;循环后的操作表达式 ...

  8. java基础三种循环的使用及区别

    摘要:Java新人初学时自己的一些理解,大神们路过勿喷,有什么说的不对不足的地方希望能给予指点指点,如果觉得可以的话,希望可以点一个赞,嘿嘿,在这里先谢了.在这里我主要说的是初学时用到的Java三个循 ...

  9. java中三种for循环之间的对比

    普通for循环语法: for (int i = 0; i < integers.length; i++) { System.out.println(intergers[i]); } foreac ...

随机推荐

  1. 第2章 在 HTML中 使用 JavaScript

    第2章 在 HTML中 使用 JavaScript 2.1 script 元素 2.1.1 标签的位置 2.1.2 延迟脚本 2.1.3 异步脚本 2.1.4 在XHTML中的使用 2.1.5 不推荐 ...

  2. Java源码系列2——HashMap

    HashMap 的源码很多也很复杂,本文只是摘取简单常用的部分代码进行分析.能力有限,欢迎指正. HASH 值的计算 前置知识--位运算 按位异或操作符^:1^1=0, 0^0=0, 1^0=0, 值 ...

  3. docker - 如何清理硬盘中无关占用

    背景 在使用docker进行容器化管理后会发现本次硬盘文件占用量在不断上升,并且即使是删除掉容器或者镜像也并不能释放掉对应的硬盘空间.本文将提供对应的docker命令用于真正释放掉该部分应被删除释放的 ...

  4. [PKUWC2018]Minimax [dp,线段树合并]

    好妙的一个题- 我们设 \(f_{i,j}\) 为 \(i\) 节点出现 \(j\) 的概率 设 \(l = ch[i][0] , r = ch[i][1]\) 即左儿子右儿子 设 \(m\) 为叶子 ...

  5. 题解【洛谷P2730】魔板 Magic Squares

    题面 首先我们可以发现,在每一次 BFS 时按照 \(A→B→C\) 的顺序枚举遍历肯定是字典序最小的. 然后就是普通的 BFS 了. 我们考虑使用 \(\text{STL map}\) 来存储起点状 ...

  6. [译]C# 7系列,Part 10: Span<T> and universal memory management Span<T>和统一内存管理

    原文:https://blogs.msdn.microsoft.com/mazhou/2018/03/25/c-7-series-part-10-spant-and-universal-memory- ...

  7. Tensor的合并与分割

    先来看一下有哪些接口用来进行张量的合并与分割: tf.concat用来进行张量的拼接,tf.stack用来进行张量的堆叠,tf.split用来进行张量的分割,tf.unstack是tf.split的一 ...

  8. stringstream使用小结

    1.头文件:#include<sstream> 2.stringstream是C++提供的串流(stream)物件 3.clear()重置流的标志状态:str()清空流的内存缓冲,重复使用 ...

  9. Educational Codeforces Round 82 (Rated for Div. 2)

    题外话 开始没看懂D题意跳了,发现F题难写又跳回来了.. 语文好差,码力好差 A 判第一个\(1\)跟最后一个\(1\)中\(0\)的个数即可 B 乘乘除除就完事了 C 用并查集判一下联通,每个联通块 ...

  10. One CLI for webpack must be installed. These are recommended choices, delivered as separate packages:

    C:\Users\arn>webpack -v One CLI for webpack must be installed. These are recommended choices, del ...