Java基础05 循环结构

2024-09-04 20:38
文章标签 java 基础 05 结构 循环

本文主要是介绍Java基础05 循环结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

超详细的Java知识点路线图


前言

再复杂的程序都是由三种基本结构组成的:顺序结构、分支结构和循环结构,本文我们就学习这个循环结构,本文内容包含:for\while\do-while循环、循环控制break和continue以及嵌套循环。

循环

LOL中的盖伦的E技能是拿剑转圈,假设一共需要转十圈,程序是如何控制他执行重复的转圈操作呢?
答案就是:通过循环反复去执行一段代码

Java中的循环有

  • for
  • while
  • do-while

循环的三个要素

  1. 停止循环的条件
  2. 起始量,循环变量的初始化
  3. 循环变量的更新

for循环

一般用于固定次数的循环
语法结构:

for(循环变量的初始化;循环的条件;循环变量的更新){循环的执行语句;
}

执行流程:

  1. 初始化
  2. 判断循环条件,如果成立
  3. 执行循环语句
  4. 变量的更新
  5. 判断循环条件

    在这里插入图片描述

练习:
1、转圈的案例

for(int i = 1;i <= 10;i++){System.out.println("盖伦转了" + i + "圈");
}

2、输出100到999之间的所有奇数
3、求5的阶乘。5!= 1 * 2 * 3 * 4 * 5
4、求1~100的总和

while循环

while循环执行的流程和for一样
语法:

循环变量的初始化
while(循环条件){循环的执行语句循环变量的更新
}

练习:
1、用while循环完成

int i = 1;
while(i <= 10){System.out.println("盖伦转了" + i + "圈");i++;
}

2、用while循环完成,输入两个数字m和n,求m和n之间数字的总和(假设m < n)

do-while循环

语法:

变量的初始化;
do{循环执行的语句;变量的更新;
}while(循环条件);

do-while和for、while的区别:
for、while是先进行条件判断,再执行循环语句,如果条件不成立,一次都不执行。
do-while是先执行循环语句,再进行条件判断,如果条件不成立,至少会执行一次。
执行流程:
在这里插入图片描述

练习:一个人跑步,跑完1圈后,询问他是否继续跑,当回答“y”时,继续跑下一圈,否则结束跑步。
1、使用do-while完成
2、循环变量使用String类型
3、循环代码,先输出跑完一圈,再给循环变量输入字符串
4、循环的条件是变量值为"y”

Scanner input = new Scanner(System.in);
String answer = "";
do{System.out.println("跑完了一圈,是否要继续跑?");answer = input.next();
}while(answer.equals("y"));
System.out.println("跑完了,休息下");

break关键字

问题:假设一个人准备在公司上一年班,假设是365天,如果这个人在第100天买彩票发财了,不想再上班了,怎么办?
——使用break关键字
break作用:在循环中间停止整个循环的执行。

//使用循环模拟上365天班
for(int i = 1;i <= 365;i++){System.out.println("上了"+i+"天班");//在第100天中奖,辞职不上班了if(i == 100){//停止整个循环的执行break;}
}

continue关键字

问题:假设上面那个人不是真的中彩票,只是做梦,但是睡觉着凉了,在第100天想请一天假再继续上班,怎么办?
——使用continue关键字
continue作用:在循环中间跳过某一次循环的执行,继续下一次循环。

for(int i = 1;i <= 356;i++){//在第100天,跳过当天的上班if(i == 100){System.out.println("今天发烧了,要请假!");//跳过本次循环,继续continue;}System.out.println("上第"+i+"天班");
}

练习:
1、求1到100的和,和超过2000,就结束
2、输出1到100之间所有尾数不是3的数

嵌套循环

循环内部可以执行任何语句,包括另一个循环,这样就形成了嵌套循环。
如:

for(...){for(...){...}
}
while(..){while(..){...}
}

等,for、while、do-while也可以相互嵌套。

嵌套循环的执行流程:
外部循环执行一次,内部循环执行一轮
在这里插入图片描述

练习1:模拟分秒时间。
分析:
秒钟的循环被嵌套在分钟的循环内部
秒钟执行一轮,分钟执行一次

for(int i = 0;i < 60;i++){for(int j = 0;j < 60;j++){System.out.printf("当前时间是:%d分%d秒\n",i,j);}
}

练习2:输出55正方形,每次只输出一个
分析:
外层循环控制打印的行数
内层循环控制打印的*数

//外层控制行数
for(int i = 1;i <= 5;i++){//内层控制打印5个*for(int j = 1;j <= 5;j++){System.out.print("* ");}//输出换行System.out.println();
}

练习3:输出直角三角形

*
* *
* * *
* * * *
* * * * *

练习4:倒直角三角形

* * * * *
* * * *
* * *
* *
*

练习5:输出等腰三角形

        ** * ** * * * ** * * * * * *
* * * * * * * * *

嵌套循环的break和continue

for(...){for(...){if(...){break/continue;}}
}

内层循环中的break和continue只对内层循环起作用,对外层没有影响。
如果希望break和continue影响外层循环,可以使用label语句(label文字可以自定义)

label:
for(...){for(...){if(...){break label;}}
}

结束

好了,留点作业给大家:

  1. 输出20个斐波拉契数字:
    1 、1 、2 、3 、5 、8 、13 、21 、34 …
    从第三个数开始,每一个数等于前两个数之和。

  2. 输出菱形

        ** * ** * * * ** * * * * * *
* * * * * * * * ** * * * * * ** * * * ** * * *
  1. 求1~·100间所有的素数(只能被1和自身整除)

大家如果需要学习其他Java知识点,戳这里 超详细的Java知识点汇总

这篇关于Java基础05 循环结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136970

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input