Java学习—基础篇—循环
三种循环:
- while()
- do{}while()
- for()
其中:while()循环与do{}while()循环的区别
while()循环先判断,再执行,如果判断结果为true则执行循环体,条件不成立,循环体一次都不执行
do{}while()先执行,再判断,如果判断结果为true则开始循环,即最少执行一次
int i = 0;
while(i>1){
System.out.println("while循环体执行");
}
do {
System.out.println("doWhile循环体执行");
}while (i>1);
####输出结果为 doWhile循环体执行
for循环
练习一:for循环计算0~100奇数的和与偶数的和
##for循环计算0~100奇数的和与偶数的和
int oddSum = 0;
int evenSum = 0;
for(i=0;i<=100;i++){
if(i%2==0){
evenSum+=i;
}else{
oddSum+=i;
}
}
System.out.println("奇数的和=="+oddSum);#输出结果为奇数的和==2500
System.out.println("偶数的和=="+oddSum);#输出结果为奇数的和==2550
练习二:for循环输出0~1000中能整除5的数,每三个数换一行
for(i=0;i<=1000;i++){
if(i%5==0){
System.out.print(i);
System.out.print("\t"); #输出空格
if(i%15==0){
System.out.print("\n");#换行
//System.out.println();#换行
}
}
}
练习三:for循环输出九九乘法表
分析步骤
- 打印第一列乘法表(一重for循环)
- 打印全部乘法表(二重for循环)
- 去除两个for循环中重复算术式(修改限制条件)
- 修改样式(输出空格与换行)
int sum = 0;
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
sum = i*j;
System.out.print(i+"*"+j+"="+sum+"\t");
}
System.out.println();
}
拓展一:for打印三角形
for(int i=1;i<=5;i++){
//打印空格
//第一层for循环第一次循环中打印5个空格
//第一层for循环第二次循环中打印4个空格
//依次类推5次循环
for(int j=5;j>=i;j--){
System.out.print(" ");
}
//打印*
//第一层for循环第一次循环中打印1个*
//第一层for循环第二次循环中打印2个*
//依次类推5次循环
for(int j=1;j<=i;j++){
System.out.print("*");
}
//打印*
//第一层for循环第一次循环中打印1个*
//第一层for循环第二次循环中打印2个*
//依次类推5次循环
for(int j=1;j<i;j++){
System.out.print("*");
}
//第一次循环打印结束 换行
System.out.println();
}
// 输出结果:
// *
// ***
// *****
// *******
// *********
拓展二:for打印倒三角形
for(int i=1;i<=5;i++){
//第一层循环打印1个空格
for(int j = 1; j <=i;j++){
System.out.print(" ")
}
//第一层循环打印5个* 然后依次递减
for(int j = 5;j>=i;j--){
System.out.print("*")
}
//第一层循环打印5个* 然后依次递减
for(int j = 5;j>i;j--){
System.out.print("*")
}
System.out.println();//换行
}
// 输出结果:
// *********
// *******
// *****
// ***
// *
break与continue
break在循环体的任何地方,都可以使用break控制循环的流程。当break语句执行时,强制退出循环体(立即结束循环),循环体中的剩余语句都不执行。
int i = 0;
while (i<10){
i++;
if (i==5){
break;
}
System.out.println(i); ##输出结果为 1 2 3 4
}
continue语句用于终止某一次循环语句的执行,跳过未执行的循环体的语句,紧接着开始下一次循环,即continue语句执行时,立即回到循环体的开始部分执行下一次循环。
int j = 0;
while (j<5){
j++;
if (j==2){
continue;
}
System.out.println(j); ##输出结果为 1 3 4 5
}