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

相关文章

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为