Java While语句

Java教程 - Java While语句


while循环在其控制条件为真时重复语句或块。

Java while循环

这是它的一般形式:

while(condition) { 
   // body of loop 
}
  • 条件可以是任何布尔表达式。
  • 只要条件条件为真,循环的主体将被执行。
  • 如果只重复单个语句,花括号是不必要的。

这里是一个while循环,从10减少,打印十行“tick":

 
public class Main {
  public static void main(String args[]) {
    int n = 10;
    while (n > 0) {
      System.out.println("n:" + n);
      n--;
    }
  }
}

当你运行这个程序,你会得到以下结果:

例子

以下代码显示如何使用while循环来计算和。

public class Main {
  public static void main(String[] args) {
    int limit = 20;
    int sum = 0;
    int i = 1;

    while (i <= limit) {
      sum += i++;
    }
    System.out.println("sum = " + sum);
  }
}

上面的代码生成以下结果。


例2

如果条件是 false ,则 while 循环的正文将不会执行。例如,在以下片段中,从不执行对 println()的调用:

 
public class Main {
  public static void main(String[] argv) {
    int a = 10, b = 20;
    while (a > b) {
      System.out.println("This will not be displayed");
    }
    System.out.println("You are here");
  }
}

输出:

例3

while 的正文可以为空。例如,考虑以下程序:

 
public class Main {
  public static void main(String args[]) {
    int i, j;
    i = 10;
    j = 20;

    // find midpoint between i and j
    while (++i < --j)
      ;
    System.out.println("Midpoint is " + i);
  }
}

上面代码中的 while 循环没有循环体和 i j 在while循环条件语句中计算。它生成以下输出:

Java do while循环

要执行while循环的主体至少一次,可以使用do-while循环。

Java do while循环的语法是:

do { 
   // body of loop 
} while (condition);

这里是一个例子,显示如何使用 do-while 循环。

 
public class Main {
  public static void main(String args[]) {
    int n = 10;
    do {
      System.out.println("n:" + n);
      n--;
    } while (n > 0);
  }
}

输出:

前面程序中的循环可以写成:

public class Main {
  public static void main(String args[]) {
    int n = 10;
    do {
      System.out.println("n:" + n);
    } while (--n > 0);
  }
}

输出与上面的结果相同:

例4

以下程序使用 do-while 实现了一个非常简单的帮助系统循环和 swith语句。

 public class Main {

  public static void main(String args[]) throws java.io.IOException {

    char choice;

    do {

      System.out.println("Help on:");

      System.out.println(" 1. A");

      System.out.println(" 2. B");

      System.out.println(" 3. C");

      System.out.println(" 4. D");

      System.out.println(" 5. E");

      System.out.println("Choose one:");

      choice = (char) System.in.read();

    } while (choice < '1' || choice > '5');

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

    switch (choice) {

      case '1':

        System.out.println("A");

        break;

      case '2':

        System.out.println("B");

        break;

      case '3':

        System.out.println("C");

        break;

      case '4':

        System.out.println("D");

        break;

      case '5':

        System.out.println("E");

        break;

    }

  }

}

下面是这个程序生成的示例运行: