全面掌握Java中的循环控制语句与条件判断语句的使用

循环控制
可能存在一种情况,当我们需要执行的代码块数次,通常被称为一个循环。
Java有非常灵活的三循环机制。可以使用以下三种循环之一:

  • while 循环
  • do...while 循环
  • for 循环

截至Java5,对增强的for循环进行了介绍。这主要是用于数组。

while 循环
while循环是一个控制结构,可以重复的特定任务次数。

语法

while循环的语法是:

while(Boolean_expression)
{
  //Statements
}

在执行时,如果布尔表达式的结果为真,则循环中的动作将被执行。只要该表达式的结果为真,执行将继续下去。

在这里,while循环的关键点是循环可能不会永远运行。当表达式进行测试,结果为假,循环体将被跳过,在while循环之后的第一个语句将被执行。

示例

public class Test {

  public static void main(String args[]) {
   int x = 10;

   while( x < 20 ) {
     System.out.print("value of x : " + x );
     x++;
     System.out.print("\n");
   }
  }
}

这将产生以下结果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

do...while 循环
do ... while循环类似于while循环,不同的是一个do ... while循环是保证至少执行一次。

语法

do...while循环的语法是:

do
{
  //Statements
} while (Boolean_expression);

请注意,布尔表达式出现在循环的结尾,所以在循环中的语句执行前一次布尔测试。

如果布尔表达式为真,控制流跳回,并且在循环中的语句再次执行。这个过程反复进行,直到布尔表达式为假。

示例

public class Test {

  public static void main(String args[]){
   int x = 10;

   do{
     System.out.print("value of x : " + x );
     x++;
     System.out.print("\n");
   }while( x < 20 );
  }
}

这将产生以下结果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

for 循环
for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环。

知道一个任务要重复多少次的时候,for循环是有好处的。

语法

for循环的语法是:

for(initialization; Boolean_expression; update)
{
  //Statements
}

下面是一个for循环的控制流程:

初始化步骤首先被执行,并且仅一次。这个步骤可声明和初始化任何循环控制变量。不需要把一个声明放在这里,只需要一个分号出现。

接下来,布尔表达式求值。如果是 true,则执行循环体。如果是false,则循环体不执行, 并且流程控制的跳转到经过for循环的下一个语句。

之后循环体在for循环执行时,控制流程跳转备份到更新语句。该语句允许更新任何循环控制变量。这个语句可以留空,只要一个分号出现在布尔表达式之后。

布尔表达式现在再次评估计算。如果是true,循环执行,并重复这个过程(循环体,然后更新的步骤,然后布尔表达式)。之后,布尔表达式为 false,则循环终止。
示例

public class Test {

  public static void main(String args[]) {

   for(int x = 10; x < 20; x = x+1) {
     System.out.print("value of x : " + x );
     System.out.print("\n");
   }
  }
}

这将产生以下结果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

for 循环在 Java 中新特性
截至Java5,对增强的for循环进行了介绍。这主要是用于数组。

语法

增强的for循环的语法是:

for(declaration : expression)
{
  //Statements
}

声明: 新声明块变量,这是一种与你所正在访问数组中的元素兼容的变量。该变量在for块内可被利用并且它的值作为当前的数组元素将是相同的。

表达: 这个计算结果完成需要循环数组。表达式可以是一个数组变量或返回一个数组的方法调用。
示例

public class Test {

  public static void main(String args[]){
   int [] numbers = {10, 20, 30, 40, 50};

   for(int x : numbers ){
     System.out.print( x );
     System.out.print(",");
   }
   System.out.print("\n");
   String [] names ={"James", "Larry", "Tom", "Lacy"};
   for( String name : names ) {
     System.out.print( name );
     System.out.print(",");
   }
  }
}

这将产生以下结果:

10,20,30,40,50,
James,Larry,Tom,Lacy,

break 关键字
关键字break是用来停止整个循环的。 break关键字必须使用于任何循环中或一个switch语句中。

