IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 2021-9-18-学习日志7-循环语句-for循环语句 -> 正文阅读

[PHP知识库]2021-9-18-学习日志7-循环语句-for循环语句

1.循环语句

特征:重复做某件事情,具有明确的开始和停止标志。

循环结构的组成:

①初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样。

②条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去。

③循环体语句:用于表示循环反复执行的内容,简单说就是循环反复执行的事情。

④条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去。

循环结构对应的语法:

①初始化语句:这里可以是一条或者多条语句,这些语句可以完成一些初始化操作。

②条件判断语句:这里使用一个结果值为boolean类型的表达式,这个表达式能决定是否执行循环体,例如:a < 3;

③循环体语句:这里可以是任意语句,这些语句将反复执行

④条件控制语句:这里通常是使用一条语句来改变 变量的值,从而达到控制循环是否继续向下执行的效果。常见i++,i--这样的操作。

1.2)for循环语句格式

格式:

for (初始化语句;条件判断语句;条件控制语句){

? ? ? ? 循环体语句;

}

执行流程:

?①执行初始化语句

②执行条件判断语句,看其结果是true,还是false

? ? ? ? 如果是false,循环结束

? ? ? ? 如果是true,继续执行

③执行循环体语句

④执行条件控制语句

⑤回到②继续执行?

/*
	for 循环
*/
public class forDemo{
	public static void main(String[] args){
		//需求:在控制台输出5次”HelloWorld“
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("--------");
		
		//用循环改进
		for (int i = 1; i <= 5; i++){
			System.out.println("HelloWorld");
		}
	}
}

DOS命令提示符窗口

C:\Users\Apple>d:

D:\>javac foeDemo.java

D:\>java foeDemo
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
--------
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld

D:\>		
		

1.3)案例:输出数据

需求:在控制台输出1-5和5-1的数据

分析:

①反复进行输出的动作,使用循环结构

for (初始化语句,条件判断据,条件控制语句){

? ? ? ? 循环体语句;

}

②从1开始到5结束,设置初始化从1开始

for (int i = 1;条件判断据,条件控制语句){

? ? ? ? 循环体语句;

}

③从1开始到5 结束,设置判断条件为没有到5的时候继续执行,执行到超过5程序结束

for (int i =1;i <= 5; 条件控制语句){

? ? ? ? 循环体语句;

}

④从1到5,每次增加1,设置条件控制每次+1

for (int i = 1; i <= 5; i++){

? ? ? ? 循环体语句

}

⑤将反复进行的事情写入循环结构内部,打印对应数据

for (int i = 1; i <= 5; i++){

? ? ? ? System.our.ptintln(i);

}

/*
	案例:
	需求:在控制台输出1-5和5-1的数据
*/
public class forDemoTest{
	public static void main(String[] args){
		//for 循环语句 输出1-5
		for (int i = 1; i <= 5; i++){
			System.out.println(i);
		}
		System.out.println("--------");
		
		//for 循环语句 输出5-1
		for (int i = 5; i >= 1; i--){
			System.out.println(i);
		}
	}
}

DOS命令提示符窗口

C:\Users\Apple>

D:\>javac forDemoTest.java

D:\>java forDemoTest
1
2
3
4
5
--------
5
4
3
2
1

D:\>

1.4)案例:求和

需求:求1-5之间的数据和,并把求和结果在控制台输出

分析:

①求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0

int sum = 0;

②从1开始到5 结束的数据,使用循环结构完成

for (int i?= 1; i <=5; i++){

? ? ? ?sum += i;

}

????????System.out.println("sum+i");

/*
	案例:求和
	需求:求1-5之间的数据和,并把求和结果在控制台输出
*/
public class forDemoTest1{
	public static void main(String[] args){
		//for循环 
		int sum = 0;
		for (int i = 1; i <= 5; i++){ 
			sum += i;
			/*
				sum += 1;  等于   sum = sum + i;
				第一次:sum = sum + i = 0 + 1 = 1;
				第二次:sum = sum + i = 1 + 2 = 3;
				第三次:sum = sum + i = 3 + 3 = 6;
				第四次:sum = sum + i = 6 + 4 = 10;
				第五次:sum = sum + i = 10 + 5 = 1;
			*/	
		}
		System.out.println("1-5之间的数据和是:" + sum);
	}
}

DOS命令提示符窗口

C:\Users\Apple>

D:\>javac forDemoTest1.java

D:\>java forDemoTest1
1-5之间的数据和是:15

D:\>

1.5)案例:求偶书和

需求:求1-100之间的偶数和,并把求和结果在控制台输出

分析:

①对1-100的数据和与1-5的数据求和几乎完全一样,仅仅是结束条件不同

int sum = 0;

for (int i = 1; i <= 100; i++){

? ? ? ? sum += i;

}

②对1-100的偶数求和,需对求和操作添加限制条件

int sum = 0 ;

for (int i = 1; i <= 100; i++){

? ? ? ? if (执行的限制条件){

? ? ? ? ? ? ? ? sum += i;

????????}

}

③限制条件是偶数才参与运算,因此条件应该是判断是否是偶数

int sum = 0;

for (int i = 1; i <= 100; i++){

? ? ? ? if (1 % 2 == 0){

? ? ? ? ? ? ? ? sum += i;

????????}

}

④当循环执行完毕时,将最终数据打印出来

System.out.println("1-100之间的偶数和是:" + sum);

