上篇说了判断语句,这篇说循环语句。
一、while循环
while循环是最基础的循环,它的语法是:
while( 判断条件 ) {
代码块;
}
当满足while里面的判断条件时,程序就执行里面的代码块,直到不再满足,循环才结束,如下图所示。
public class test {
public static void main(String[] args) {
int i = 1;
while (i < 5){
i++;
System.out.println("i每次循环的值为:" + i);
}
System.out.println("i的最后的值为:" + i);
}
}
i每次循环的值为:2
i每次循环的值为:3
i每次循环的值为:4
i每次循环的值为:5
i的最后的值为:5
二、do…while循环
do…while的语法是:
do{
代码块;
}while (判断条件 );
do…while循环和while循环基本一样,唯一的区别就是while循环是先进行判断,如果符合条件就运行代码块。而do…while循环是先运行代码块,再进行判断。就是说不管条件是否符合,do…while循环都会运行一次。
public class test { //while循环
public static void main(String[] args) {
int i = 6;
while (i < 5){
i++;
System.out.println("i每次循环的值为:" + i);
}
System.out.println("i的最后的值为:" + i);
}
}
i的最后的值为:6 //while循环
public class test { //do...while循环
public static void main(String[] args) {
int i = 6;
do {
i++;
System.out.println("i每次循环的值为:" + i);
}while(i < 5);
System.out.println("i的最后的值为:" + i);
}
}
i每次循环的值为:7 //do...while循环
i的最后的值为:7
如图,我们把i的值改成6,如果是while循环,因为不符合判断条件,就直接输出6;而do…while循环则会先运行一次,所以i的值为7。
三、for循环,foreach循环
①for循环是用的最多的循环,它的语法是:
for ( 初始化参数;判断条件 ;循环变量的改变){
代码块;
}
for循环先执行顺序是从左到右的,先初始化参数,这里也可以不写,直接为空语句;然后进行条件判断;接着是循环变量的改变,例如下图中的x++,每执行一次循环,x的值都会随之改变;最后是代码块的运行。总的来说,所有的for循环都能用上面两种方式表示,但是for循环结构最简单,所有用的最多。
public class test {
public static void main(String[] args) {
int i = 1;
for (int x = 1; x < 5; x++){
i++;
System.out.println("i每次循环的值为:" + i);
}
System.out.println("i的最后的值为:" + i);
}
}
i每次循环的值为:2
i每次循环的值为:3
i每次循环的值为:4
i每次循环的值为:5
i的最后的值为:5
②foreach循环是主要用于数组或者集合的一种for循环,也称为增强for循环,它的语法是:
for (元素类型 元素变量 : 遍历对象) {
代码块;
}
元素类型必须和遍历对象里元素的类型一致,元素变量是自己定义用来接收值的变量,遍历对象一般是数组或者集合。
public class test {
public static void main(String[] args) {
int a[] = {1,2,3,4,5};
String b[] = {"张三","李四","王五"};
for (int i : a) {
System.out.println("i每次循环的值为:" + i);
}
for (String name : b){
System.out.println("name每次循环的值为:" + name);
}
}
}
i每次循环的值为:1
i每次循环的值为:2
i每次循环的值为:3
i每次循环的值为:4
i每次循环的值为:5
name每次循环的值为:张三
name每次循环的值为:李四
name每次循环的值为:王五
如图分别定义了两种不同类型的数组,foreach循环相当于每次数组里面的元素按顺序取出来赋值给元素变量,然后执行里面的代码块。当取到数组的最后一个元素时,结束循环。
今日份:
弃我去者,昨日之日不可留;
乱我心者,今日之日多烦忧。