Java循环结构语句

循环结构语句

while循环

while是最基本的循环

结构示例:

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

只要布尔表达式为true,循环就会一直执行下去。

我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。

少部分情况需要循环一直执行,比如服务器的请求响应监听等。

循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环,会影响程序性能或者造成程序卡死崩溃。

思考:计算1+2+3+...+100=

代码示例:

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

do...while循环

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

do...while循环和while循环相似,不同的是,go...while循环至少会执行一次。

结构代码:

do {
	代码语句
}while(布尔表达式);
  • while和do...while的区别:
    • while先判断后执行,do...while先执行后判断
    • do...while总是保证循环体会被至少执行一次,这是他们的主要差别。

for循环

  • 虽然所有循环结构都可以用while或者do...while表示,但Java提供了另一种语句——for循环,使一些循环结构变得更加简单。

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

  • for循环执行的此说实在执行前就确定的。语法格式如下:

    for (初始值;布尔表达式;更新) {
    	代码语句
    }
    
  • 练习1:计算0到100之间的奇数和偶数的和
  • 练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
  • 练习3:打印九九乘法表
  • 下面是答案

.

.

.

.

.

.

.

..

.

.

.

.

.

..

.

..

.

.

.

.

..

.

.

.

.

.

练习1:

自己做的

for(i1=1;i1<100;i1+=2) {
	int num1 = num1 + i1;
    System.out.println(num1);
}
for(i2=0;i<=100;i2+=2) {
	int num2 = num3 + i2;
	System.out.println(num2);
}

狂神教的:

int oddSum = 0;
int evenSum = 0;

      for (int i = 0; i <= 100; i++) {
           if(i%2!=0) {  //判断i是否能整除2
                oddSum +=i;
            }else {
                evenSum +=i;
            }
        }
        System.out.println("奇数的和:"+oddSum);
        System.out.println("偶数的和:"+evenSum);

练习2:

自己做的:

不会做

老秦教的:

for ()for (int i1 = 0; i1 < 1000; i1++) {
            if (i1%5==0) {
                System.out.print(i1+"\t");
            }
            if (i1%(3*5)==0) {//换行
                System.out.println();
            }

            //println 输出完会换行
            //println 输出完不会换行
    }

练习3:

//先练习一个1*9的
        int b = 1;
        for (int i = 0; i <= 9; i++) {
            int num = i*b;
            System.out.print(i+"*"+b+"="+i*b+"\t");

        //再试试9*9的
            for (int i1 = 1; i1 <=9; i1++) {

                for (int i2 = 1; i2 <=9; i2++) {
                    int num2 = i1 * i2;
                    System.out.print(i1 + "*" + i2 + "=" + (i1 * i2) + "\t");
                    //但是在下不会弄成方块格式
                }
        System.out.println();
            }
        }

老秦教的:

1.先打印第一列,
2.我们把固定的1再用一个循环包起来
3.去掉重复项:m<=j
4.调整样式
        for (int j = 1; j <=9; j++) {
            for (int m = 1; m<=j; m++) {
                int num2 = j * m;

                System.out.print(j + "*" + m + "=" + (j * m) + "\t");
            }
            System.out.println();//本行用来调整格式
  }
posted @ 2021-12-08 19:10  灵天逸和江辰希  阅读(140)  评论(0)    收藏  举报