Day_2 循环

Day 2 循环

while循环

while(/*布尔表达式*/){
  //逻辑代码(循环操作)
}

先判断,后执行,直到布尔表达式值为false退出循环

特点:首次即有入口条件,先判断后执行,首次判断不满足,则一次都不会执行,适用于循环次数明确的情况。

例:

求1~100的偶数和

public class HelloWorld{

    public static void main(String args[]){

        int i = 2,w = 0;

        while(i <= 100){
            w += i;
            i += 2;
        }
        System.out.println(w);
    }
}

do while循环

do{
  //逻辑代码(循环操作)
}while(/*布尔表达式*/);

先执行一次循环操作之后再进行判断,为false退出循环,为true继续执行。

特点:首次入口没有条件,先执行再判断。适用于循环次数不明确的情况。

for 循环

特点:首次即有入口条件,先判断后执行,首次判断不满足,则一次都不会执行,适用于循环次数明确的情况。

案例:

在控制台输入整数n,计算n的阶乘(!n)

import java.util.Scanner;
public class HelloWorld{

    public static void main(String args[]){

        Scanner scan = new Scanner(System.in);

        int n,w = 1;

        n=scan.nextInt();

        for (int i = 1;i<=n ;i++ ) {

            w*=i;

        }

        System.out.println(w);
    }
}

流程控制

break

终止并跳出整个循环结构

for(int i = 1;i<=5;i++){
  if(i==3){
    break;
  }
  System.out.println("循环第"+i+"次");
}
System.out.println("循环结束");
//运行结果
    循环第1次
    循环第2次
    循环结束

continue

结束本次循环、进入下一次循环

for(int i = 1;i<=5;i++){
  if(i==3){
    continue;
  }
  System.out.println("循环第"+i+"次");
}
System.out.println("循环结束");
//运行结果
    循环第1次
    循环第2次
    ---------(continue跳过)
    循环第4次
    循环第5次
    循环结束

附注:经典案例

ATM机(练习do…while和switch)
import java.util.Scanner;
public class ATM{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int input;
    do{
        System.out.println("\t========欢迎使用ATM自助银行========");
        System.out.println("1:开户 2:存款 3:取款 4:转账 5:查询余额 6:修改密码 0:退出");
        System.out.println("\t===================================");
        System.out.println("请输入操作编号:");
        input = scan.nextInt();

            switch(input){
                case 1:
                    System.out.println("执行开户操作!");
                    break;
                case 2:
                    System.out.println("执行存款操作!");
                    break;
                case 3:
                    System.out.println("执行取款操作!");
                    break;
                case 4:
                    System.out.println("执行转账操作!");
                    break;
                case 5:
                    System.out.println("执行查询余额操作!");
                    break;
                case 6:
                    System.out.println("执行修改密码操作!");
                    break;
                case 0:
                    System.out.println("执行退出操作!");
                    break;
                default:
                    System.out.println("输入有误,请重新输入!");
                    break;
            }
        }while(input != 0);
    }
}
生成指定行数菱形(练习多重for循环)
import java.util.Scanner;
public class TestFor4{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int input;
        do{
            System.out.println("请输入菱形行数:(仅限单数)");
            input = scan.nextInt();
        }while(input % 2 == 0);

        int n = (input+1)/2;

        for(int i = 1;i <= n;i++){
            for (int j = 1;j <= n-i ;j++ ) {
                System.out.print(" ");
            }
            for (int k = 1;k <= 2*i-1 ;k++ ) {
                System.out.print("*");
            }
            System.out.println("");
        }
        for (int i = 1;i < n ;i++ ) {
            for (int j = 1;j <= i ;j++ ) {
                System.out.print(" ");
            }
            for (int k = 2*(n-i)-1;k > 0 ;k-- ) {
                System.out.print("*");
            }
            System.out.println("");
        }
    }

}

循环使用技巧和注意点

1、多重if适用于区间判断、switch适用于等值判断

2、循环的组成部分(正确有效的循环组成)

​ 1、初始部分 2、条件判断 3、循环操作 4、迭代部分

3、当前循环条件判断谁,谁才是当前循环的初始部分和迭代部分

4、while循环控制和操作分开思考 循环操作 ——–> 循环次数

5、循环:

​ 图形:外层控制行数,内层控制列数

​ 其他:外层控制循环次数,内层控制单层循环操作

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值