while,do...while及for三种循环结构
循环结构
while循环
while (布尔表达式) { //循环内容 }
- 只要布尔表达式为true循环就会一直执行
- 我们大多数情况会让循环停止下来,需要一个让表达式失效的方式来停止循环
while循环示例
public class whileDemo01 { public static void main(String[] args) { int i=0; int sum=0; //输出1-100 while (i<100){ i++; sum=i+sum; } System.out.println(sum); } }
do...while循环
- do...while循环至少会执行一次
do () { //代码语句 } while (布尔表达式);
- while和do...while的区别
- while是先判断后执行,do...while是先执行后判断
- do...while总能保证循环至少被执行一次
do...while循环示例
public class dowhileDemo01 { public static void main(String[] args) { int i=0; int sum=0; do{ sum=sum+i; i++; }while (i<=100); System.out.println(sum); } }
public class dowhileDemo02 { public static void main(String[] args) { int a=0; while (a<0){ System.out.println(a); } System.out.println("==========================="); do { System.out.println(a); a++; }while (a<0); } }
for循环
- for循环语句是一种支持迭代的通用结构,是最有效、最灵活的循环结构
- for循环执行的次数在执行前就确定
for(初始化;布尔表达式;更新) { //代码语句 }
for循环示例
public class forDemo01 { public static void main(String[] args) { int a=1; while (a<=100){ System.out.println(a); a+=2; } for (int i=1;i<=100;i++){ System.out.println(i); } System.out.println("for循环结束"); } }
分别输出0-100之间奇数及偶数的和
public class forDemo02 { public static void main(String[] args) { //0-100之间奇数和偶数的和 int sum1=0; int sum2=0; for (int i = 0; i <= 100; i+=2) { sum1=sum1+i; } for (int j = 1; j <=100; j+=2) { sum2=sum2+j; } System.out.println(sum1); System.out.println(sum2); } }
输出1-1000的质数,每三个换行
public class forDemo03 { public static void main(String[] args) { for (int i1 = 1; i1 <= 1000; i1++) { if (i1%5==0){ System.out.print(i1+"\t"); if (i1%(5*3)==0){ System.out.println("\n"); } } } } }
数组的定义及遍历
public class forDemo05 { public static void main(String[] args) { int[] number={10,20,30,40,50}; //定义了一个数组 //遍历数组的元素 for (int i = 0; i < 5; i++) { System.out.println(number[i]); } System.out.println("============================"); for (int x:number){ System.out.println(x); } } }
打印九九乘法表
public class forDemo04 { public static void main(String[] args) { //拆分问题,拆分成不同的小问题逐步化解 //1.先打印第一列 //2.把固定的1再用循环包起来 //3.去掉重复项,i2<=i1 //4.调整样式 for (int i1 = 1; i1 <= 9; i1++) { for (int i2 = 1; i2 <= i1; i2++) { System.out.print(i2+"*"+i1+"="+(i1*i2)+"\t"); } System.out.println(); } } }
输出三角形
public class testDemo01 { public static void main(String[] args) { for (int i = 1; i <= 5; i++) { //输出的空格逐渐减少,可将初始值设为最大之后逐渐减小 for (int i1 = 5; i1 >= i; i1--) { System.out.print(" "); } //输出的数字逐渐增多,可将初始值设为最小之后逐渐增大 for (int i1 = 1; i1 <= i; i1++) { System.out.print(i1); } //输出的数字逐渐增多,将初始值设为最后之后逐渐增大 for (int i1 = 1; i1 < i; i1++) { System.out.print(i1); } System.out.println(); } } }
break与continue
- break用于跳出当前循环结构,继续执行后续语句;
- continue用于结束本次循环,不再执行本次循环的后续语句,直接进入下次循环;