day04Java-循环结构for01

for

循环语句:for循环,while循环,do…while循环。
for循环格式:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}

执行流程:
A:执行初始化语句
B:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
C:执行循环体语句;
D:执行控制条件语句
E:回到B继续。

注意事项:
A:判断条件语句无论简单还是复杂结果是boolean类型。
B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
C:一般来说:有左大括号就没有分号,有分号就没有左大括号

for循环结构练习1:求出1-10之间数据之和

分析:
0+1=1
1+2=3
3+3=6
6+4=10
10+5=15

	由此可见我们要定义两个变量:
		一个变量用于存储第一个加数,第一个加数其实保存的是以前的所有数据和。默认初始化值应该是0。
		一个变量用于存储第二个加数,第二个加数其实就是每次的数据变化的值。
		
求和思想。
代码演示
	public static void main(String[] args) {
		//原始做法
		System.out.println(1+2+3+4+5+6+7+8+9+10);
		//定义第一个加数
		int sum = 0;
		
		for(int x=1; x<=10; x++) {
			//这里的x其实是第二个加数
			sum = sum + x;
			/*
				0 + 1 = 1
						1 + 2 = 3
								3 + 3 = 6
			  						...
			*/	
			//sum += x;
		}
		System.out.println("sum:"+sum);
	}
for循环结构练习2:
	A:求1-100之和。
	B:求出1-100之间偶数和
	C:求出1-100之间奇数和(自己做)

代码演示

public class Test {
	public static void main(String[] args) {

		int sum = 0;
		for (int i = 1; i < 101; i++) {
			sum += i;
		}
		System.out.println("sum=" + sum);// 求1-100之和。

		int sum2 = 0;
		for (int i = 1; i < 101; i++) {
			if (i % 2 == 0) {
				sum2 += i;
			}
		}
		System.out.println("sum2=" + sum2);// 求出1-100之间偶数和

		int sum3 = 0;
		for (int i = 1; i < 101; i++) {
			if (!(i % 2 == 0)) {
				sum3 += i;
			}
		}
		System.out.println("sum3=" + sum3);// 求出1-100之间奇数和
	}
}

结果:

sum=5050
sum2=2550
sum3=2500
for循环结构练习3:

需求:求5的阶乘。
什么是阶乘呢?
n! = n*(n-1)! 规则
n! = n*(n-1)(n-2)32*1
求和思想。
求阶乘思想。

public static void main(String[] args) {
		//定义最终结果变量
		int jc = 1;
		
		//这里的x其实可以直接从2开始
		//for(int x=1; x<=5; x++) 
		
		for(int x=2; x<=5; x++) {
			jc *=x;
		}
		
		System.out.println("1-5的阶乘是:"+jc);
	}
for循环结构练习4

需求:在控制台输出所有的”水仙花数”
分析:
我们都不知道什么叫"水仙花数",你让我怎么做呢?

	所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
	举例:153就是一个水仙花数。
	153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

	A:三位数其实是告诉了我们范围。
	B:通过for循环我们就可以实现获取每一个三位数
	  但是麻烦是如何获取这个三位数的个,十,百位上的数据
	  
	  我们如何获取一个数据的个,十,百呢?
		假设有个一个数据:153
		ge:	153%10 = 3
		shi: 153/10%10 = 5
		bai:153/10/10%10 = 1
		qian:x/10/10/10%10
		wan:  x/10/10/10/10%10
		...
	C:让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较
	  如果相同,就把该数据在控制台输出。
	public static void main(String[] args) {
		//三位数其实是告诉了我们范围。
		for(int x=100; x<1000; x++) {
			int ge = x%10;
			int shi = x/10%10;
			int bai = x/10/10%10;
			
			//让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较
			if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {
				//如果相同,就把该数据在控制台输出。
				System.out.println(x);
			}
		}
	}
for循环结构练习5

练习:
请在控制台输出满足如下条件的五位数
个位等于万位
十位等于千位
个位+十位+千位+万位=百位

首先要获取到万位上面的每个数

分析:
A:五位数就告诉了我们范围。
B:分解每一个五位数的个,十,百,千,万位上的数据
C:按照要求进行判断即可

	public static void main(String[] args) {
		//五位数就告诉了我们范围。
		for(int x=10000; x<100000; x++) {
			//分解每一个五位数的个,十,百,千,万位上的数据
			int ge = x%10;
			int shi = x/10%10;
			int bai  = x/10/10%10;
			int qian = x/10/10/10%10;
			int wan = x/10/10/10/10%10;
			
			//按照要求进行判断即可
			if((ge==wan) && (shi==qian) && (ge+shi+qian+wan==bai)) {
				System.out.println(x);
			}
		}
	}
for循环结构练习6

统计”水仙花数”共有多少个
分析:
A:首先必须知道什么是水仙花数
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 111 + 555 + 333 = 1 + 125 + 27 = 153
B:定义统计变量,初始化值是0
C:三位数告诉了我们范围,用for循环就可以搞定
D:获取每一个三位数的个,十,百的数据
E:按照要求进行判断
F:如果满足要求就计数。

public static void main(String[] args) {
		//定义统计变量,初始化值是0
		int count = 0;
		
		//三位数告诉了我们范围,用for循环就可以搞定
		for(int x=100; x<1000; x++) {
			//获取每一个三位数的个,十,百的数据
			int ge = x%10;
			int shi = x/10%10;
			int bai = x/10/10%10;
			
			//按照要求进行判断
			if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {
				//如果满足要求就计数。
				count++;
			}
		}
		
		System.out.println("水仙花数共有"+count+"个");
	}
for循环结构练习7

需求:请统计1-1000之间同时满足如下条件的数据有多少个:
对3整除余2
对5整除余3
对7整除余2
分析:
A:定义统计变量,初始化值是0
B:1-1000之间是一个范围,用for很容易就可以实现。
C:每个数据要同时满足如下要求
x%32
x%5
3
x%7==2
D:如果满足条件,统计数据++即可,最后输出统计变量

public static void main(String[] args) {
		//定义统计变量,初始化值是0
		int count = 0;
	
		//1-1000之间是一个范围,用for很容易就可以实现。
		for(int x=1; x<=1000; x++) {
			/*
				每个数据要同时满足如下要求
				x%3==2
				x%5==3
				x%7==2
			*/
			if(x%3==2 && x%5==3 && x%7==2) {
				count++;
				System.out.println(x);
			}
		}
		
		//输出数据
		System.out.println("满足这样条件的数据共有:"+count+"个");
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值