循环结构
-
循环语句功能:在某些条件满足的情况下,反复执行特定代码的功能
-
循环语句的四个组成部分:
- 初始化部分
- 循环条件部分
- 循环体部分
- 迭代部分
-
循环语句分类
- for循环
例1:连续输出好多好多东西
public class practice { public static void main(String[] args){ //连续输出五次hello world // System.out.println("hello world"); // System.out.println("hello world"); // System.out.println("hello world"); // System.out.println("hello world"); // System.out.println("hello world"); //这样可以输出结果,但是要求的次数多了就做不到了 //用for循环可以解决 for(int i = 0;i < 5;i++){//初始化表表达式;布尔值测试表达式;更改表达式 System.out.println(i); // System.out.println("hello world"); } //初始化变量,咱们这里是i,判断i<5,如果是,执行代码块{ },执行更改表达式i++给i重更新赋值,值就变为1,后面同理 //判断变量i<5,当前i是5.判断结果是false,不再往下执行,结束循环 } }
例2:求水仙花数
for(int i = 100;i <=999;i++){ //水仙花数怎么表示,145,145/100=1,(145-1*100)/10=4,145-1*100-4*10=5 int m = i/100; int n =(i - m*100)/10; int k = i - m*100 - n*10; // System.out.println(i); // System.out.println(m + " " + n + " " + k);//中间引号里那东西是空格,就是要在那加个空格,得引上 int res = m*m*m + n*n*n + k*k*k;//水仙花数要满足的要求就这样 if(res == i){//判断是不是水仙花数 System.out.println(i); }
- whlie循环
例1:循环输出1到100的数字(等同for的例1)
int i = 1; while(i <= 100){ //获取变量i <= 100的计算结果,是true还是false,如果true就执行大括号里面的代码,否则不执行 System.out.println(i); i++;//不断改变变量i的值
- do/while循环
例1:循环输出1到100的数字
int m = 1; do { System.out.println(m); m++; }while (m <= 100);
例2:求1到100之间所有偶数的和,用for循环和while循环分别完成
for
int res = 0; for (int i = 1;i < 101;i++){ if (i % 2 == 0){ res += i; } } System.out.println(res);//要在for循环之外输出最后的结果,因为只有全部循环计算完毕才有1到100之间所有偶数的和
while
int res0 = 0;
int k = 1;
while (k <= 100){
if (k % 2 == 0){
res0 += k;
}
k++;
}
System.out.println(res0);
无限循环
for(;; ){ //for的无限循环
}
while(true){ //whlie的无限循环
}
嵌套循环
-
将一个循环放在另一个循环体内,就形成了嵌套循环。for,while,do…while均可以作为外层循环和内层循环
-
只有内层循环为false时,才会完全跳出内层循环,才可能结束外层的当次循环,开始下一次的循环
-
设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n=mn次
例:九九乘法表
for (int i = 1; i <= 9; i++){
for (int j = 1;j <= i;j++){
System.out.print(i + " * " + j + " = " + (i * j) + " ");//print不换行,println换行
}
System.out.println();
}
注:嵌套循环中外层的数最好小于内层的
来源:CSDN
作者:ning96
链接:https://blog.csdn.net/ning96/article/details/103810996