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中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应