【Java语言】— 循环结构 :for循环

news2024/9/23 13:24:14

循环结构:for循环

1.for循环

控制一段代码反复执行很多次。

for循环的格式如下:

for (初始化语句;循环条件;迭代语句){

		循环体语句(重复执行的代码);
		
}

下面我们通过案例:输出3次HelloWorld感受一下。

//需求:输出3次HelloWorld
for(int i = 0; i < 3; i++){
	System.out.println("HelloWorld");
}

通过对代码的运行,我们也成功得到了结果。

在这里插入图片描述

2.for循环案例1:求和

需求:求1-5之间的数据和,并把求和结果在控制台输出。

分析

  1. 定义for循环使其能够依次访问到:1、2、3、4、5。
for(int i = 1; i <= 5; i++){

}
  1. 在循环外定义一个整数变量sum用来累加这些数据。
int sum = 0;
for(int i = 1; i <= 5; i++){
	sum += i;
}
  1. 循环结束后,输出求和变量既是结果。

  代码

public static void main(String[] args) {
        // 需求:计算1-5的和
        // 2.在循环外定义一个整数变量sum用来累加这些数据。
        int sum = 0;
        // 1.定义for循环使其能够依次访问到:1、2、3、4、5。
        for (int i = 1; i <= 5; i++) {
            // i= 1 2 3 4 5
            // 3.把循环的数据累加给sum变量
            /**
             sum += i 等价于 sum = sum + i

             i == 1 sum = 0 + 1
             i == 2 sum = 0 + 1 + 2
             i == 3 sum = 0 + 1 + 2 + 3
             i == 4 sum = 0 + 1 + 2 + 3 + 4
             i == 5 sum = 0 + 1 + 2 + 3 + 4 + 5
             */
            sum += i;
        }
        System.out.println("1-5的和是:" + sum);
}

  结果

在这里插入图片描述

3.for循环案例2:求奇数和

需求:求1-10之间的奇数和,并把求和结果在控制台输出。

方式一

  1. 定义for循环使其能够依次访问到:1、2、3 … 10。

  2. 在for循环中,通过if筛选出奇数。

for(int i = 1; i <= 10; i++){
		if(i % 2 == 1){
		// i = 1 3 5 7...
		}
}
  1. 在循环外定义一个整数变量sum用来累加这些数据。

  代码

public static void main(String[] args) {
        // 需求:求1-10的奇数和
        // 3.定义一个求和的变量,累加奇数和
        int sum = 0;
        // 1.定义一个循环找到1 2 3...10
        for (int i = 1; i <= 10; i++){
            // i = 1 2 3 4 5 6 7 8 9 10
            // 2.筛选出奇数
            if(i % 2 == 1){
                // i = 1 3 5 7 9
                sum += i;
            }
        }
        // 4.输出求和变量即可
        System.out.println("1-10的奇数和是:" + sum);
}

  结果

在这里插入图片描述

方式二

  1. 定义for循环使其能够依次访问到:1、3、5 、7、9。
for(int i = 1; i <= 10; i+=2){
}
  1. 在循环外定义一个整数变量sum用来累加这些数据。

  代码

 System.out.println("--------------------");
	// 2.定义一个求和的变量,累加奇数和
	int sum1 = 0;
    // 1.定义一个循环找到1 3 5 7 9
    for (int i = 1; i <= 10; i+=2){
        // i = 1 3 5 7 9
        sum1 += i;
    }
    // 3.输出求和变量即可
    System.out.println("1-10的奇数和是:" + sum1);

  结果

在这里插入图片描述

4.for循环案例2:水仙花数

需求:在控制台输出所有的“水仙花数”,水仙花数满足如下两个要求:

  1. 水仙花数是一个三位数。
  2. 水仙花数的个位、十位、百位的数字立方和等于原数。

分析

  1. 定义一个for循环从100-999 。
  2. 每次访问到数据后,提取该数据的:个位、十位、百位数字。
  3. 使用if判断:个位、十位、百位的数字立方和是否等于原数,等于则输出数据。

  代码

