欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaSE之路08--For循环语句

程序员文章站 2022-03-08 14:35:48
...

1.循环语句(必会):
1)生活中的循环:
a)太阳每天东升西落
b)每天早上起床跟女朋友发早安信息: 早安,么么达,爱你一万年
2)在Java中循环不能无限循环,要有条件的循环:
a)你能这一辈子每天早上起床跟女朋友发早安信息吗?当然不能.
b)循环的条件是:女朋友还没有变成老婆.
c)天将降大任于斯人也,必先盗其QQ,封其微博,收其wifi,夺其手机。让其静心学习Java 欧耶。

2.for循环语句(必会):
格式
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
执行流程:
1:执行初始化语句
2:执行判断条件语句
如果这里是true,就继续
如果这里是false,循环就结束
3:执行循环体语句
4:执行控制条件语句
5:回到b

示例1:输出10次"老婆老婆我爱你,阿弥托福保佑你"
for(int i=1;i<=10;i++){
System.out.println(“老婆老婆我爱你,阿弥托福保佑你!”);
}

示例2:输出1.2.3.4.5.6.7.8.9.10
System.out.println(1);
System.out.println(2);

System.out.println(10);

肯定不行,换成如下的:
for(int i=1;i<=10;i++){
System.out.println(i);
}
为什么可以:因为i在循环过程中不断的变化

 注意事项
                0.初始化语句只执行一次
   1.判断条件语句无论简单还是复杂,结果是boolean类型
   2.循环体语句如果是一条,可以省略大括号,但是不建议

提问:
1)只想输出5次怎么办?
1.for(int i=1;i<=5;i++)
2.for(int i=0;i<5;i++)
3.for(int i=1;i<=10;i+=2)
2)结论:如果想循环n次,记住代码:
for(int i=1;i<=n;i++)

示例2:看代码,给结果
int x=1,y=2;
for(int i=1;i<=3;i++){ i=1 ,2,3
x+=y;
y++;
}
System.out.println(“x=”+x+" y="+y);

示例3:看代码,给结果
int x=1;
for(int i=1;i<=3;i++){ i=1 ,2 ,3
x+=i;
}
System.out.println(“x=”+x);

示例4:编写程序求1…10的和
讲思路:
a)画图:有一个空盘子,分别将1…10的每一个数 累加到这个空盘子中
b)有没有循环:有循环,因为要这样加10次
int s; //定义一个变量保存求和的结果
for(int i=1;i<=10;i++){
s=1;
}
这样实际上是将s=1这个语句运行了10次,所以s的值为1
换成:
int s=0; //注意初值为0
for(int i=1;i<=10;i++){
s=s+1;
}
这样就是"累加",s=s+1. 例如:
s=1;
s=s+3;
s=s+2;
但是依然达不到求1…10求和,这是求:1+1+1+1…
改成:
int s=0; //注意初值为0
for(int i=1;i<=10;i++){
s=s+i; //因为i在变化
}

示例5:求1…100的偶数之和
int s=0; //注意初值为0
for(int i=1;i<=10;i++){
if(i%2==0) {
s=s+i;
}
}
或者:
int s=0; //注意初值为0
for(int i=0;i<=10;i+=2){
s=s+i;
}

示例6:让用户输入一个数求n的阶层. 例如 如果n是5 则求123…n
int s=1; //注意初值为1
for(int i=1;i<=n;i++){
s=s
i;
}

示例7:在控制台输出所有的"水仙花数”
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 111 + 555 + 333 = 1 + 125 + 27 = 153
思路:
1)个位:153%10 = 3
2)十位:153/10%10 = 5
3)百位:153/10/10%10 = 1
结论(对一个三位数):
个位:n%10
十位:n/10%10
百位:n/100

public static void main(String[] args) {
	//循环每一个三位数
	for(int i=100; i<1000; i++) {
		int ge = i%10;
		int shi = i/10%10;
		int bai = i/100;			
		//让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较
		if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i) {
		    //如果相同,就把该数据在控制台输出。
	                       System.out.println(i);
		}
	}
}
相关标签: JavaSE