for循环控制
for循环:
可以让代码循环的执行。
(1)基本语法:
for ( 循环变量初始化 ; 循环条件 ; 循环变量迭代){
循环操作(可以多条语句);
}
语法说明:
1、for关键字,表示循环控制
2、for有四要素:(1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代
3、循环操作,这里可以有多条语句,也就是我们要循环执行的代码
4、如果 循环操作(语句)只有一条语句,可以省略 "{}",建议不要省略
(2)for循环流程图
(3)for循环注意事项:
1)循环条件是返回一个布尔值的表达式
2)for ( ; 循环判断条件 ; ) 中的初始化和变量迭代可以写到其他地方,但是两边的分号不能省略。
3)循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
4)使用内存分析法,分析下面代码输出什么?
int count = 3;
for(int i =0;,j=0;i<count;i++,j+=2){
System.out.println("i="+i+"j="+j);
}
//输出结果为i=2;j=4
(4)for循环的其他写法
表达式的另一种用法 :
int i=0; //把int定义在外
for(;i<=10;){ //表达式只含条件
System.out.printn("hello");
i++; //i++写在循环内
}
//结果输出10个hello和常规写法输出的结果一致
死循环写法 :
for( ; ; ){ //表示一个死循环,无限循环
System.out.println("ccc");
}
//编译可以通过,但一直反复输出ccc,永远不会停
(5)for循环控制
1)
打印1~100之间所有是9的倍数的整数,统计个数及总和
2)
完成下面的表达式输出
0 + 5 = 5
1 + 4 = 5
2 + 3 = 5
3 + 2 = 5
4 + 1 = 5
5 + 0 = 5
编程思想:
1.化繁为简:即将复杂的需求,拆解成简单的需求,逐步完成
2.先死后活:先考虑固定的值,然后转成可以灵活变化的值
(1)思路分析与代码实现:
思路分析:
1)完成 输出1-100的值
2)在输出的过程中,进行过滤,只输出9的倍数 i%9==0
3)统计一个数,定义一个变量 int count =0;当条件满足时count++;
4)总和,定义一个变量int sum=0;当条件满足时累积 sum + = i;
代码实现:
public static void main(String[] args) {
// 打印1~100之间所有是9的倍数的整数,及总和
int count=0; //统计9的倍数个数 变量
int sum=0; //总和
for(int i=1;i<=99;i++){
if(i%9==0){
System.out.println("i="+i);
count++;
sum+=i; //累积
}
}
System.out.println("sum="+sum);
System.out.println("count"+count);
}
}
①为了适应更好的需求,把范围的起始值和结束的值,做成变量
②还可以更进一步,9倍数也做成变量 int t =9;
public static void main(String[] args) {
int count=0;
int sum=0;
int start = 10;
int end =200;
int t =5;
for(int i=start;i<=end;i++){
if(i%t==0){
System.out.println("i="+i);
count++;
sum+=i;
}
}
System.out.println("sum="+sum);
System.out.println("count"+count);
}
}
(2)思路分析与代码实现:
1)先输出0-5
2)后面的 + 是 5 - i
3) 5 替换成变量 n
public static void main(String[] args) {
// 0 + 5 = 5
// 1 + 4 = 5
// 2 + 3 = 5
// 3 + 2 = 5
// 4 + 1 = 5
// 5 + 0 = 5
int n =10;
for(int i =0;i<=n;i++){
System.out.println(i+"+"+(n-i)+"="+n);
}
}
}