关键字break将停止最内层循环的执行,并开始执行在块之后的下一行代码。

语法

break语法是任何循环中一个单独的语句:

代码如下:

break

示例

public class Test {

  public static void main(String args[]) {
   int [] numbers = {10, 20, 30, 40, 50};

   for(int x : numbers ) {
     if( x == 30 ) {
     break;
     }
     System.out.print( x );
     System.out.print("\n");
   }
  }
}

这将产生以下结果:

10
20

continue 关键字
continue关键字可以在任一环的控制结构使用。它使循环立即跳转到循环的下一次迭代.

在for循环中,continue关键字会导致控制流立即跳转到更新语句。
在一个while循环或do/while循环,控制流立即跳转到布尔表达式。
语法

continue 语法是任何循环中一个单独的语句:

代码如下:

continue

示例

  public static void main(String args[]) {
   int [] numbers = {10, 20, 30, 40, 50};

   for(int x : numbers ) {
     if( x == 30 ) {
     continue;
     }
     System.out.print( x );
     System.out.print("\n");
   }
  }
}

这将产生以下结果:

10
20
40
50

条件判断
在 Java 中有两种类型的条件判断语句,它们分别是:

  • if 语句
  • switch 语句

if 语句:

if 语句由一个布尔表达式后跟一个或多个语句组成。

语法

if 语句的语法是:

if(Boolean_expression)
{
  //Statements will execute if the Boolean expression is true
}

如果布尔表达式的值为 true,那么代码里面的块 if 语句将被执行。如果不是 true,在 if 语句(大括号后)结束后的第一套代码将被执行。

示例

public class Test {

  public static void main(String args[]){
   int x = 10;

   if( x < 20 ){
     System.out.print("This is if statement");
   }
  }
}

这将产生以下结果:

This is if statement

if...else 语句
任何 if 语句后面可以跟一个可选的 else 语句,当布尔表达式为 false,语句被执行。

语法

if...else 的语法是:

if(Boolean_expression){
  //Executes when the Boolean expression is true
}else{
  //Executes when the Boolean expression is false
}

示例

public class Test {

  public static void main(String args[]){
   int x = 30;

   if( x < 20 ){
     System.out.print("This is if statement");
   }else{
     System.out.print("This is else statement");
   }
  }
}

这将产生以下结果:

This is else statement

if...else if...else 语句
if 后面可以跟一个可选的 else if...else 语句,在测试不同条件下单一的 if 语句和 else if 语句是非常有用的。

当使用 if , else if , else 语句时有几点要牢记。

  • 一个 if 语句可以有0个或一个 else 语句 且它必须在 else if 语句的之后。
  • 一个 if 语句 可以有0个或多个 else if 语句且它们必须在 else 语句之前。
  • 一旦 else if 语句成功, 余下 else if 语句或 else 语句都不会被测试执行。

语法

if...else 的语法是:

if(Boolean_expression 1){
  //Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
  //Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
  //Executes when the Boolean expression 3 is true
}else {
  //Executes when the none of the above condition is true.
}

示例

public class Test {

  public static void main(String args[]){
   int x = 30;

   if( x == 10 ){
     System.out.print("Value of X is 10");
   }else if( x == 20 ){
     System.out.print("Value of X is 20");
   }else if( x == 30 ){
     System.out.print("Value of X is 30");
   }else{
     System.out.print("This is else statement");
   }
  }
}

这将产生以下结果:

Value of X is 30

嵌套 if...else 语句
它始终是合法的嵌套 if-else 语句,这意味着你可以在另一个 if 或 else if 语句中使用一个 if 或 else if 语句。

语法

嵌套 if...else 的语法如下:

if(Boolean_expression 1){
  //Executes when the Boolean expression 1 is true
  if(Boolean_expression 2){
   //Executes when the Boolean expression 2 is true
  }
}

因为我们有嵌套的 if 语句,所以可以用类似的方式嵌套 else if...else。

示例

public class Test {

