循环结构的学习

循环结构

文章目录

    • 为什么要学习循环
    • while循环
    • dowhile循环
    • 偶数之和
    • 断点调试
    • 购物结算
    • 循环的选择
    • 类名和全类名
    • 摄氏华氏对照表
    • for循环
    • for执行次序
    • 五门功课成绩
    • for的特殊写法
    • break和continue
    • 录入客户信息_continue使代码优雅
    • 小数的比较不能用==或!=

为什么要学习循环

在编写代码时,业务需求(项目要求)原地打转,符合条件结束循环。
马拉松 (操场

while循环

在这里插入图片描述

public class Demo01 {
    public static void main(String[] args) {
        /*
        while (条件) {
            循环的体(内容);
            更新条件;
        }
        1 +到 100,5050
         */
        int i = 1, sum = 0;
        while (i <= 100) {
            sum += i;
            i++;
        }
        System.out.println("和:" + sum);
    }
}

dowhile循环

在这里插入图片描述

public class Demo02 {
    public static void main(String[] args) {
        /*
        do {
            循环的体(内容);
            更新条件;
        } while(条件);
        1 +到 100,5050
         */
        int i = 1, sum = 0;
        do {
            sum += i;
            i++;
        } while (i <= 100);
        System.out.println("和:" + sum);
    }
}

偶数之和

学员操作一计算100以内的偶数之和
训练要点
while循环结构
程序调试
需求说明
编程实现: 计算100以内 (包括100) 的偶数之和设置断点并调试程序,观察每一次循环中变量值的变化

在这里插入图片描述

public class Demo03 {
    public static void main(String[] args) {
        int n = 1, sum = 0;
        while (n <= 100) {
            if (n % 2 == 0) sum += n;
            n++;
        }
        System.out.println("sum: " + sum);
    }
}

断点调试

在这里插入图片描述

购物结算

在这里插入图片描述

import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("购物结算");
        System.out.println("请选择商品编号:");
        System.out.println("1.T恤  2.网球鞋 3.网球拍");

        String jx = "y";
        while (jx.equals("y")) {
            System.out.print("请输入商品编号:");
            int select = scanner.nextInt();
            switch (select) {
                case 1:
                    System.out.println("T恤 100元");
                    break;
                case 2:
                    System.out.println("网球鞋 200元");
                    break;
                case 3:
                    System.out.println("网球拍 300元");
                    break;
            }
            System.out.print("是否继续(y/n):");
            jx = scanner.next();
        }

        System.out.println("程序结束!");
    }
}

循环的选择

在这里插入图片描述

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("购物结算");
        System.out.println("请选择商品编号:");
        System.out.println("1.T恤  2.网球鞋 3.网球拍");

        String jx;
        do {
            System.out.print("请输入商品编号:");
            int select = scanner.nextInt();
            switch (select) {
                case 1:
                    System.out.println("T恤 100元");
                    break;
                case 2:
                    System.out.println("网球鞋 200元");
                    break;
                case 3:
                    System.out.println("网球拍 300元");
                    break;
            }
            System.out.print("是否继续(y/n):");
            jx = scanner.next();
        } while (jx.equals("y"));

        System.out.println("程序结束!");
    }
}

类名和全类名

在这里插入图片描述

摄氏华氏对照表

在这里插入图片描述

public class Demo06 {
    public static void main(String[] args) {
        /*
            使用do-while实现:输出 *摄氏温度 与 *华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的 *条目 不超过10条。
            转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 3
         */
        double huashidu, sheshidu = 0;
        int count = 0;
        do {
            huashidu = sheshidu * 9 / 5.0 + 32;
            System.out.println(sheshidu + " vs. " + huashidu);
            sheshidu += 20;
            count++;
        } while (sheshidu <= 250 && count <= 10);
    }
}

for循环

在这里插入图片描述

public class Demo07 {
    public static void main(String[] args) {
        /*
        1 +到 100,5050
        特点:循环次数固定下来的。建议使用for循环。
        for (声明初始化循环变量; 条件; 修改循环变量) {
            循环体;
        }
         */
        int sum = 0;
        for (int i=0; i<=100; i++) {
            sum += i;
        }
        System.out.println("和:" + sum);
    }
}

for执行次序

在这里插入图片描述

五门功课成绩

在这里插入图片描述

import java.util.Scanner;

public class Demo08 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入姓名:");
        String name = scanner.next(); // 记录姓名
        int sum = 0; // 记录总成绩
        for (int i=1; i<=5; i++) {
            System.out.print("请输入5门功课的第" + i + "门的成绩:");
            sum += scanner.nextInt();
        }
        System.out.println(name + "的平均分是:" + sum / 5.0);
    }
}

for的特殊写法

在这里插入图片描述

