13. 循环结构-for循环

举报
数据分析与统计学之美 发表于 2021/09/28 18:09:32 2021/09/28
【摘要】 Java系列第十三课

1、for循环语法结构—很重要!!!

在这里插入图片描述

2、for循环的执行原理

在这里插入图片描述

3、for循环需要注意的点

1)初始化表达式、布尔表达式、更新表达式都不是必须的。【但是两个分号是必须的】
2)初始化表达式最先执行,并且在整个for循环当中只执行一次。
3)布尔表达式必须是true/false,不能是其它值。
4)for循环执行过程:
在这里插入图片描述

4、相关例题说明

1)打印Hello World十遍。

public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 1; i <= 10; i++){
    			System.out.println("Hello World");
    		}
    	}
}

结果如下:在这里插入图片描述

2)了解一下死循环。

for循环中,初始化表达式、布尔表达式、更新表达式都不是必须的,但是,这两个分号“;”却不能省略。

public class Demo6 {
    	public static void main(String[] args) {
    		for (; ; ){
    			System.out.println("Hello World");
    		}
    	}
}

3)注意for循环中i从0开始取,和i从1开始取的不同。

public class Demo6 {
    	public static void main(String[] args) {
    		int count1 = 0;
    		int count2 = 0;
    		for (int i = 0; i <= 10; i++){
    			count1++;
    		}
    		System.out.println("i从0开始共循环了" + count1 + "次");
    		System.out.println("----------*_____*------------");
		for (int i = 1;  i <= 10; i++){
			count2++;
		}
		System.out.println("i从1开始共循环了" + count2 + "次");
	}
}

结果是:在这里插入图片描述

4)关于for循环中的i变量的“作用域”问题。

public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 1; i <= 10; i++){
    			System.out.println("Love");
    		}
    		System.out.println(i);	
    	}
}

结果:
在这里插入图片描述
注:for循环中的i只属于for循环内部,属于局部变量。当for循环结束后,该变量就释放了,也就不存在了。因此,代码在编译阶段,会出现“找不到符号”这个编译错误,因为在main主方法中,并没有定义这个变量。

假如既想i在main主方法中使用,又在for循环中使用,可以采取以下方式:

public class Demo6 {
    	public static void main(String[] args) {
    		int i;
    		for (i=1; i <= 10; i++){
    			System.out.println("Love");
    		}
    		System.out.println("i最终的值为i:" + i);
    	}
}

结果为:在这里插入图片描述

5)输出1-10之间的奇数 和 偶数。

奇数:

public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 1; i <= 10; i+=2){
    			System.out.println(i);
    		}
    	}
}

结果如下:在这里插入图片描述
偶数:

public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 2; i <= 10; i+=2){
    			System.out.println(i);
    		}
    	}
}

结果如下:
在这里插入图片描述

6)倒着打印1-10之间的数字。

public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 10; i > 0; i--){
    			System.out.println(i);
    		}
    	}
}

结果如下:
在这里插入图片描述

7)更新表达式i++放在循环体中,有什么区别?

i++放在循环体最后

public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 1; i <= 10; ){
    			System.out.println(i);
             // i++放在循环体最后的情况,和i++放在()中是一样的效果。
             // 了解上面for循环的执行原理,就很清楚啦。
    			i++                       
    		}
    	}
}

结果:
在这里插入图片描述
i++放在循环体最前

public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 1; i <= 10; ){
    			i++; 
    			System.out.println(i);                  
    		}
    	}
}

结果是:
在这里插入图片描述

8)for循环和if嵌套的使用。

以打印1-10之间的偶数为例:

当仅使用for循环

public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 2; i <= 10; i+=2){
    			System.out.println(i);                  
    		}
    	}
}

结果如下:
在这里插入图片描述

当时用for和if
public class Demo6 {
    	public static void main(String[] args) {
    		for (int i = 2; i <= 10; i++){
    			if (i % 2 == 0){
    				System.out.println(i);   
    			}               
    		}
    	}
}

结果如下:
在这里插入图片描述
注:对于上述情况,推荐使用第一种方式,for循环代码少,效率高!!!!

8)for循环累加问题。

原理图:
在这里插入图片描述
代码如下:

public class Demo6 {
	public static void main(String[] args) {
		int sum = 0;   // 定义一个容器,最开始容器为空
		for (int i = 1; i <= 10; i++){
			sum += i;  // 循环一次,相当于往容器中,加一次苹果
		}
		System.out.println(sum);
	}
}

结果如下:在这里插入图片描述

9)for循环嵌套for循环使用,双层循环。

原理图:
在这里插入图片描述
打印一个九九乘法表:

public class Demo7 {
    	public static void main(String[] args) {
    		for (int i = 1; i < 10; i++){
    			for (int j = 1; j <=i; j++){
    				System.out.print(i + "*" + j + "="  +  i * j + " ");
    			}
    			System.out.println(" ");
    		}
    		System.out.println("");
	}
}

结果如下:
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。