第三章 流程控制 for break continue return Scanner
流程控制
三种基本的流程控制结构
顺序结构
分支结构: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();