【java学习】循环结构和嵌套循环(7)

文章目录

  • 1.循环结构
  • [2. 三种循环语句](#2. 三种循环语句)
    • [2.1. for循环语句](#2.1. for循环语句)
    • [2.2. while循环语句](#2.2. while循环语句)
    • [2.3. do-while循环语句](#2.3. do-while循环语句)
  • [3. 无限循环语句方式](#3. 无限循环语句方式)
  • [4. 嵌套循环](#4. 嵌套循环)

1.循环结构

1.1. 循环语句功能

在某些条件下,反复执行特定代码的功能

1.2. 循环语句的四个组成部分

(1) 初始化部分

(2) 循环条件部分

(3) 循环体部分

(4) 迭代部分

1.3. 循环语句分类

(1) for循环

(2) while循环

(3) do/while循环

2. 三种循环语句

2.1. for循环语句

语法格式:(序号表示执行顺序)
for (初始化表达式①; 布尔值判断表达式②; 更改表达式④){

语句或语句块③;
}

例子如下:

java 复制代码
public class Test1 {
	public static void main (String[] args) {
		
		for (int i = 1; i <= 100; i++){
			System.out.println(i);
			}
	}
}

练习题

编写程序FooBizBaz.java,从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出"foo",在每个5的倍数行上打印"biz",在每个7的倍数行上打印输出"baz"。

答案

java 复制代码
public class FooBizBaz {
	public static void main (String[] args) {
		
		for (int i = 1; i <= 150; i++){
			String str = "";
			str += i;
			
			if(i % 3 == 0) {
				str += "foo";
			}
			if(i % 5 ==0) {
				str += "biz";
			}
			if(i % 7 ==0) {
				str += "baz";
			}
			
			System.out.println(str);
			}
	}
}

2.2. while循环语句

语法格式:
[初始化语句]
while(布尔值判断表达式){

语句或语句块;

[更改语句;]

`}

例子如下:

java 复制代码
public class Test2 {
	public static void main (String[] args) {
		
		int i = 1;
		while(i <= 100) {
			System.out.println(i);
			i++;
		}
	}
}

2.3. do-while循环语句

语法格式:
[初始化语句]
do{

语句或语句块;

[更改语句;]
}while(布尔值判断表达式);

例子如下:

(1)

java 复制代码
public class WhileLoop {
	public static void main (String[] args) {
		
		int result = 0, i = 0;
		do {
			result += i;
			i++;
		}while(i <= 100);
		
		System.out.println("result=" + result);
	}
}

(2)

java 复制代码
public class WhileLoop {
	public static void main (String[] args) {
		
		int m = 1;
		do {
			System.out.println(m);
			m++;
		}while(m <= 100);
		
	}
}

练习题

求1到100之间所有偶数的和。用for和while语句分别完成

答案

(1) for语句

java 复制代码
public class WhileLoop {
	public static void main (String[] args) {
		
		int res = 0;
		for(int i = 1; i < 101; i++) {
			if(i % 2 == 0) {
				res += i;
			}
		}
		System.out.println(res);
		
	}
}

(2) while语句

java 复制代码
public class WhileLoop {
	public static void main (String[] args) {
		
		int res0 = 0;
		int k = 1;
		while(k <= 100) {
			if(k % 2 ==0) {
				res0 += k;
			}
			k++;
		}
		
		System.out.println(res0);
		
	}
}

3. 无限循环语句方式

(1) for无限循环

java 复制代码
for(;;){
}

(2) while无限循环

java 复制代码
while(true){
}

4. 嵌套循环

概念

将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do...while均可以作为外层循环和内层循环。实质上,嵌套循环就是把内层循环当成外层循环的循环体 。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。

:设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n=mn次。

例子如下:

java 复制代码
public class WhileLoop {
	public static void main (String[] args) {
		
		for(int i = 0; i < 4; i++) {      // 每一次循环都会执行大括号里面所有代码
			System.out.println("大循环---" + i);
			for(int j = 0; j < 2; j++) {  // 大循环的次数乘以小循环的次数就是小循环的大括号里面执行代码的次数
				System.out.println("大循环---" + i + "小循环---" + j);
			}
		}
		
	}
}

注意:在写嵌套循环的时候,要尽量保证外层循环的循环次数小于 内层循环的循环次数。

如下:

java 复制代码
		for (int i = 1; i < 900; i++) {
			for(int j = 0; j < 20; j++) {
				
			}
		}
		
		// 在编写代码的时候,像 上面的for循环与底下的for循环可以达到同样的逻辑效果,要尽量使用下面的循环逻辑
		for (int i = 1; i < 20; i++) {
			for(int j = 0; j < 900; j++) {
				
			}
		}

练习题1

java实现九九乘法表

答案1

java 复制代码
public class JchenJ {
	public static void main (String[] args) {
		
		for(int i = 1; i <= 9; i++) {
			for(int j = 1; j <= i; j++) {
				System.out.print(i + "*" + j + "=" + (i * j) +"  "); // print不换行
			}
			System.out.println();   // 换行
		}
		
	}
}

练习题2

输出1~100之间的所有质数
答案2

java 复制代码
public class Zhishu {
	public static void main (String[] args) {
		
		for(int i = 1; i <= 100; i++) {
			int k = 0;   // 整除的次数,变量是在它所在的大括号范围内生效
			
			for(int j = 1; j <= i; j++) {  // 循环1到i,用i与循环1到i之间的数分别取模
				if(i % j == 0) {
					k++;
				}
			}
			
			if(k == 2) {  // 如果循环次数为2,当前大循环的i值就是一个质数
				System.out.println(i);
			}
		}
		
	}
}
相关推荐
liliangcsdn几秒前
mac mlx大模型框架的安装和使用
java·前端·人工智能·python·macos
香蕉可乐荷包蛋4 分钟前
Python学习之路(十三)-常用函数的使用,及优化
开发语言·python·学习
惜.己12 分钟前
使用python的读取xml文件,简单的处理成元组数组
xml·开发语言·python·测试工具
倔强青铜三20 分钟前
苦练Python第25天:玩转字典
人工智能·python·面试
Shimiy25 分钟前
第六章 面向对象编程------进阶
java
许白掰29 分钟前
Linux入门篇学习——借助 U 盘或 TF 卡拷贝程序到开发板上
linux·学习·借助 u 盘拷贝程序到开发板上·借助 tf卡拷贝程序到开发板上
大葱白菜29 分钟前
Java Set 集合详解:从基础语法到实战应用,彻底掌握去重与唯一性集合
java·后端
大葱白菜30 分钟前
Java Map 集合详解:从基础语法到实战应用,彻底掌握键值对数据结构
java·后端
添乱30 分钟前
「Java案例」判断是否是闰年的方法
java
倔强青铜三34 分钟前
苦练Python第23天:元组秘籍与妙用
人工智能·python·面试