【JAVASE】循环结构 上

简介: 【JAVASE】循环结构

1. 循环结构


1.1 while 循环

基本语法格式:


while(循环条件){
  循环语句;
}

循环条件为 true,则执行循环语句;否则结束循环。

一个循环,肯定有开始,有结束


实例1:打印 1-10 的数字

public static void main(String[] args) {
        int num = 1;
        while (num <= 10) {
            System.out.println(num);
            num++;
        }
}

🍤 运行结果:


87ae384c656730a0719b9f7dacac6534_10516309aa244fd5a17e79021093189a.png


实例2:计算 1-100 的和


 public static void main(String[] args) {
        int n = 1;
        int sum = 0;
        while (n <= 100) {
            sum += n;//sum=sum+n,实现累加
            n++;
        }
        System.out.println(sum);
    }

🍤 运行结果:


5f0f496b69667463c563ef7731b3bcdc_dff91809cd0b4254807e4f8d2741969c.png


实例3:求 1-100 以内偶数的和


  //1-100偶数的和
public static void main(String[] args) {
            int sum1 = 0;
            int a = 2;
            while (a <= 100) {
                sum1 += a;
                a += 2;
            }
            System.out.println(sum1);
}
//1-100奇数的和
public static void main(String[] args) {
            int sum2 = 0;
            int a = 1;
            while (a <= 100) {
                sum2 += a;
                a += 2;
            }
            System.out.println(sum2);
}            

实例4:计算 5 的阶乘


5!=54321

4!=4321

3!=321

2!=21

1!=1

0!=1


public static void main(String[] args) {
        int n = 1;
        int result = 1;
        while (n <= 5) {
            result *= n;//累乘
            n++;
        }
        System.out.println(result);
}

9

🍤 运行结果:


78c9a02179ad67027265694ced193d31_6a7efc824d144c59aa38d678036dfe54.png


实例5:计算 1!+2!+…+5!


这里既要算加法,还要算阶乘。在每一个数字阶乘计算后,然后求和,我们可以采用嵌套循环,内循环负责求阶乘,外循环负责求和。


public static void main(String[] args) {
        int num = 1;
        int sum = 0;
        // 外层循环负责求阶乘的和
        while (num <= 5) {
            int k = 1;
            int i = 1;
            // 里层循环负责完成求阶乘
            while (i <= num) {
                k *= i;//k=k*i
                i++;
            }
            sum += k;//sum=sum+k
            num++;
        }
        System.out.println("sum = " + sum);
}

🍤 运行结果:


3aa9e36264f2c6b2b8185012795a4e7e_3860aa8c73af44ea82d77c456eafb378.png


实例6:找到1-100之间既能被3整除也能被5整除的数


public static void main(String[] args) {
        int  i = 1;
        while (i <= 100) {
            if(i % 15 != 0) {
                i++;
                continue;//有关continue的介绍在下面
            }
            System.out.println(i);
            i++;
        }
}

🍤 运行结果:


98839757b37f9a5ee98434fb10d60cc1_7ec08e7a215a43d9bf389c10a6f5390b.png