  public static void main(String args[]){
   int x = 30;
   int y = 10;

   if( x == 30 ){
     if( y == 10 ){
       System.out.print("X = 30 and Y = 10");
     }
    }
  }
}

这将产生以下结果:

X = 30 and Y = 10

switch 语句
switch 语句允许一个变量来对一系列值得相等性进行测试。每个值被称为一 case,并且被启动的变量会为每一个 case 检查。

语法

增强的 for 循环的语法是:

switch(expression){
  case value :
    //Statements
    break; //optional
  case value :
    //Statements
    break; //optional
  //You can have any number of case statements.
  default : //Optional
    //Statements
}

以下规则适用于 switch 语句:

  • 在 switch 语句中使用的变量只能是一个字节,short,int 或 char。
  • 在一个 switch 语句中可以有任何数量的 case 语句。每个 case 后跟着即将被比较的值和一个冒号。
  • 对于 case 的值必须是相同的数据类型作为开关变量,它必须是一个常量或文字。
  • 当被启动了的变量与 case 是相等的,那 case 后的语句将执行,一直到 break 为止。
  • 当达到一个 break 语句,switch 终止,并且控制流跳转到跟着 switch 语句的下一行。
  • 不是每一个 case 需要包含一个 break。如果没有出现 break,控制流将贯穿到后面的 case 直到 break 为止。
  • switch 语句可以有一个可选默认 case ,它必须出现在 switch 的结束处。在执行一项任务时没有任何 case 是真,那默认 case 可被使用。在默认 case 中不需要 break。

示例

public class Test {

  public static void main(String args[]){
   //char grade = args[0].charAt(0);
   char grade = 'C';

   switch(grade)
   {
     case 'A' :
      System.out.println("Excellent!");
      break;
     case 'B' :
     case 'C' :
      System.out.println("Well done");
      break;
     case 'D' :
      System.out.println("You passed");
     case 'F' :
      System.out.println("Better try again");
      break;
     default :
      System.out.println("Invalid grade");
   }
   System.out.println("Your grade is " + grade);
  }
}

编译并运行上面使用各种命令行参数的程序。这将产生以下结果:

$ java Test
Well done
Your grade is a C
(0)

