循环结构

while 循环

while( 布尔表达式 ) { //循环内容 }

只要布尔表达式为 true,循环就会一直执行下去。循环条件一直为true就会造成无限循环【死循环】,少部分情况需要循环一直执行,比如服务器的请求响应监听等。我们正常的业务编程中应该尽量避免死循环。

用while循环实现1+2+...+100

public class Hello {
    public static void main(String[] args){
        int i=0;
        int sum=0;
        while(i <= 100){
            sum=sum+i;
            i++;
        }
        System.out.println(sum);//5050
    }
}

do…while 循环

对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while 循环和while循环相似,不同的是,do…while循环至少会执行一次。

do { 

//代码语句 

}while(布尔表达式); 

public class Hello {
    public static void main(String[] args){
        int i=0;
        int sum=0;

        do {
            sum=sum+i;
            i++;
        } while(i <= 100);

        System.out.println(sum);//5050
    }
}

for循环

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数是在执行前就确定的。语法格式如下:

for(初始化; 布尔表达式; 更新) { //代码语句 }

//死循环
for(;;){}
//idea快捷键 100.for
public static void main(String[] args) { 

int a = 1; //初始化 

while(a<=100){ //条件判断 

System.out.println(a); //循环体 

a+=2; //更新

}

System.out.println("while循环结束!"); 

for(int i = 1;i<=100;i++){ //初始化//条件判断 //更新 更新不止i++,也可以i=i+2等

System.out.println(i); //循环体 

}

System.out.println("while循环结束!"); 

} 

计算0到100的奇数和与偶数和

public static void main(String[] args){
        int oddsum=0;//奇数和
        int evensum=0;//偶数和

        for (int i=0;i<=100;i++){
            if (i%2!=0){
                oddsum=oddsum+i;
            }else{
                evensum=evensum+i;
            }
        }

        System.out.println("奇数的和为:"+oddsum);//2500
        System.out.println("偶数的和为:"+evensum);//2550
    }

输出1-90能被5整除的数,并且每行输出3个

public class Hello {
    public static void main(String[] args) {

        for (int i = 1; i <= 90; i++) {
            if (i % 5 == 0) {
                System.out.print(i + "\t");
            }
            if (i % (5 * 3) == 0) {//每行输出3个5的倍数的数字,每行第3个必定是15的倍数
                System.out.println();
                //System.out.print("\n")
            }
        }
    }
}

打印九九乘法表

第一步:我们先打印第一行

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

第二步:完整的九九乘法表有9行9列,刚才的for循环只打印了其中1行,还需要把打印其他行,故再用一个for循环把第一步的语句循环执行将另外8行也打印出来
即写一个外循环,内循环每循环一遍换行一次。

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

第三步:九九乘法表只需要保留成一个下三角矩阵,所以要去除每行中重复的项。观察可知,第n行有n列。行是不变的,一共9行。
列是变量,而内循环是控制列数的,所以要改变内循环的条件判断。i<=9使得每行有9列,可知i<=n使得每行有n列。
因为第几行是外循环的j控制的,所以结论变成第j行有j列,即i<=j;

public static void main(String[] args) {
        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();
        }
    }

第四步:观察九九乘法表a*b=ab的排版是:列数在前,行数在后。
所以System.out.print(j+"*"+i+"="+(j*i)+"\t");交换j+"*"+i中ij的位置

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

增强for循环

Java5 引入了一种主要用于数组或集合的增强型 for 循环

for(声明语句 : 表达式) { //代码句子 }

实例

public static void main(String[] args) {
       int[] numbers={10,20,30,40,50}; //定义了一个数组

        //常规
        for (int i=0;i<5;i++){
            System.out.print(numbers[i]+"\t");
        }
        System.out.println();
        System.out.println("==================================");
        //增强型
        //它把numbers中的数组每项都遍历出来赋值给了x
        for (int x:numbers){
            System.out.print(x+"\t");
        }
    }

break&continue

continue请假,break离职,return换个星球生活。

break关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。

public static void main(String[] args) {
        int i=0;
        while (i<10){
            i++;
            System.out.print(i+"\t");
            if (i==7){
                break;
            }
        }
    }

continue关键字

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

public static void main(String[] args) {
        int i=0;
        while (i<30){
            i++;
            if (i%10==0){
                System.out.println();
                continue;
            }
            System.out.print(i+"\t");
        }
    }

posted @ 2022-03-26 23:17  ben10044  阅读(50)  评论(0编辑  收藏  举报