Java流程控制-循环结构(while\do while\for\增强for)

循环结构

while 循环

int i=0;
while (i<100){
    i++;
    System.out.println(i);
}

例子:计算1+2+3+.....+100,用循环语句

//计算1+2=3....+100=?
int i =0;
int sum=0;
while (i<=100){
    sum=sum+i;
    i++;
}
System.out.println(sum);

do while循环

int i=0;
int sum=0;

do {
    sum=sum+i;
    i++;
}while(i<=100);
System.out.println(sum);
//while先判断后执行,do while先执行后判断

for循环

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

快捷方式:100.for

int a=1;//初始化条件
while (a<=100){//条件判断
    System.out.println(a);//循环体
    a+=2;//迭代
}
System.out.println("while循环结束!");

//初始化;条件判断;迭代
for(int i=1;i<=100;i++){
    System.out.println(i);//循环体
}
System.out.println("for循环结束");

注意://死循环

for( ; ; ){

}

练习1:计算0-100之间奇数和、偶数和

思路:分别把奇数和偶数挑出来,分别求和

int oddsum=0;//意思是奇数和
        int evensum=0;//意思是偶数和
        for (int i = 0; i < 100; i++) { //100.for快捷方式
            if(i%2!=0){  //i除以2的余数不等于0,奇数
                oddsum+=i;//oddsum=oddsum+i
            }else{
                evensum+=i;
            }
        }
        System.out.println("奇数的和:"+oddsum);
        System.out.println("偶数的和:"+evensum);

练习2:用while或者for循环输出1-1000之间能被5整除的数,并且每行输出3个

for (int i = 0; i < 1000; i++) {
    if(i%5==0){
        System.out.print(i+"\t");//  \t转义字符相当于键盘上tab空格键
    }
    if(i%15==0){//换行的意思 每满3*5换行
        System.out.print("\n");//换行字符
    }
//println:输出完会换行
//print:输出完不会换行

打印九九乘法表

public static void main(String[] args) {
        for (int i = 1; i <=9 ; i++) {
            for (int j = 1; j <=i ; j++) {
                System.out.print(j+"*"+i+"="+i*j+"\t");

            }
            System.out.println("\n");

        }

    }

增强for循环(先了解)

int[]numbers={10,20,30,40,50};//定义了一个数组

for (int i = 0; i < 5; i++) {
    System.out.println(numbers[i]);
}
System.out.println("___________________________");
//增强for循环:遍历数组的元素
for(int x:numbers){
    System.out.println(x);
}

break continue

  1. break可用在任何循环的主体部分,由于强行退出循环,也可以用在switch语句。
  2. continue用于循环语句中,终止当次循环过程,跳过剩余语句,直接进行下一次循环条件判断。
  3. 标签:后面跟一个冒号的标识符 label:

打印三角形

for (int i = 1; i <= 5; i++) {//初始值,循环条件(一旦不在范围就跳出循环)
            for (int j = 5; j >= i; j--)//建立1号图形 j为什么要大于等于i,因为第一次循环的时候i=1输出5个空格,第二次i=2输出4个空格,54321这样递减,5>1,5>2,5>3,5>4,5>=5
                System.out.print(" ");
            for (int j = 1; j <=i; j++)//建立2号图形,12345分别递增*号个数,j<=i满足条件才会打印*号,j>i的时候跳出循环,例如第一次循环时候j=2大于i=1了要让他换行
                System.out.print("*");
            for(int j = 1; j < i; j++)//建立3号图形,3号图形没有在第一行输出,所以要在第一次大循环中掐断它,让它在第二次大循环中输出, 所以这次的判断条件为 j < i 去掉了等于。
                System.out.print("@");
            System.out.println();
            //大神解析:https://www.runoob.com/w3cnote/java-print-the-triangle.html
            //先画出拆分的三个图形再解析代码第一排i=1,第二排i=2依次递增,第五排i=5.满足循环条件就打印*或者@,从这方面理解.
        }
    }
}
posted @ 2022-08-11 10:08  Fred不想做咸鱼  阅读(102)  评论(0)    收藏  举报