流程控制

三种基本的流程控制结构

顺序结构

分支结构:if-else语句、switch语句

循环结构:while语句、do-while语句、for语句、break语句、continue语句、return语句

break语句

格式:break;           或    break     标号;

功能:带标号的break语句从多重循环体的内部跳出到标号所标志的那层循环,并从标号标志的那层循环后面的语句继续执行。

带标号的break语句的使用。

              outer:

             for (int i = 0 ; i < 5 ;i++ ){

                      for (int j = 0; j < 3; j++ ){

                              。。。

                              if (j == 1){

                                     //跳出outer标签所标识的循环。

                                     break outer;

                              }

                      }

              }

注意:在多重循环中,不带标号的break语句将只退出它所在的内循环

continue语句

格式:continue;  或   continue 标号;

功能:带标号的continue语句可从多重循环的内层循环跳到外层循环,执行标号所标识的循环的下一轮。

例3.24 带标号的continue语句的使用。

outer:

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

       for (int j = 0; j < 3 ; j++ ){

                。。。

                if (j == 1){

                        continue outer;

                 }

}}

return语句

      return关键字并不是专门用于跳出循环的,而是结束一个方法。一旦在循环体内执行到一个return语句,该方法将会结束,循环自然也随之结束。

例3.25 使用return结束循环。

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

        System.out.println("i的值是" + i);

        if (i == 1){

               return;

         }

         System.out.println(“return后的输出语句");

}

标准输入/输出

java.util.Scanner类的功能并不仅限于控制台输入数据的读取,它的对象还可以关联到字符串、文件或其他的数据源。

构造方法
public Scanner(InputStream source)
例如,Scannersc=new Scanner(System.in);

public Sting next()
读取下一个单词,以空格符或换行符作为分隔单词的标记。例如,String name=sc.next();

public int nextInt()
读取一个整数,如果输入的下一个单词不能解析为有效的整数(例如包含汉字等非数值字符),则出错。

public double nextDouble()
读取一个双精度浮点数,如果输入的下一个单词不能解析为有效的浮点数,则出错。

public Boolean nextBoolean()
读取一个布尔值,如果输入的下一个单词不能解析为有效的boolean值(true或false),则出错。

例3.26 Scanner类的使用。

import语句:导入java.util包中定义的Scanner类。

String name = s.nextLine(); int age =s.nextInt();

double salary = s.nextDouble();