ch04 Java流程控制
Java 流程控制
Scanner对象
- 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般使用hasNext()与hasNextLine()判断是否还有输入的数据。
next() 方法
- 一定要读取到有效字符后才可以结束输入
- 有效字符前的空格会被过滤掉
- 有效字符串后的空格和换行为结束符
- next()方法不能得到带空格的字符串
nextLine() 方法
- 以换行符为结束符,nextLine()方法返回的是输入回车前的所有字符
- 可以获得空白
顺序结构
基本运行结构
if选择结构
while (scanner.hasNextInt()){
score = scanner.nextInt();
if(score == 100){
System.out.println("成绩满分!");
}else if(score<100 && score>=90){
System.out.println("A级");
}else if(score<90 && score>=80){
System.out.println("B级");
}else if(score<80 && score>=70){
System.out.println("C级");
}else if(score<70 && score>=60){
System.out.println("D级");
}else if(score<60 && score>=0){
System.out.println("不及格!");
}else{
System.out.println("成绩非法!请重新输入!");
}
}
Switch选择结构
- 从Java SE 7 开始,支持字符串
- 存在case穿透现象
While循环结构
DoWhile循环
- 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
- do...while循环和while循环相似,不同的是,do...while循环至少会执行一次。
For循环
for (int i=1;i<=100;i++){
System.out.println(i);
}
- 关于for循环有以下几点说明:
- 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
- 然后,检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
- 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
再次检测布尔表达式。循环执行上面的过程。
增强for循环
int[] numbers = {10,20,30,40,50}; //定义一个数组
//便利数组的元素
for(int x:numbers){
System.out.println(x);
}