循环语句——for循环

不念不忘少年蓝@ 2022-10-27 13:56 504阅读 0赞

文章目录

  • 前言
  • 一、循环结构概述语句
  • 二、for循环、while循环、do…while循环应用场景分析
  • 三、for循环
    • 1.for循环语句格式
    • 2.关于for循环的执行流程(单个for循环)
      • 2.1流程
      • 2.2例子(代码实现)
      • 小结
    • 3.多重for循环(详解!重要!理解!)
      • 3.1双重for循环——打印直接三角形(嵌套循环)
      • 小结
      • 3.2关于打印直接三角形双重for循环的剖析(干货)
      • 小结
  • 总结

前言

其实Java有趣的地方还是非常多的,不要觉得它是一个死板板的编程语言,其实它有自己的生命力,是一个非常好用的工具,能实现我们所想所思的东西,哎,一下话如决堤之水,滔滔不绝,话题止住,进入这次的主题——循环,而这次的循环分为三篇文章来说下。

一、循环结构概述语句

循环语句就是在满足一定条件的情况下反复执行某一个操作。在Java中提供了三个最常用的循环语句:for循环、while循环、do…while循环。

二、for循环、while循环、do…while循环应用场景分析

1、for循环
用于执行已知循环次数的语句

2、while循环
用于执行未知循环次数的语句。只有满足条件才循环。

3、do…while循环
用于执行未知循环次数的语句。不管是否满足条件,都至少会执行一次循环。

其实个人感觉用得最多的是前两个循环,do…while循环用得要少一点点,不过可能是我还没遇到那种特定的场景也说不一定哈。

三、for循环

1.for循环语句格式

for(初始化表达式;条件表达式;循环后的操作表达式){
循环体;
}

2.关于for循环的执行流程(单个for循环)

2.1流程

1、执行初始化语句
2、执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
3、执行循环体语句
4、执行循环后的操作表达式
5、回到步骤2继续循环
这个流程的排序是建立在4循环后的表达式先运行再自增(i++)与之相比的有一个先计算再自增(++i)

2.2例子(代码实现)

在这个例子中我会在for循环的对应位置上标上对应的流程步骤,方便方便大家加深理解
代码如下(示例):

  1. public class Test01 {
  2. public static void main(String[] args) {
  3. // 在我们没有学过for循环及其他循环是打印5次hello world,我们基本都是这样做的
  4. System.out.println("hello world");
  5. System.out.println("hello world");
  6. System.out.println("hello world");
  7. System.out.println("hello world");
  8. System.out.println("hello world");
  9. System.out.println("------这是一条华丽的分割线-------");
  10. // 使用for循环,打印5次hello world
  11. // 初始化条件 判断条件 循环后的表达式
  12. for(int i = 0; i < 5; i++) {
  13. // 循环体语句
  14. System.out.println("hello world");
  15. }
  16. }
  17. }

代码如下(输出):

  1. hello world
  2. hello world
  3. hello world
  4. hello world
  5. hello world
  6. ------这是一条华丽的分割线-------
  7. hello world
  8. hello world
  9. hello world
  10. hello world
  11. hello world

小结

其实不难看出for循环大大的节约了时间及算法的整体复杂度,还有适应性也就是Java中的代码的健壮性,这还是只是输出5次哦,如果一百次,一千次,一万次呢,甚至100万次呢,您复制粘贴还能行吗,而for循环只需要改一个判断条件就行了。

3.多重for循环(详解!重要!理解!)

3.1双重for循环——打印直接三角形(嵌套循环)

代码如下(示例):

  1. public class Triangle {
  2. public static void main(String[] args) {
  3. getStartTriangle(7);// 在同一个类中调用getStartTriangle,输出int类型的实参
  4. }
  5. public static void getStartTriangle(int rows) { // 给予一个int类型的形参
  6. for(int i = 1;i<=rows;i++) { // 建立外层for循环,初始条件为1,判断条件为是否小于参数rows,循环后的表达式为i++
  7. for(int z = 1;z<=i;z++) { //建立内层for循环,初始条件为1,判断条件为是否小于外层for循环的i,循环后的表达式为z++
  8. System.out.print("*");// 这是内循环的的输出,其中print表示输出不换行
  9. }
  10. System.out.println();// 这是外循环的输出,这里的功能是外循环一次是换行一次
  11. }
  12. }
  13. }

代码如下(输出):

  1. *
  2. **
  3. ***
  4. ****
  5. *****
  6. ******
  7. *******

小结

从这个代码演示的结果并不是很重要,我们应该注重的是那两个for循环的嵌套是怎么回事,是怎么个运行状态,接下来就这个例子,开始进行这两个for循环的嵌套是怎么运行的来好好剖析一下。

3.2关于打印直接三角形双重for循环的剖析(干货)

代码如下(测试):

  1. public class Test02 {
  2. public static void main(String[] args) {
  3. for(int i = 1;i<=4;i++) { //外层循环
  4. for(int z = 1;z<=i;z++) { // 内部循环
  5. System.out.println("i="+i);
  6. System.out.println("z="+z);
  7. System.out.println("------这是一条华丽的分割线-------");
  8. }
  9. }
  10. }
  11. }

代码如下(输出):

  1. i=1
  2. z=1
  3. ------这是一条华丽的分割线-------
  4. i=2
  5. z=1
  6. ------这是一条华丽的分割线-------
  7. i=2
  8. z=2
  9. ------这是一条华丽的分割线-------
  10. i=3
  11. z=1
  12. ------这是一条华丽的分割线-------
  13. i=3
  14. z=2
  15. ------这是一条华丽的分割线-------
  16. i=3
  17. z=3
  18. ------这是一条华丽的分割线-------
  19. i=4
  20. z=1
  21. ------这是一条华丽的分割线-------
  22. i=4
  23. z=2
  24. ------这是一条华丽的分割线-------
  25. i=4
  26. z=3
  27. ------这是一条华丽的分割线-------
  28. i=4
  29. z=4
  30. ------这是一条华丽的分割线-------

小结

其实从输出的结果大概就可以知道,外循环循环一次其实内循环的次数是不同的需要根据外循环来调整。

第一轮循环

就这个例子来看比如外循环为i为初始值1是,由于是i++,所以直接进入内循环,z = 1,1<=1,内循环循环完成,z自增1,此时z = 2,再进行内循环的判断,2!<=1,不满足条件,整个双重循环的结束第一轮,于是此时才是外循环i,开始自增,i= 2。

第二轮循环

此时的初始i = 2, 由于是i++,先计算再自增,直接进入内循环,此时的z又要从新从初始值开始z = 1,开始进入条件判断1<=2,所以结束本次内循环,z自增为2,又回到判断语句,z<=i即2<=2,结束本次计算,开始z自增为3,再进行判断但是此时3>2了,所以本次大循环结束,开始i自增为i = 3,

第三轮循环…
以此类推

总结

其实本人一开始就是因为这个例子,才开始看懂双循环是怎么个运行流程,随之就慢慢看懂其他的多重循环,其实基本原理基本都是一样的,所以特别将这个例子提出来给大家分享,个人感觉说得还是有点潦草,望大佬勿喷,有宝贵的意见能够分享出来给我。谢谢!

发表评论

表情:
评论列表 (有 0 条评论,504人围观)

还没有评论,来说两句吧...

相关阅读

    相关 for循环语句求和

    1 问题 使用Java这门编程语言,用for循环语句编写1到100求和程序。 2 方法 本题使用for循环,for 循环的语法规则如下:for(表达式 1;表达式