public static void main(String[] args) {
        // 需求:找出水仙花数并输出
        // 1. 定义一个for循环找出全部三位数
        for (int i = 100; i <= 999; i++){
            // 2.判断这三个数是否满足要求
            // 个位
            int ge = i % 10;
            // 十位
            int shi = i / 10 % 10;
            // 百位
            int bai = i / 100;
            if ((ge*ge*ge + shi*shi*shi + bai*bai*bai) == i ){
                System.out.print(i + "\t");
            }
        }
    }

  结果

在这里插入图片描述

如何知道水仙花数的个数呢?

  • 在循环外定义一个变量count用于记录水仙花数。
  • 每输出水仙花数是,让count++。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/133347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenOCD 不同仿真器使用操作总结记录

针对不同的仿真器使用 OpenOCD 时候的设置操作总结 ...... 矜辰所致目录前言一、OpenOCD 环境搭建二、OpenOCD 基本测试三、Makefile 中仿真器配置3.1 ST-link3.2 Jlink3.2 CMSIS-DAP&#xff08;待更新&#xff09;结语前言 在使用 GCC 环境开发 ARM 系列芯片的时候&#x…

ArcGIS基础实验操作100例--实验35等高线生成DEM

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验35 等高线生成DEM 目录 一、实验背景 二、实验数据 三、实验步骤 方法一 &#xff…

4.5、静态路由配置及其可能产生的路由环路问题

静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表\color{red}人工配置路由表人工配置路由表。 这种人工配置方式简单、开销小。但不能及时适应网络状态&#xff08;流量、拓扑等&#xff09;的变化。\color{red}但不能及时适应网络状态&#xff08…

我的世界Bukkit服务器插件开发教程(十三)资源包与玩家资料

十三、资源包与玩家资料 1.资源包&#xff08;Resource Pack&#xff09; 早期的 Minecraft 并没有资源包一说&#xff0c;而是被叫做材质包。有些服务器为了让玩家拥有更好的游戏体验&#xff0c;一般会在自己特制的客户端中存放一些资源包供玩家加载。 显然&#xff0c;使用…

自动梯度计算

神经网络的参数主要通过梯度下降来进行优化&#xff0e; 当确定了风险函数以及网络结构后&#xff0c; 我们就可以手动用链式法则来计算风险函数对每个参数的梯度&#xff0c; 并用代码进行实现&#xff0e; 但是手动求导并转换为计算机程序的过程非常琐碎并容易出错&#xff0…

二叉树的基础oj题(单值二叉树、相同的树、对称二叉树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的构建和遍历、翻转二叉树)

今天&#xff0c;我带来二叉树的基础oj题 目录单值二叉树&#xff1a;[链接](https://leetcode.cn/problems/univalued-binary-tree/)相同的树&#xff1a;[链接](https://leetcode.cn/problems/same-tree/)对称二叉树&#xff1a;[链接](https://leetcode.cn/problems/symmetr…

syzkaller 黑盒测试1:环境搭建

syzkaller 黑盒测试1&#xff1a;环境搭建 近期需要使用syzkaller对某Linux发行版系统内核进行测试&#xff0c;但是未提供内核源码&#xff0c;只能在黑盒条件下测试。这是笔者第一次接触syzkaller&#xff0c;对测试流程不太熟悉。另外&#xff0c;网上很少有syzkaller黑盒测…

C语言版扫雷——从0到1实现扫雷小游戏

&#x1f412;博客名&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;有志者&#xff0c;事竟成&#xff0c;破釜沉舟&#xff0c;百二秦关终属楚&#xff1b;苦心人&#xff0c;天不负&#xff0c;卧薪尝胆&#xff0c;三千越甲可吞吴。 扫雷思维导图 目录 扫雷思维…

9_2、Java基本语法之常用类日期、时间类的使用

一、JDK 8之前时间日期API jdk8之前的日期时间类 1.System的currentTimeMillis() 2.java.util.Date以及子类java.sql.Date 3.SimpleDateFormat 4.Calender类&#xff1a;日历类 1、获取系统当前时间&#xff1a;System类下的currentTimeMillis(); //返回的是当前时间与1970年…

