for 循环
标准形式
for (表达式1; 表达式2; 表达式3) {
语句序列;
}
表达式1:初始化表达式,负责变量初始化。
表达式2:循环条件表达式,负责判断循环什么时候停止。
表达式3:循环后表达式,负责修改变量。
例题:计算1~100的偶数之和
public static void main(String[] args) {
int sum = 0;
for (int i = 2; i <= 100; i += 2) {
sum += i;
}
System.out.println(sum);
}
经常在循环外定义一个变量,来保存循环里面执行的情况。(90%都是如此)
foreach 语句
foreach是for的简化版本,但是并不能完全代替for语句,foreach不是关键字,只是习惯上将这种特殊的for语句称为foreach。
foreach在遍历数组和线性集合方面非常方便,如果不需要使用数组下标,使用foreach很方便,如果需要使用数组下标,就是用for循环标准形式。
for (元素变量 x : 遍历对象 obj) {
引用x的java语句;
}
使用foreach需要注意的点:foreach不能改变遍历对象中元素的值,如果希望给数组赋值或者修改数组的值,只能使用for标准形式进行修改,不能使用foreach。
int[] arr = new int[10];
int t = 0;
for (int x : arr)
x = ++t;
for (int x : arr)
System.out.println(x);
while 循环
while 格式
while (条件表达式) {
语句序列;
}
do…while 格式
do {
语句序列;
} while (条件表达式);
区别:
- while循环先判断条件表达式再执行
- do…while不管条件表达式是true还是false,先执行一次,再判断条件表达式。
- do…while语句在while后面有一个“;”,而while没有
练习:
思考下面代码输出结果:
int i = 0;
while (++i < 5) {
System.out.print(i);
}
System.out.println();
i = 0;
while (i++ < 5) {
System.out.print(i);
}
System.out.println();
int j = 0;
do {
System.out.print(j);
} while (++j < 5);
System.out.println();
j = 0;
do {
System.out.print(j);
} while (j++ < 5);
}
输出结果:
1234
12345
01234
012345
如果不明白的,去看看运算符的使用,这里考察的主要是运算符。