循环结构
while循环
-
对while语句而言,如果不满足条件,则不能进入循环,但有时候我们需要及时不满足条件,也至少执行一次。
-
1~100,累加。
package com.yuecheng.struct; public class WhileDome03 { public static void main(String[] args) { int i = 0; int sum= 0; while(i<=100){ sum=sum+i; / / 当while判断不成立时,这里的语句不会执行。 i++; } System.out.println(sum); } }
do while循环
-
do…while循环和while循环相似,但不同的是,do后面的语句一定被执行,所以do…while语句至少会被执行一次。
-
while和do…while区别
- while先判断后执行
- do…while先执行后判断;
- do…while总能保证循环体至少被执行一次。这是他们最主要的差别
-
package com.yuecheng.struct; public class WhileDome03 { public static void main(String[] args) { int i = 0; int sum= 0; while(i<=100){ sum=sum+i; // 当判断不成立时,这里的语句不会执行。 i++; } System.out.println(sum); } }
for 循环
-
虽然所有的循环结构都可以使用while或者do…while语句表示,但java提供了另一种语句—for循环,使一些循环变得更加简单。
-
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
-
for循环执行的次数是在执行之前就确定的。
//语法格式如下 for(初始化;布尔表达式;更新迭代){ //代码语句 }
-
package com.yuecheng.struct; public class forDemo05 { public static void main(String[] args) { int a = 1;// 初始值 while(a<=100){//判断语句,条件判断 System.out.println(a);//循环体 a+=2;// 迭代 } System.out.println("while循环结束"); System.out.println("====================="); System.out.println("for循环开始"); // 初始化 //条件判断 //迭代 for (int b = 1;b<=100;b++){ System.out.println(b); } System.out.println("for循环结束"); for (int i = 0; i < 100; i++) { System.out.println(i);//快捷键:100.for } } }
练习
-
计算0-100以内的奇数和偶数和:
package com.yuecheng.struct; public class lianxiDemo06 { public static void main(String[] args) { //计算100以内奇数和与偶数和 int oddSum = 0; int evenSum=0; for (int i=0;i<=100;i++){ if (i%2!=0){ oddSum+=i;//oddSum=oddSum+i }else{ evenSum+=i;//evenSum=oddSum+i } } System.out.println("奇数的和="+oddSum); System.out.println("偶数的和="+evenSum); } }
-
用while或者for循环输出1000以内能被5整除的数,并且要求每行输出三个。
package com.yuecheng.struct; public class lianxiDemo07 { public static void main(String[] args) { //0-1000内能被5整除的数,而且要每行输出三个数 for (int a = 0;a<=1000;a++){ if (a % 5 == 0){ System.out.print(a+"\t"); } if (a%(5*3)==0){ System.out.println(); //System.out.print("\n"); //第三个数是15,如果能被15整除就换行,就解决了每行输出三个数 } } //注意:println输出完会换行 //print输出不会换行 } }
-
利用for循环来制作99乘法表
package com.yuecheng.struct; public class Demo99 { public static void main(String[] args) { //1.我们先打印第一列, //2.我们把固定的i再用一个循环包起来 //3.去掉重复项i<=j //4.调整样式 for (int j =1;j<=9;j++) { for (int i = 1; i <= j; i++) { System.out.print(j+ "*" + i + "=" + (j * i)+"\t"); } System.out.println(); } } }
在java5中引入了一种主要用于数组的增强型for循环。
-
之后的数组和集合重点使用
-
语法
for(语句声明:表达式) { //代码句子 }
-
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此事数组元素的值相等。
-
表达式:表达式是要访问的数组名,或者是返回值为数组的方法
-
package com.yuecheng.struct; public class ForDemo08 { public static void main(String[] args) { int[]numbers = {10,20,30,40,50};//定义了一个数组 for (int i =0; i<=4; i++){ System.out.println(numbers[i]); } System.out.println("========================================="); // 遍历数组的元素 for (int x:numbers){ System.out.print(x+"\t"); } } }