注:


  • 和 if 类似,while 下面的语句可以不写 { } ,但是不写的时候只能支持一条语句,建议还是加上 { }。
  • 和 if 类似,while 后面的 { 建议和 while 写在同一行。
  • 和 if 类似,while 后面不要多写分号,否则可能导致循环不能正确执行。


比如:


int num = 1;
while (num <= 10); {
  System.out.println(num);
  num++;
}
//[无任何输出, 程序死循环]

这里为 while 的语句体(这是一个空语句),实际的 { } 部分和循环无关,此时循环条件 num <= 10 恒成立,导致代码死循环。


1.2 break

break 的功能是让循环提前结束


实例:找到 100 - 200 中第一个 3 的倍数


public static void main(String[] args) {
        int num = 100;
        while (num <= 200) {
            if (num % 3 == 0) {
                System.out.println("找到了 3 的倍数, 为:" + num);
                break;
            }
            num++;
        }
}

🍤 运行结果:


c80a706bd7cea4146281e5af3422aa60_ef207868df4348ef8778134b2d314c0e.png


执行到 break 就会让循环结束。


相关文章
|
存储 网络协议 安全
DNS科普系列: DNS防火墙(DNS Firewall)
DNS防火墙是一种网络安全解决方案,可以防止网络用户和系统链接到已知的恶意网络位置,可以有效的预防威胁发生, 阻止访问受感染的站点,进而防止进一步的威胁。能够主动检测到已被感染的系统,并通过安全报告的形式将此类威胁通知用户。还能够保护用户的网络环境,提高网络安全性。
DNS科普系列: DNS防火墙(DNS Firewall)
|
11月前
|
缓存 关系型数据库 MySQL
MySQL索引策略与查询性能调优实战
在实际应用中,需要根据具体的业务需求和查询模式,综合运用索引策略和查询性能调优方法,不断地测试和优化,以提高MySQL数据库的查询性能。
573 66
|
9月前
|
存储 分布式计算 大数据
大数据揭秘:从数据湖到数据仓库的全面解析
大数据揭秘:从数据湖到数据仓库的全面解析
263 19
|
12月前
|
数据可视化 前端开发 搜索推荐
FLEX组件可视化设计器CSS3代码生成器
FLEX组件可视化设计器CSS3代码生成器
158 4
|
设计模式 安全 网络安全
安全风险在WEB应用中的排名变化
【7月更文挑战第16天】本文介绍OWASP的安全风险评估,一个国际非营利组织,专注于提升Web应用安全。其Top 10项目列出最严重的安全风险,如Broken Access Control(现最严重风险),加密故障,注射漏洞,不安全设计,配置错误等。2021版新增了不安全设计、软件完整性故障和服务器端请求伪造等类别。安全问题排名考虑了发生率,以反映攻击者只需一个实例即可造成损害的风险。**
353 2
安全风险在WEB应用中的排名变化
|
数据采集 Java Python
python并发编程:Python在FastAPI服务中使用多进程池加速程序运行
python并发编程:Python在FastAPI服务中使用多进程池加速程序运行
1930 0
|
设计模式 Oracle 关系型数据库
二十三种设计模式全面解析-适配器模式的妙用:异构数据库和不同版本API的完美兼容!
二十三种设计模式全面解析-适配器模式的妙用:异构数据库和不同版本API的完美兼容!
276 0
|
缓存 自然语言处理 Kubernetes
数据缓存系列分享(四):开源大语言模型通义千问快速体验
本文将分享如何通过阿里云ECI的数据缓存秒级搭建开源大语言模型通义千问。
845 0
数据缓存系列分享(四):开源大语言模型通义千问快速体验
|
数据采集 人工智能 自然语言处理
基金公司数据治理实践,打造“点线面体”的数据治理体系
在数字经济时代下,数据驱动业务创新发展已经成为企业的主要选择,基金行业机构也在积极推进数字化转型,但机遇与挑战并存。数据要转化为数据要素,需要系统体系化的数据能力建设作为催化剂。 基金行业也表现出一定的痛点,其中表现为数据安全保护不够到位,缺少数据脉络,数据质量得不到保障等。同时由于行业内在进行系统建设时,对数据管理工作的重要性认识不足以及长年累月杂乱数据的堆积,导致数据治理工作推进艰难,致使在营销端、分析端、监管报送端长期存在客户重复,资产异常等情况。 在公司“十四五”数字化发展规划的指导下,基金公司坚持统筹推进、聚焦痛点,强化数据能力建设,在完善数据治理体系、搭建大数据技术、提升数据服务能
494 0
|
数据安全/隐私保护 Windows
Windows修改C盘下的用户(Users)文件夹下的汉字文件夹
Windows修改C盘下的用户(Users)文件夹下的汉字文件夹
1019 1
Windows修改C盘下的用户(Users)文件夹下的汉字文件夹