/*
	案例:求偶书和
	需求:求1-100之间的偶数和,并把求和结果在控制台输出
	分析:
		①对1-100的数据和与1-5的数据求和几乎完全一样,仅仅是结束条件不同
		②对1-100的偶数求和,需对求和操作添加限制条件			
		③限制条件是偶数才参与运算,因此条件应该是判断是否是偶数
		④当循环执行完毕时,将最终数据打印出来
*/
public class forDemoTest2{
	public static void main(String[] args){
		//定义变量
		int sum = 0;
		for (int i = 1;i <= 100; i++){
		if (i % 2 == 0){
			sum += i;
			}
		}
		System.out.println("1-100之间的偶数和是:" + sum);
	}
}

DOS命令提示符窗口

C:\Users\Apple>d:

D:\>javac forDemoTest2.java

D:\>java forDemoTest2
1-100之间的偶数和是:2550

D:\>

1.6)案例:水仙花

需求:在控制台输出所有的“水仙花数”

什么是“水仙花数”?

①水仙花数是一个三位数

②水仙花数的各位、十位、百位的数字立方和等于原数

eg: 123? ? ? 1^3 +2^3 + 3^3?= 1 + 8 + 27 = 36 ≠?123? ?不是水仙花数

? ? ? ? ?371? ? ?3^3+7^3+1^3?= 27 + 343 +1 = 371 = 371? 是水仙花数

分析:

①三位数的个位数字如何求

371? ? ? ? 1就是原始数字对10进行取余运算的结果? ? ? ? 371 % 10 = 1

②三位数的百位数字如何求

371? ? ? ? 3就是原始数字除以100的结果(整数)? ? ? ? 371 /?100 = 3

③三位数的十位数字如何求

371? ? ? ? 371通过除以10,可以将7移动到各位上(整数)? ? ? ? 371 / 10 = 37

? ? ? ? ? ? ? 37通过对10进行取余运算可以得到最后一位的值7? ? ? ? 37 % 10 = 7

④思考:任意数字在指定位上的数值如何求?

先使用整数操作将要求的数字移动到个位上,在使用取余操作取出最后一位。

eg:123456789 ,取 5 的话,就先除以 10000 取整 得12345 ,然后再 除以10 取余得到 5?

分析:

①输出所有的水仙花数必然要使用到循环,三位数范围:100 - 999

for (int i = 100;? i <= 999; i++){? ?

}

②不是每个三位数都是水仙花数,因此需要判定,满足条件的数字才能进行输出

if (执行的限制条件){

}

③判定条件的是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等

if (? + ? + ? == 原数){

输出原数

}

④在计算之前获取三位数中每个位上的值

int a = 原数的个位;

int b = 原数的十位;

int c =原数的百位;

if (a * a * a?+ b * b * b + c * c * c == 原数)

综合分析:

①:先建立循环

②:取出三位数中个位、十位、百位数字

③计算是否满足条件,满足条件输出

/*
	案例:水仙花数
	需求:在控制台输出所有的“水仙花数”
		  什么是“水仙花数”?
		  ①水仙花数是一个三位数
		  ②水仙花数的各位、十位、百位的数字立方和等于原数
*/
public class forDemoTest3{
	public static void main(String[] args){
		/*	(与下方for 表示是一样的)
		for (int i = 100; 1 < 1000; i++){
			
		}                 
		*/
		for (int i = 100; i <= 999; i++){
			//再计算之前获取三位数中每个位上的值
			int a = i%10;
			int b = i/10%10; 
			int c = i/10/10%10;
			
			//判定条件是将三位数中的每个数值取出来,计算立方和后,与原始数字比较是否相等;
			if (a*a*a + b*b*b + c*c*c == i){
				//输出满足条件的数字就是水仙花数
				System.out.println(i);
			}			
		}
	}
}

DOS命令提示符窗口

C:\Users\Apple>d:

D:\>javac forDemoTest3.java

D:\>java forDemoTest3
153
370
371
407

D:\>

1.7)案例:统计

需求:统计“水仙花数”一共有多少个,并在控制太输出个数

分析:

①定义变量count,用于保存“水仙花数”的数量,初始值为0

int count = 0;

②在判定水仙花数的过程中,满足条件不再输出,更改为修改count的值

if (a*a*a + b*b*b + c*c*c == 原数){

}

③打印输出最终结果

System.out.println("水仙花数共有:" + count +"个");

/*
	案例:统计水仙花数
	需求:统计“水仙花数”一共有多少个,并在控制太输出个数
*/
public class forDemoTest4{
	public static void main(String[] args){
		//定义变量count,用于保存“水仙花“的数量,初始值为0
		int count = 0;
		
		//输出所有水仙花数必然要使用循环,遍历所有的三位数,三位数从100开始,到999结束
		for (int i = 100; i < 1000; i++){
		
			//在计算之前获得三位数中每个伪上的值
			int a = i%10;
			int b = i/10%10;
			int c = i/10/10%10;
		
			//在判定水仙花数的过程中,满足条件不在输出,更改为修改count的值,使count+1
			if(a*a*a + b*b*b + c*c*c == i){
			count++;
			}
		}
		//打印输出最终结果
		System.out.println("水仙花数有:" + count + "个");
	}
}

DOS命令提示符窗口

C:\Users\Apple>d:

D:\>javac forDemoTest4.java

D:\>java forDemoTest4
水仙花数有:4个

D:\>

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 07:45:54  更:2021-09-19 07:47:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:45:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码