相关推荐

  • 详解JAVA流程控制语句

    第一节 JAVA条件语句之if语句 1.单独的if语句,语法:if(条件){条件成立时执行的代码}:如果if成立时执行的语句只有一条,可以省略大括号,如果是多句不可省略,比如某些方法if(条件),return;如果满足此条件跳出方法. 2.条件语句之if-else,if(条件的布尔表达算式){符合条件则执行的代码}else{不符合执行的代码}: 3.多重if语句,if(条件1){代码块1}else if(条件2){代码块2}else{代码3}:在条件 1 不满足的情况下,才会进行条件 2 的判断

  • Java使用条件语句和循环结构确定控制流(实例)

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流.本文将简单讲解条件.循环和switch. 一.块作用域 块(block),即复合语句.是指由一对大括号括起来的若干条简单的Java语句.块确定了变量的作用域. 比如: public class Code { static { System.out.println("1"); } { System.out.println("2"); } public Code() { System.err.printl

  • Java语法基础之循环结构语句详解

    一.循环结构 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环. 循环语句的组成: 初始化语句:一条或者多条语句,这些语句完成一些初始化操作. 判断条件语句:这是一个boolean 表达式,这个表达式能决定是否执行循环体. 循环体语句:这个部分是循环体语句,也就是我们要多次做的事情. 控制条件语句:这个部分在一次循环体结束后,下一次

  • 全面掌握Java中的循环控制语句与条件判断语句的使用

    循环控制 可能存在一种情况,当我们需要执行的代码块数次,通常被称为一个循环. Java有非常灵活的三循环机制.可以使用以下三种循环之一: while 循环 do...while 循环 for 循环 截至Java5,对增强的for循环进行了介绍.这主要是用于数组. while 循环 while循环是一个控制结构,可以重复的特定任务次数. 语法 while循环的语法是: while(Boolean_expression) { //Statements } 在执行时,如果布尔表达式的结果为真,则循环中

  • 基于java中的流程控制语句总结(必看篇)

    程序的结构分类: 顺序结构:按照写代码的顺序 一次执行 选择结构:根据条件的不同有选择的执行不同的代码 循环结构:在一定条件下 反复执行某一片代码 选择结构: 也叫分支结构 根据条件的不同,有选择的执行某一片代码 ,Java提供了两种 if结构 switch结构 if分为三种格式: if的第一种格式 if(条件){ 语句块 } 执行流程: 先判断条件, 如果为真 则语句块执行,否则 语句块不执行 代码演示: public static void main(String[] args) { Sys

  • Java中的循环笔记整理(必看篇)

    一.循环的类型: 1.for循环 class For{ public static void main(String[] args) { System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); Sy

  • Python中for循环控制语句用法实例

    本文实例讲述了Python中for循环控制语句用法.分享给大家供大家参考.具体分析如下: 第一个:求 50 - 100 之间的质数 import math for i in range(50, 100 + 1): for j in range(2, int(math.sqrt(i)) + 1): if i % j == 0: break else: print i 输出如下: 53 59 61 67 71 73 79 83 89 97 第二个:把else的位置与if处于同一缩进. import

  • Java中for循环的执行过程分析

    本文实例分析了Java中for循环的执行过程.分享给大家供大家参考.具体分析如下: public class Test01{ public static void main(String[] args) { int i = 0 ; for(foo('A');foo('B')&&i<3;foo('C')){ i++ ; foo('D') ; } } public static boolean foo(char c){ System.out.print(c + " "

  • java中for循环执行的顺序图文详析

    for循环基础 for循环是最灵活也是最常用的循环结构,表达式一般如下: for(条件表达式1:条件表达式2:条件表达式3){ 语句块: } 接下来详细介绍Java for循环执行顺序的相关内容,先看看一道面试题, 来自小米笔试 static boolean foo(charc) { System.out.print(c); return true; } public static void main(String[] args) { int i =0; for(foo('B');foo('A'

  • Java中CyclicBarrier 循环屏障

    目录 一.简介 二.CyclicBarrier的使用 CyclicBarrier 应用场景 模拟合并计算场景 模拟“人满发车”的场景 三.CyclicBarrier 源码分析 CyclicBarrier 流程 几个常见的问题? CyclicBarrier 与 CountDownLatch的区别 一.简介 CyclicBarrier 字面意思回环栅栏(循环屏障),它可以实现让一组线程等待至某个状态(屏障点)之后再全部同时执行.叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以

  • Java中Map循环遍历的五种方法实现

    目录 1.创建一个Enum 2.开始遍历 方法一 方法二 方法三 方法四 方法五 因为Map比较常用,所以今天来总结下Map取值比较常用的几种遍历方法. 1.创建一个Enum public enum FactoryStatus {     BAD(0,"ou"),     GOOD(1,"yeah");     private int status;     private String description;     FactoryStatus(int stat

  • Python中无限循环需要什么条件

    无限循环 如果条件判断语句永远为 true,循环将会无限的执行下去. 如下实例 #!/usr/bin/python # -*- coding: UTF-8 -*- var = 1 while var == 1 : # 该条件永远为true,循环将无限执行下去 num = raw_input("Enter a number :") print "You entered: ", num print "Good bye!" 以上实例输出结果: Ente

  • 快速入门Shell脚本之条件判断语句与循环

    相信大家已经对shell脚本有一定的了解了,大家对于shell脚本的条件判断语句一定非常期待.本篇博客,我们来聊一聊关于shell的条件判断语句与循环. 1.条件判断 1.1基本语法 [condition] 注意: condition前后要有空格 条件非空既为true,[atguigu]发回true,[]返回false 1.2.常用的判断条件 (1)两个整数之间比较 = 字符串比较 -lt 小于(less than) -le 小于等于(less equal) -eq 等于(equal) -gt

随机推荐