• 流程控制-For循环语句


    for循环基本语法

    for(循环变量初始化;循环条件;变量迭代){
    执行语句}
    1.for关键字表示循环控制
    2.for循环有四要素:(1)初始化变量(2)循环条件(3)循环操作(4)循环变量更迭
    3.循环操作可以有多条语句,也就是执行语句
    4.如果 循环执行语句只有一条语句,可以省略{}但不要省略

    打印10次

    public class For1{
    	public static void main(String[] args) {
    		for(int i = 1;i<=10;i++){
    			System.out.println("hello for循环又见面了");
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    for细节

    1.循环条件是返回一个布尔值的表达式 true或者false
    2.for(;循环条件;)中的初始化变量和变量更迭可以写道其他地方,但两边的分号不能省略(不建议)
    3.循环初始值可以有多条初始化变量语句,但要求类型一致,且中间用,逗号隔开。循环更迭也可以有多条更迭语句,也用,逗号隔开

    练习 判断下方代码输出的是什么

    int count = 3;
    		for(int i = 0,int j = 0 ;i<count ;i++ ,j+=2{
    			System.out.println("i="+i+"j="+j);
    		}
    
    • 1
    • 2
    • 3
    • 4

    i从0开始遍历 不能大于3 所以会进行 0 1 2 三次循环因此会输出:
    i=0 j=0
    i=1 j=2
    i=2 j=4
    注意点:j+=2 和i++一样是变量更迭,所以第一次循环不会进行运算

    for的编程思想练习

    练习一,打印100以内所有9的倍数 统计个数与总和

    int j = 0;
    int sum = 0;
    for(int i = 1;i<=100;i++){
    			if (i%9==0) {
    				j++;
    				sum+=i;
    				System.out.println(i+"是9的倍数,目前有"+j+"个,和为"+sum);
    			}else{}
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    注意点:
    1.变量j初始一定要是0,符合9的倍数条件进入if语句后自动+1,所以第一次进入如果初始化就是1,那么就会多出一个
    2.统计个数的变量j 和统计总和的变量sum,要放在for循环语句的外面的上面,否则每次符合条件进入执行语句将会重置到当前的值。
    输出效果:
    在这里插入图片描述

    练习二,完成下方的表达式输出

    0+5=5
    1+4=5
    2+3=5
    3+2=5
    4+1=5
    5+0=5
    题目中两个个数会进行轮流的更迭,所以需要使用for嵌套循环
    嵌套循环:当第一重for循环执行语句到第二重for循环时,会在第二重for循环的循环条件执行到false再返回去再执行第二重for循环的第二次,以此类推。

    for(int i = 0;i<=5;i++){
    			for (int j =0;j<=5 ;j++ ) {
    				if (i+j==5) {
    					System.out.println(i+"+"+j+"="+"5");
    				}
    			}
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    输出效果:
    在这里插入图片描述
    另一种编程思想实现

    for(int i = 0;i<=5;i++){
    			System.out.println(i+"+"+(5-i)+"="+"5");
    		}
    
    • 1
    • 2
    • 3

    输出效果相同:
    在这里插入图片描述

    两种方法都能实现,但嵌套for循环增加了时间复杂度。应使用更简单,更简洁的办法。需要多方位思考解决方法。不断优化

  • 相关阅读:
    双周投融报:资本埋伏Web3基础设施
    [Python]多任务编程--线程
    maven环境配置
    2023 年 Vue 最流行的动画库
    Codewhisperer 使用评价
    ARM架构--栈
    Mysql数据库大数据量的解决方案介绍(一、分库分表与读写分离)
    leetcode 300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
    Adequality
    cesium文字实现避让功能
  • 原文地址:https://blog.csdn.net/WINorYU/article/details/125558244