MySQL--整合Keepalived进行双机热备自动切换(升级版)

原文网址&#xff1a;MySQL--整合Keepalived进行双机热备自动切换&#xff08;升级版&#xff09;_IT利刃出鞘的博客-CSDN博客 简介 本文介绍MySQL整合Keepalived进行双机热备自动切换&#xff08;升级版&#xff09;。 服务器要考虑高可用问题。nginx、tomcat、缓存、队列、数…

Java开发的古董拍卖系统竞标系统拍卖网

简介 古董展品拍卖网站 用户可以注册成为买家也可以申请开店成为卖家&#xff0c;发布古董展品&#xff0c;设置拍卖起止时间进行展品的拍卖。如果早于拍卖开始时间或者晚于拍卖结束时间&#xff0c;则不可以竞拍。多人竞拍&#xff0c;买家可以根据最高价设置谁中标&#xff…

系分 - 结构化方法【概念】

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 系分 - &#xff08;概念&#xff09;结构化方法 结构化方法贯穿整个软件工程全部&#xff0c;可以单独细分出来作为某个软件工程环节的技术指引 结构化方法&#xff0c;由结构化分析&#xff08;SA&#xff0c;St…

【C语言进阶】速学,不会用数据库可不能再错过文本与二进制文件操作

目录 ✨前言✨&#xff1a; &#x1f388;一、文本文件与二进制文件&#x1f388;&#xff1a; &#x1f381;二、文件读取结束的判定&#x1f381;&#xff1a; 1.错误使用 feof 函数&#xff1a; 2.判断文件读取结束&#xff1a; &#x1f38a;三、文件缓冲区&#x1f38…

Ubuntu虚拟机图文安装详细教程

Hello, 小伙伴们&#xff0c;大家好&#xff01;今天教大家一步一步进行ubuntu虚拟机的安装。俗话说的好&#xff1a;“工欲善其事必先利其器”&#xff0c;作为一名嵌入式软件开发人员&#xff0c;我们必须熟悉Linux系统的操作及使用&#xff0c;熟练掌握Linux系统下的开发&am…

java 接口的私有方法

其实java8就已经做下伏笔了 在拥有静态和默认 两种拥有方法体的方法之后 接口出现私有方法也是一种必然 然后我们来创建一个包 包下创建一个接口 subInterface 参考代码如下 public interface subInterface {private void show2() {System.out.println("我是一个私有方…

头条权重在线查询,头条号增加权重的4个妙招

头条号权重可以简单理解为头条号指数&#xff0c;刚开通头条号的时候&#xff0c;会根据头条号的领域、介绍等等给予相应的权重。后期会根据账号使用情况进行调整权重&#xff0c;提高或者降低。 头条权重在线查询方法 打开“站长工具”之后&#xff0c;输入网站网址。…

LeetCodeday04

24. 两两交换链表中的节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3…

JavaScript篇.day08-DOM,节点,事件,定时器,位置及坐标

目录 1.DOM 2.DOM相关操作 (1)获取元素 (2)操作元素 (3)操作元素属性 (4)操作元素类名 (5)操作元素样式 3.节点操作 4.事件 5.事件传播 6.定时器 7.位置及坐标 1.DOM Document Object Model 文档对象模型一整套操作文档流相关内容的属性和方法可以做的操作: 修改样…

前端框架搭建(六)搭建页面框架【vite】

1.安装所需依赖 需要安装 vue-routernaive视图框架 npm npm install vue-router4 yarn yarn add vue-router4npm i -D naive-ui2.搭建naive适配框架 创建文件夹——存放通用组件 在components下创建文件夹common 全局配置常用组件 在之前创建的global.d.ts中添加Window…

枚举的应用

枚举&#xff1a; 在数学和计算机科学理论中&#xff0c;一个集的枚举是列出某些有穷序列集的所有成员的程序&#xff0c;或者是一种特定类型对象的计数。这两种类型经常&#xff08;但不总是&#xff09;重叠。 [1] 是一个被命名的整型常数的集合&#xff0c;枚举在日常生活…