public class Demo09 {
    public static void main(String[] args) {
        for (int i=0,j=6; i<=6; i++,j--) {
            System.out.println(i + "+" + j + "=" + 6);
        }
    }
}

break和continue

在这里插入图片描述

import java.util.Scanner;

public class Demo10 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int sum = 0;
        for (int i=1; i<=5; i++) {
            System.out.print("成绩:");
            int cj = scanner.nextInt();
            if (cj < 0) break; // 结束循环
        }

        System.out.println("最后");
    }
}

import java.util.Scanner;

public class Demo11 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int sum = 0;
        for (int i=1; i<=5; i++) {
            System.out.print("成绩:");
            int cj = scanner.nextInt();
            if (cj < 0) continue; // 忽略当次
            sum += cj;
        }

        System.out.println("和:" + sum);
    }
}

录入客户信息_continue使代码优雅

在这里插入图片描述

import java.util.Scanner;

public class Demo12 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("> 添加客户信息");
        for (int i=1; i<=3; i++) {
            System.out.print("会员号《4位》:");
            int id = scanner.nextInt();
            if (id >= 1000 && id <= 9999) { // 满足条件1
                System.out.print("生日《mm/dd》:");
                String birth = scanner.next();
                if (birth.length() == 5) { // 满足条件2
                    System.out.print("积分:");
                    int jifeng = scanner.nextInt();
                    if (jifeng >= 0) { // 满足条件3
                        System.out.println("会员信息是:\n" + id + "\t" + birth + "\t" + jifeng);
                    }
                }
            }
        }

        System.out.println("程序结束!");
    }
}

使用continue

import java.util.Scanner;

public class Demo13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("> 添加客户信息");
        for (int i=1; i<=3; i++) {
            System.out.print("会员号《4位》:");
            int id = scanner.nextInt();
            if (id < 1000 || id > 9999) continue; // 过滤
            System.out.print("生日《mm/dd》:");
            String birth = scanner.next();
            if (birth.length() != 5) continue; // 过滤
            System.out.print("积分:");
            int jifeng = scanner.nextInt();
            if (jifeng < 0) continue; // 过滤
            System.out.println("会员信息是:\n" + id + "\t" + birth + "\t" + jifeng);
        }

        System.out.println("程序结束!");
    }
}

小数的比较不能用==或!=


import java.util.Scanner;

