1.if和switch的比较
- 当判断的类型较少的时候,而且符合byte,short,int,char,enum,String,建议使用switch
- 当判断的是区间或者是boolean类型时,使用if,if的使用范围更广
2.for循环控制
for (循环变量初始化;循环条件;循环变量迭代) {
循环操作(可多条语句);
}
- for关键字,表示循环控制
- for有四要素:循环变量初始化 循环条件 循环操作 循环变量迭代
- 循环操作,这里可以有多条语句
- 如果循环操作只有一条语句,可以省略{},建议不要省略
注意事项和细节说明
- 循环条件是返回一个布尔值的表达式
- for(;循环判断条件;)中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略
- 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开
- 可用内存分析法分析
public class For01 {
public static void main(String[] args){
int count = 3;
for(int i = 0, j = 0; i < count; i++, j += 2) {
System.out.println("i = " + i + " "+ "j = " + j);
}
}
}
eg:
public class For01 {
public static void main(String[] args){
//打印1-100之间所有是9的倍数的整数,统计个数及总和
//编程思想
//1.化繁为简:将复杂的需求,拆解为简单的需求,逐步完成
//2.先死后活:先考虑固定的值,然后转成可以灵活变化的值
//化繁为简
//1.完成输出1-100
//2.在输出的过程中,进行过滤,只输出9的倍数,i % 9 == 0
//统计个数,定义一个变量int count = 0; 当条件满足时 count++;
//总和,定义一个变量,int sum = 0; 当条件满足时累积 sum += i;
//1.为了适应更好的需求,把范围开始的值和结束的值,做成变量
//2.更进一步,9的倍数也可做成变量
int count = 0;
int sum = 0;
int startNum = 10;
int endNum = 100;
int t = 9;
for(int i = startNum; i <= endNum; i++) {
if(i % t == 0) {
count++;
sum += i;
System.out.println("i = " + i);
}
}
System.out.println("count = " + count);
System.out.println("sum = " + sum);
}
}
public class For02 {
public static void main(String[] args){
//化繁为简
//1.先输出0-5
//2.后面的+是 5-i
//先死后活
//1.改变求值之和;
int n = 10;
for (int i = 0; i <= n; i++) {
System.out.println(i + " + " + (n - i) + " = " + n);
}
}
}