JAVA循环(五)

一、流程控制语句 

接下来要学习的if条件语句分为三种语法格式,每一种格式都有它自身的特点,下面我们分别进行介绍。

1.1if语句

if语句是指如果满足某种条件,就进行某种处理。例如,小明妈妈跟小明说“如果你考试得了

100分,星期天就带你去游乐场玩”。这句话可以通过下面的一段伪代码来描述。

如果小明考试得了100分

妈妈星期天带小明去游乐场

在上面的伪代码中,“如果”相当于Java中的关键字if, “小明考试得了100分”是判断条件,需要用0括起来,“妈妈星期天带小明去游乐场”是执行语句,需要放在{}中。修改后的伪代码如下: i f(小明考试得了10 0分){

妈妈星期天带小明去游乐场

上面的例子就描述了if语句的用法,在Java中,if语句的具体语法格式如下: if(条件语句){ 执行语句,

上述格式中,判断条件是一个布尔值,当判断条件为true时,{}中的执行语句才会执行。

 if语句的执行流程如下图所示:

                

                  

下面使用代码来实现:

   public static void main(String []args){

     int test="5";

     if(test<10){

     System.out.printIn("if判断测试");

}

}

以上实例运行结果如下:

          if判断测试

在上述代码中,定义了一个变量test,其初始值为5。在if语句的判断条件中判断test的值是否小于 10,很明显条件成立,{}中的语句会被执行,变量test的值将会被输出 。

1.2、if.......else语句

if.. else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。例如,要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则该数字就是一个奇数。

if...else语句具体语法格式如下:

i f(判断条件)

   {

    执行语句1

} else{

    执行语句2

}

上述格式中,判断条件是一个布尔值。当判断条件为true时,if后面{}中的执行语句1会执行。

当判断条件为false时,else后面{}中的执行语句2会执行。if...else语句的执行流程如下图所示:

  

             

实例:

public class test1 {

public static void main(String[] args) {

int num=0;

if(num*2>0) {

    System.out.println("num是一个正数");

}else{

System.out.println("num是一个负数");

}

}

}

以上实例运行结果如下:

            num是一个负数!

上述代码中,变量num的值为0,乘以2的结果为0,等于0,判断条件不成立。因此会执行else后面{}中的语句,打印"num是一个负数”。

1.3、if.....else  if....else语句

if.. else if...else语句用于对多个条件进行判断,进行多种不同的处理。例如,对一个学生的考试成绩进行等级的划分,如果分数大于80分等级为优,否则,如果分数大于70分等级为良,否则,如果分数大于60分等级为中,否则,等级为差。

if.. else if ..else语句具体语法格式如下:

实例:

public class test1 {

public static void main(String[] args) {

int num=60;

if(num>=80) {

    System.out.println("优");

}else if(num>70) {

System.out.println("良");

}else if(num>60) {

System.out.println("中");

}else{

System.out.println("差");

}

}

以上实例输出结果如下:

                      

上述实例中,判断条件如果成立则会输出值,设置int值为60,不符合所有判断条件,所以输出最后一项。

1.4、switch语句

switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

 

 

switch 语法格式如下:

 

switch(expression){

    case value :

       //语句

       break; //可选

    case value :

       //语句

       break; //可选

    //你可以有任意数量的case语句

    default : //可选

       //语句

}

switch 语句有如下规则:

1)switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串类型了,同时 case 标签必须为字符串常量或字面量。

2)switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

3)case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

4)当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

5)当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

6)switch 语句可以包含一个 default 分支,该分支必须是 switch 语句的最后一个分支。default 在没有 case 语句的值和变量值相等的时候执行。

default 分支不需要 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("优秀");

            break;

         case 'B' :

         case 'C' :

            System.out.println("良好");

            break;

         case 'D' :

            System.out.println("及格");

         case 'F' :

            System.out.println("你需要再努力努力");

            break;

         default :

            System.out.println("未知等级");

      }

      System.out.println("你的等级是 " + grade);

   }

}

以上实例运行结果如下:

                      良好

                      你的等级是 C

二、JAVA循环结构

顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。

Java中有三种主要的循环结构:

while 循环

do…while 循环

for 循环

Java5中引入了一种主要用于数组的增强型for循环。

2.1、while循环

while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。while循环语句的语法结构如下:

 

while( 布尔表达式 ) {

 //循环内容

 }

 

在上面的语法结构中,{}中的执行语句被称作循环体,循环体是否执行取决于循环条件。当循环条件为true时,循环体就会执行。循环体执行完毕时会继续判断循环条件,如条件仍为true则会继续执行,直到循环条件为false时,整个循环过程才会结束。

 

实例:

  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

               

2.2、do....while循环

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

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

do {

       //代码语句

}while(布尔表达式);

注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。

 

实例:

public class Test {

   public static void main(String args[]){

      int x = 20;

      do{

         System.out.print("value of x : " + x );

         x++;

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

      }while( x < 20 );

   }

}

以上实例运行结果如下:

value of x : 20

以上实例中,X等于20,如果按照while条件执行,不会输出结果,do....while则是,不管条件成立与否,都会执行一次。

2.3、for 循环                                                

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

for循环执行的次数是在执行前就确定的。

语法格式如下:

 for(初始化; 布尔表达式; 更新) {

    //代码语句

}

关于 for 循环有以下几点说明:

1)最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。

2)检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。

3)执行一次循环后,更新循环控制变量。

4)再次检测布尔表达式。循环执行上面的过程。

实例:

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

 

2.4、java增强for循环

  Java5 引入了一种主要用于数组的增强型 for 循环。

  Java 增强 for 循环语法格式如下:

   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,

  

 

三、循环中的关键字

   3.1break关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。

break 跳出最里层的循环,并且继续执行该循环下面的语句。

语法:

break的语法十分简单,就是在循环结构中的 一条语句。

实例:

public class Test {

   public static void main(String args[]) {

      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {

         // x 等于 30 时跳出循环

         if( x == 30 ) {

            break;

         }

         System.out.print( x );

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

      }

   }

}

以上实例运行的结果如下:

                       10

                       20

 

 

 

    3.2、continue关键字

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。

for 循环中,continue 语句使程序立即跳转到更新语句。

while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

实例:

public class Test {

   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

    3.3、循环小知识

1for嵌套循环实例:

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

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

        //输出结果。。。。

        System.out.println("i = " + i + ", n = " + n);

    }

}

第一个 for :定一个整型变量 i, 它的初始值是 1;判断 i 是否小于等于 3;如果成立, i 就自增 1。

第二个 for :定一个整型变量 n, 它的初始值是 1;判断 n 是否小于等于 3;如果成立, n 就自增 1。

2)打印九九乘法表

public class Test {

    public static void main(String args[]) {

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

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

                System.out.print(j+"*"+i+"="+i*j+" ");

            }

            System.out.println();

        }

    }

}

第一个 for 循环:代表行数。定一个整型变量 i, 它的初始值是 1;判断 i 是否小于等于 9;如果成立, i 就自增 1。

第二个 for 循环:代表列数。定一个整型变量 j, 它的初始值是 1;判断 j 是否小于等于 i;如果成立, j 就自增 1。

猜你喜欢

转载自blog.csdn.net/weixin_39236183/article/details/80194983