Java的循环语句

本文深入讲解了Java中的三种循环结构:while循环、do-while循环和for循环的使用方法及注意事项,通过实例演示了如何利用循环解决实际问题,如计算累加和、数字之和、密码验证等。

一、while 循环

while(循环条件){
  循环操作语句
 }

* 循环3要素: 变量的初值、变量的判断、变量的更新
* 缺少循环变量的更新,循环将一直进行下去

public class WhlieDemo {

	public static void main(String[] args) {
		int i = 1;   		//循环变量的初值
		while(i <= 10){		//循环的条件判断
			System.out.printf("第%d次\n",i);
			i++;			//循环变量的更新
		}
	}
}

  

//使用循环计算1-100的累加和
public class SumDemo {

    public static void main(String[] args) {
        int i = 1;
        int sum = 0;
        while(i <= 100){
            sum += i;
            i++;
        }
        System.out.print(sum);
    }
}
View Code
//计算输入的整型数字中每位数字之和
public class SumDemo {

    public static void main(String[] args) {
        //得到要计算的整型数字
        Scanner input = new Scanner(System.in);
        System.out.print("请输入一个整型数字:");
        //声明相关变量
        int sum = 0;
        int num = input.nextInt();
        //循环计算累加和
        while(num > 0){
            sum += num % 10;   //取个位加到sum
            num /= 10;        //更新num 去掉个位
        }
        //打印结果
        System.out.print("各位数字之和:"+sum);
        input.close();
    }
}
View Code
//使用循环实现三次密码输入错误退出系统
public class SumDemo {

    public static void main(String[] args) {
        final String PASSWORD = "123456";            //定义并初始化密码
        int i = 0;    //控制循环次数变量
        Scanner input = new Scanner(System.in);
        while(i < 3){
            i++;
            System.out.print("请输入密码:");
            String password = input.nextLine();
            if(PASSWORD.equals(password)){       //输入正确
                System.out.println("密码输入正确,欢迎登陆……");     
                break;
            }else{if(i == 3){                //错误三次
                System.out.println("输入三次自动退出");
                System.exit(0);
            }else{                 //3次之前输入错误
                System.out.println("输入错误你还有"+(3-i)+"次机会");
            }    
            }        
        }
        input.close();    
    }
}
View Code
//某宝双十一2015年的交易额为800亿,每年递增25%
//问:按此速度哪年交易额达到2000亿?
public class SumDemo {

    public static void main(String[] args) {
        int year = 2015;       //年份
        double money = 800;    //交易额
        while(money <= 2000){
            money *= 1.25;
            year++;
        }
        System.out.printf("%d年,交易额达到2000亿,交易额为%.2f亿元",year,money);
    }
            
}
View Code

二、do-while 循环

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

先执行再判断  ,至少执行一次

//选择登陆
public class WhlieDemo{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        String answer = "y";
        do{
            System.out.println("是否继续? (y/n)");
            answer = input.nextLine();
        }while(!"y".equalsIgnoreCase(answer));  //如果不是y就 重新输入     equalsIgnoreCase为忽略大小写
        System.out.println("登陆中……");
        input.close();
    }        
}
View Code

三、for 循环

基本语法
for(表达式1;表达式2;表达式3)
{
语句:
}
表达式1 为循环变量赋初值 可省略
表达式2 循环条件 可省略
表达式3 更新循环变量 可省略
分号, 用于分隔三个表达式 不可省略 for(;;) 是死循环

public class ForDemo {

    public static void main(String[] args) {
        for(int i = 0; i < 5; i++)
        {
            System.out.println("i");
        }
    }
}
//求游戏工会玩家的平均战斗力
//录入至少3位玩家的战力
public class ForDemo{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int fight;         //战斗力
        double sum = 0;    //战力和
        System.out.print("请输入玩家的数量:");
        int player = input.nextInt();     //输入玩家数量
        for(int i = 1; i <= player; i++)
        {
            System.out.printf("请输入第%d个玩家的战斗力:",i);
            fight = input.nextInt();
            sum += fight;
        }
        System.out.printf("%d个玩家的平均战斗力为:%.2f",player,(sum / player));
        input.close();
    }
}
View Code
//打印月历
public class ForDemo{
    public static void main(String[] args){
        //1.输出星期
        System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期天");     
        //2.输出日期
        System.out.print("\t");
        for(int i = 1; i <= 31; i++)
        {   
            System.out.print(i);  //打印日期
            
            if((i + 1) % 7 == 0){
                System.out.print("\n");
            }else{
                System.out.print("\t");
            }            
        }        
    }
}
View Code

