【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);
			}
		}
		
	}
}
相关推荐
静止了所有花开38 分钟前
SpringMVC学习笔记(二)
笔记·学习
爱吃生蚝的于勒1 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法
码上一元2 小时前
SpringBoot自动装配原理解析
java·spring boot·后端
计算机-秋大田2 小时前
基于微信小程序的养老院管理系统的设计与实现,LW+源码+讲解
java·spring boot·微信小程序·小程序·vue
L_cl3 小时前
Python学习从0到1 day26 第三阶段 Spark ④ 数据输出
学习
小白学大数据3 小时前
Python爬虫开发中的分析与方案制定
开发语言·c++·爬虫·python
Mephisto.java3 小时前
【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
大数据·学习·hbase
魔道不误砍柴功4 小时前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
Shy9604184 小时前
Doc2Vec句子向量
python·语言模型
失落的香蕉4 小时前
C语言串讲-2之指针和结构体
java·c语言·开发语言