将一段程序重复执行多次称为循环,java提供3种循环语句:for语句、while语句、do-whil语句,循环语句是根据给定条件来判断是否继续执行指定的程序,如果满足执行条件,就继续执行循环,否就不再执行循环,结束循环语句,do-while语句不用深度了解(压根遇不到需要使用的情况),所以我们主要了解for语句和while语句。
1.for循环
for循环的语法结构:
for(声明变量表达式; 循环条件; 迭代){
循环的代码块;
}
说明:
1.声明变量表达式是决定谁做循环,循环条件是决定是否执行循环,迭代是改变循环的变量值,让循环在合适的时候退出
2.for语句的执行过程是:执行声明变量表达式,计算循环条件,如果循环条件的值为true,执行循环的代码块,执行迭代,改变循环变量的值,再计算循环条件的值,如果是true,再进入循环的代码块,形成循环,直到循环条件的值为false,结束循环。
如下:
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println("第"+(i+1)+"圈");
}
}
练习:在控制台依次输出数字100以内的偶数,再显示这些偶数之和。
public static void main(String[] args) {
System.out.println("100以内的偶数");
int a = 0;
for (int i = 0; i < 100; i++) {
if (i % 2 == 0) {
System.out.println(i + 2);
a += i;
}
}
System.out.println("100以内偶数的和是"+a);
ps:可预知循环次数的循环,或基于数字递增进行循环,通常用for语句。
2.while循环
while循环的语法如下:
while(表达式){
循环的代码块;
}
说明:
while语句的执行过程是:计算表达式的值,如果其值是true,执行循环的代码块;再计算表达式的值,如果其值是true,再执行循环的代码块,形成循环,直到表达式的值变为false,结束循环。
如下:
public static void main(String[] args) {
System.out.println("计算1-100之间的数相加的和");
int i = 1;
int num = 0;
while (i<=100){
num +=i;
i++;
}
System.out.println("1-100之间的数相加的和是"+num);
}
练习:求得折纸次数,现有一张足够大的纸,厚度是1cm,需要折叠多少次能超过珠穆朗玛峰的高度(8848m)。
public static void main(String[] args) {
int i =884800;
int cm =1;
int zheheng =0;
while (cm<i){
cm*=2;
zheheng++;
}
System.out.println("一张纸要叠"+zheheng+"次才能超过珠穆朗玛峰");
}
ps:不可预知循环次数的循环,或基于数字递增进行循环,通常用while语句。
3.do while循环
do-while循环的语法如下:
do{
循环的代码块;
}while(表达式);
说明:
执行循环体,计算表达式的值,如果其值为true,再执行循环的代码块;,形成循环,直到表达式的值变为false,结束循环。