流程控制
流程控制的作用:
流程控制语句是用来控制程序中各语句执行顺序的语句。
控制语句分为三类:
顺序、选择和循环。
“顺序结构” 代表“先执行a,再执行b”的逻辑。
“条件判断结构” 代表“如果…,则…”的逻辑。
“循环结构” 代表“如果…,则再继续…”的逻辑。
Scanner对象
import java.util.Scanner;
//判断学生成绩的情况分为ABCDE五个等级
public class demo1 {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
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("E");
}else {
System.out.println("你输入的成绩错误");
}
scanner.close();
}
}
next():
-
一定要读取到有效字符后才会结束输入
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉
-
只有输入有效字符后才将其后面输入的空白作为分割符或结束符
-
next()不能得到带有空格的字符串
nextLine():
-
以enter为结束符也就是说nextLine()方法返回的是输入回车之前的所有字符
-
可以获得空白
switch多选择分支结构* :
- 语法结构:
switch(){
case * :
case * :
…
} - switch后面是一个(),()中表达式返回的结果是一个等值,这个等值的类型可以为:
int,byte,short,char,String,枚举类型 - 这个()中的等值会依次跟case后面的值进行比较,如果匹配成功,就执行:后面的代码
- 为了防止代码的“穿透”效果:在每个分支后面加上一个关键词break,遇到break这个分支就结束了
- default分支可以写在任意的位置上,但是如果没有在最后一行,后面必须加上break关键字,
如果在最后一行的话,break可以省略 - 相邻分支逻辑是一样的,那么就可以只保留最后一个分支,上面的都可以省去不写了
- switch分支和if分支区别:
表达式是等值判断的话–》if ,switch都可以
如果表达式是区间判断的情况—》if最好 - switch应用场合:就是等值判断,等值的情况比较少的情况下
public class demo1 {
public static void main(String[] args) {
/*
实现一个功能:
根据给出的学生分数,判断学生的等级:
>=90 -----A
>=80 -----B
>=70 -----C
>=60 -----D
<60 -----E
*/
//1.给出学生的成绩:
int score = 95;
//2.根据成绩判断学生的等级:
switch(score/10){
case 10 :
case 9 : System.out.println("A级");break;
case 8 : System.out.println("B级");break;
case 7 : System.out.println("C级");break;
case 6 : System.out.println("D级");break;
default:System.out.println("成绩错误");break;
case 5 :
case 4 :
case 3 :
case 2 :
case 1 :
case 0 : System.out.println("E级");break;
}
}
}
if…else…选择结构:
当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分
while循环与do…while…循环:
for循环:
九九乘法表
public class demo1 {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
增强for循环
for(声明语句:表达式)
{
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等
表达式:表达式访问的是数组名,或者是返回值为数组的方法
break与continue与return的作用:
break的作用:停止循环
continue的作用:结束本次循环,继续下一次循环
return的作用:跟循环无关,就是程序中遇到return那么return所在的那个方法就停止执行了