四、break 、continue

使用场合
break可用于switch结构和循环结构中
continue只能用于循环结构中

作用(循环结构中)
break语句终止某个循环,程序跳转到循环块外的下一条语句。
continue跳出本次循环,进入下一次循环

转载于:https://www.cnblogs.com/whxutao/p/10060413.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
<think>好的,用户让我介绍一下Java循环语句。首先,我需要确定用户的知识水平。可能他们刚开始学编程,或者有其他语言的背景想了解Java循环结构。 Java循环语句主要有三种:for、while和do-while。我应该分别解释每种循环的结构和适用场景,这样用户能知道在什么情况下使用哪种循环更合适。 接下来,得考虑是否需要给出示例代码。示例能帮助理解,特别是对于新手来说,看到具体的代码例子会更清楚循环的执行流程。比如,for循环的经典例子是遍历数组或执行固定数的操作,while循环适合不确定循环数的情况,而do-while至少执行一。 还要注意区分while和do-while的区别,强调do-while的循环体至少执行一,这在某些情况下很重要。用户可能容易混淆这两种,所以需要明确说明。 另外,可能需要提到增强型for循环(foreach),这是Java 5引入的,用于遍历集合或数组,简化代码。这部分对于处理集合特别有用,应该单独列出来说明。 最后,是否需要提醒循环控制语句,比如break和continue?虽然用户的问题可能不涉及这些,但简要提及可以让他们知道如何控制循环的执行流程。 总结一下,结构应该是先总述三种循环类型,然后分别详细讲解每种,包括语法、流程图、示例代码和适用场景。最后可以补充增强型for循环和控制语句,让内容更全面。要确保用词准确,示例简洁易懂,避免使用复杂术语,保持口语化,让用户容易理解。</think>以下是对Java循环语句的详细介绍(所有代码示例均使用$$...$$格式): 一、Java循环类型 Java提供三种基础循环结构: 1. `for` 循环 $$语法格式: for(初始化; 布尔表达式; 更新) { // 循环体 }$$ 适用场景:明确知道循环数的情况 ```java // 示例:计算1-100的和 int sum = 0; for(int i=1; i<=100; i++){ sum += i; } ``` 2. `while` 循环 $$语法格式: while(布尔表达式) { // 循环体 }$$ 适用场景:不确定循环数,但需满足条件才执行 ```java // 示例:猜数字游戏 int target = 42; Scanner scanner = new Scanner(System.in); while(true) { System.out.print("请输入猜测:"); int guess = scanner.nextInt(); if(guess == target) break; } ``` 3. `do...while` 循环 $$语法格式: do { // 循环体 } while(布尔表达式);$$ 特点:至少执行一循环体 ```java // 示例:输入验证 int input; do { System.out.print("请输入1-100之间的数字:"); input = scanner.nextInt(); } while(input < 1 || input > 100); ``` 二、增强型for循环(foreach) Java 5+ 新增特性: $$语法格式: for(元素类型 变量名 : 集合或数组){ // 循环体 }$$ ```java // 示例:遍历数组 int[] numbers = {1, 2, 3, 4, 5}; for(int num : numbers) { System.out.println(num); } ``` 三、循环控制语句 1. `break`:立即终止当前循环 2. `continue`:跳过本循环剩余代码 3. 循环标签(Label):控制多层嵌套循环 四、性能注意事项 1. 避免在循环内创建不必要的对象 2. 优先使用局部变量进行循环计算 3. 大数据量遍历时,foreach效率可能低于传统for循环 五、流程图示例 $$for循环执行流程: 开始 -> 初始化 -> 条件判断 -> [true]执行循环体 -> 更新 -> 条件判断 -> [false]结束循环$$ 建议通过实际编码练习加深理解,例如:制作九九乘法表、实现质数判断算法等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值