一、流程控制语句

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

1.1、if语句

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) {
!"); 
 }else{
!");
 }
 }
 
}

以上实例运行结果如下:

 

            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)当变量的值与

5)当遇到

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);
   }
}

以上实例运行结果如下:

良好

你的等级是

 

二、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循环

对于

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

 

do {

       //代码语句

}while(布尔表达式);

 

 

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

 

实例:

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 循环                                                

虽然所有循环结构都可以用

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

 

语法格式如下:

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

    //代码语句

}

关于

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

2)检测布尔表达式的值。如果为

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 循环语法格式如下:

声明语句 : 表达式)

{

代码句子

}

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

实例:

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 主要用在循环语句或者 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 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。

 

 

实例:

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、循环小知识

1)for嵌套循环实例:

for(int i=1; i<=3; i++){
    for(int n=1; n<=3; n++){
        //输出结果。。。。
        System.out.println("i = " + i + ", n = " + n);
    }
}

第一个

第二个

 

 

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();
        }
    }
}

第一个

第二个