循环结构——whlie do whlie for for each

时间:2024-06-25 00:07:50

1、  while循环

   while(循环条件){       (特点为:先判断再执行)

    循环操作

   }

例题:  计算1+2+3+...+100 

  int i = 1;
  int sum = 0;
  while(i<=100){
    sum +=i;
    i++;
  }

2、 do while循环

    do{                   (特点为:先执行再判断)

    循环操作

    }while(循环条件)

例题: 计算1+2+3+...+100  

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

  

3、   for 循环               (特点:先判断再执行)

for(表达式1(参数初始化);表达式2(条件判断);表达式3(更新循环变量)){

    循环操作;

    }

例题:计算0~100中不是3的倍数的所有数的和,和大于2000输出结果

  int sum = 0;
  for(int i=0;i<100;i++){
    if(i%3 != 0){
      sum += i;
      if(sum<2000){
      }else{
      break;
      }
    }
  }
  System.out.println(sum);

4、for each循环   (遍历数组)

for(声明循环变量:数组的名字){

}

5、for循环跟while循环的选用

循环次数确定的情况下选用for循环,循环次数不确定则选用while、do while循环。

6、综合应用

例题:模拟取款机

Scanner input = new Scanner(System.in);
for(int i=1;i<=3;i++){
  System.out.println("请输入密码:");
  int password = input.nextInt();
  if(password==111111){
    while(true){
      System.out.println("请输入取款金额:");
      int amount = input.nextInt();
      if(amount>=0 && amount<=1000 && amount%100==0){
        System.out.println("您的取款金额为:"+amount+"元");
        System.out.println("交易完成,请取卡");
        return;
      }else{
      System.out.println("您输入的金额不合法");
      }
   }
  }else{
  if(i<3){
    System.out.println("密码错误请重新输入:"+"您还能输入"+(3-i)+"次");
  }else{
    System.out.println("密码错误,请取卡");
  }