public class Demo14 {
    public static void main(String[] args) {
        final double JINDU = 0.00001;
        /*
        1. 录入一个小数1,小数2,小数3。
            判断小数1+小数2是否等于小数3?
            小数是模拟出来的数,近似值。无法用== !=进行比较的。
         */
        Scanner scanner = new Scanner(System.in);
        System.out.print("小数1:");
        double d1 = scanner.nextDouble();
        System.out.print("小数2:");
        double d2 = scanner.nextDouble();
        System.out.print("小数3:");
        double d3 = scanner.nextDouble();
        if (d1 + d2 <= d3+JINDU && d1 + d2 >= d3-JINDU) System.out.println("d1+d2==d3");
        else System.out.println("d1+d2!=d3");

        System.out.println("程序结束!");
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux操作系统】Vim:提升你的编辑效率

Vim是一款功能强大的文本编辑器&#xff0c;它具有高度可定制性和灵活性&#xff0c;可以帮助程序员和文本编辑者提高编辑效率。本文将介绍Vim的基本使用方法、常用功能和一些实用技巧。 文章目录 1. Vim的基本使用方法&#xff1a;2. 常用功能&#xff1a;2.1 文件操作&#…

TextBox基本使用

作用&#xff1a; 文本框&#xff0c;用于展示文本、输入文本 常用属性&#xff1a; 文本属性 允许多行 常用事件&#xff1a; 后台代码&#xff1a; private void textBox4_TextChanged(object sender, EventArgs e){//实时获取输入的文本label3.Text textBox4.Text;}

基于vue医院分时段预约挂号系统java病历管理系统snsj0

伴随着我国社会的发展&#xff0c;人民生活质量日益提高。互联网逐步进入千家万户&#xff0c;改变传统的管理方式&#xff0c;医院病历管理系统以互联网为基础&#xff0c;利用java技术&#xff0c;和mysql数据库开发设计一套医院病历管理系统&#xff0c;提高工作效率的同时&…

ClickHouse目录结构

默认安装路径&#xff1a;/var/lib/clickhouse/ 目录结构&#xff1a; 主要介绍metadata和data metadata 其中的default、system及相应的数据库&#xff0c;.sql文件即数据库创建相关sql语句 进入default数据库&#xff08;默认数据库&#xff09;&#xff1a; 可以看到数据库…

Kafka介绍

目录 1&#xff0c;kafka简单介绍 2&#xff0c;kafka使用场景 3&#xff0c;kafka基本概念 kafka集群 数据冗余 分区的写入 读取分区数据 顺序消费 顺序消费典型的应用场景&#xff1a; 批量消费 提交策略 kafka如何保证高并发 零拷贝技术&#xff08;netty&#…

VSCode---通过ctrl+鼠标滚动改变字体大小

打开设置然后在右边输editor.mouseWheelZoo勾选即可实现鼠标滚动改变字体大小 4.这种设置的字体大小是固定的

新一代开源流数据湖平台Apache Paimon入门实操-上

文章目录 概述定义核心功能适用场景架构原理总体架构统一存储基本概念文件布局 部署环境准备环境部署 实战Catalog文件系统Hive Catalog 创建表创建Catalog管理表查询创建表&#xff08;CTAS&#xff09;创建外部表创建临时表 修改表修改表修改列修改水印 概述 定义 Apache Pa…

全面了解CPU Profiler:解读CPU性能分析工具的核心功能与用法

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、使用3.1 通过调用系统API3.2 通过Android Stu…

三、PWM呼吸灯

1. 什么是呼吸灯 如下图中的蓝色LED灯,不再是亮灭交替,而是慢慢亮慢慢灭,这就是呼吸灯 生活中常见 2. 怎样实现? 答:用PWM

【云原生】Docker-Compose全方面学习

目录 1.compose简介 Compose V2 2.compose安装与下载 二进制包 PIP 安装 bash 补全命令 卸载 3.docker compose管理命令 命令对象与格式 命令选项 命令使用说明 1.compose简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose&#xff0c;您可…

使用 Amazon ECS Anywhere 在边缘部署 Amazon IoT Greengrass

1.概述 亚马逊云科技提供了完备的IoT服务能力&#xff0c;涵盖设备服务、连接和控制服务以及云端分析服务&#xff0c;是快速构建安全可靠、可扩展的 IoT 平台的常见选择。Amazon IoT Greengrass 边缘运行时和云服务&#xff0c;可帮助您在设备上构建、部署和管理 IoT 应用。A…

VisualStudioWindows下 远程调试

前置条件 1、调试方与被调试方&#xff0c;以下简称调试方为A&#xff0c;被调试方为B。A与B双方能相互ping通 2、B需要运行RemoteDebugger服务&#xff0c;该程序位于C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Remote Debugger下。 我这里是安装…

扩散模型实战(二):扩散模型的发展

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型从最初的简单图像生成模型&#xff0c;逐步发展到替代原有的图像生成模型&#xff0c;直到如今开启 AI 作画的时代&#xff0c;发展速度可谓惊人。下面介绍一下2D图像生成相…

blender基础认识(选项开关、工具栏、视图等)

文章目录 引言一、大纲选项开关和保存启动文件1. 大纲选项1. 禁用选中2. 视图影藏3. 视图禁用4. 渲染禁用 2. 保存启动文件 二、工具栏和侧边栏1. 左侧工具栏2. 右侧工具栏 三、视图1. 视角2. 缩放3. 拖拽4. 摄像机视角5. 切换正交视图6. 局部视图7. 显示隐藏 四、添加删除物体…

2023/8/5总结

主要实现了&#xff1a; 举报&#xff1a; 内容管理搜索的实现 管理员界面 还有消息没写&#xff0c;以及一些小细节

插入排序【Java算法】

文章目录 1. 概念2. 思路3. 代码实现 1. 概念 通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应的位置并插入。 插入排序非常类似于整扑克牌。在开始摸牌时&#xff0c;左手是空的&#xff0c;牌面朝下放在桌上。接着&a…

程序员副业指南:怎样实现年入10w+的目标?

大家好&#xff0c;这里是程序员晚枫&#xff0c;全网同名。 今天给大家分享一个大家都感兴趣的话题&#xff1a;程序员可以做什么副业&#xff0c;年入十万&#xff1f; 01 推荐 程序员可以从事以下副业&#xff0c;以获得一年收入10w&#xff1a; 兼职编程&#xff1a;可…

数学知识(二)

一、裴蜀定理 对于任意整数a,b&#xff0c;一定存在非零整数x,y&#xff0c;使得 ax by gcd(a,b) #include<iostream> #include<algorithm>using namespace std;int exgcd(int a,int b,int &x,int &y) {if(!b){x 1,y 0;return a;}int d exgcd(b,a %…

铰接式车辆的横向动力学仿真提供车辆模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Opencv入门到项目实战】(四):图像梯度计算|Sobel算子|Scharr算子|Laplacian算子

文章目录 0.引言1. Sobel算子2. Scharr算子3. Laplacian算子 0.引言 在图像处理中&#xff0c;梯度是指图像中像素灰度变化的速率或幅度&#xff0c;我们先来看下面这张图 假设我们想要计算出A点的梯度&#xff0c;我们可以发现A点位于边缘点&#xff0c;A点左边为黑色&#x…