一、while循环与 do while循环
区别:
while :先判断条件,只有条件满足才执行循环体。
do while :先执行循环体,再判断条件,条件满足,再继续执行循环体;无论条件是否满足,循环至少执行一次
代码如下:
public static void whileDemo() {
int x = 1;
while (x < 3) {
System.out.println("Hello World");
x++;
}
}
public static void doWhile(){
int x=1;
do{
System.out.println("Hello World");
x++;
}
while(x<3);
}
二、for循环与foreach循环
for循环的格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句;
}
我们以一道练习题为例编写代码:
题目:已知一个int数组, 编程从数组中获取最大数
public class Test1 {
public static void main(String[] args) {
// 定义一个数组
int num[] = { 36, 6, 7, 0, 100, 8, 34, 33, 25 };
// 定义最大值变量max并赋予数组的第一个值
int max = num[0];
// for循环数组依次与max比较,如果比max大则max被重新赋值
for (int i = 0; i < num.length; i++) {
if (max < num[i]) {
max = num[i];
}
}
// 输出最大值
System.out.println(max);
}
}
foreach循环是jak1.5之后提供的一种更简单的循环,也叫高级for循环,使用foreach循环遍历数组无须知道数组的长度,也无须根据索引来访问数组元素。他和普通循环不同的是,他无须循环条件,无须循环迭代语句,这些部分都有系统来完成,他自动迭代每一个元素,每一个元素迭代完后他自动结束。此段代码可改写为如下:
public class Test11 {
public static void main(String[] args) {
// 定义一个数组
int num[] = { 36, 6, 7, 0, 100, 8, 34, 33, 25 };
// 定义最大值变量max并赋予数组的第一个值
int max = num[0];
// foreach循环数组依次与max比较,如果比max大则max被重新赋值
for (int i : num) {
if (max < i) {
max = i;
}
}
// 输出最大值
System.out.println(max);
}
}
三、总结
1、变量有自己的作用域,对于for循环来讲:如果将定义循环的增量定义在for语句中,那么该变量只在for语句中有效。for循环执行完毕该变量在内存中被释放。
2、for和while可以进行互换。如果需要定义循环增量。用for循环更合适。