JavaSE核心基础-流程语句-笔记

1.如何实现键盘录入数据
1)导包   import java.util.Scanner;
2)创建键盘录入对象Scanner   Scanner  input = new Scanner(System.in);
3)调用方法接收数据   数据类型  变量名 = input.nextXXX();

2.键盘录入数据案例 - 获得字符串
//导包
import java.util.Scanner;
public class Test01 { 
    public static void main(String[] args) {
        //创建Scanner对象
        Scanner input=new Scanner(System.in);
        //提示语句
        System.out.println("请输入一个字符串:");
        //输入内容
        String name = input.next();
        //显示内容
        System.out.println("输入的内容是:"+name);
    }
}

3.键盘录入数据案例 - 获得单个字符
//导包
import java.util.Scanner;
public class Test02 { 
    public static void main(String[] args) {
        //创建Scanner对象
        Scanner input=new Scanner(System.in);
        //提示语句
        System.out.println("请输入一个字符串:");
        //输入内容
        char sex = input.next()charAt(0);
        //显示内容
        System.out.println("输入的内容是:"+sex);
    }
}

4.键盘录入数据案例 - 获得数字
//导包
import java.util.Scanner;
public class Test03 { 
    public static void main(String[] args) {
        //创建Scanner对象
        Scanner input=new Scanner(System.in);
        //提示语句
        System.out.println("请输入整数:");
        //输入内容
        int num1=input.nextInt();
        //提示语句
        System.out.println("请输入一个小数:");
        //输入内容
        double num2=input.nextDouble();
        //显示内容
        System.out.println("输入的内容是:num1="+num1+",num2="+num2);
    }
}

5.流程控制语句分类
1)顺序结构:按照写代码的顺序 一次执行。
2)选择结构:根据条件的不同有选择的执行不同的代码。
3)循环结构:在一定条件下 反复执行某一块代码。
4)控制跳转语句:在一定的条件下会改变当前正在执行的程序。

6.if选择结构
①.最基本if选择结构
语法:
    if(关系表达式){
        语句体;
    }
执行流程说明:
首先判断关系表达式看其结果是true还是false 
​    如果是true就执行语句体 
​    如果是false就不执行语句体 
【代码】
import java.util.Scanner;
public class Test04 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入小明的成绩:");
        int score = input.nextInt();
        if (score>95){
            System.out.println("奖励一个棒棒糖!");
        }
        System.out.println("程序结束!!!");
    }
}

②.if-else选择结构
语法:
    if(关系表达式) { 
       语句体1; 
    }else { 
       语句体2; 
    }
执行流程说明:
首先判断关系表达式看其结果是true还是false 
​    如果是true就执行语句体1 
​    如果是false就执行语句体2 
【代码】
import java.util.Scanner;
public class Test05 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入小明的成绩:");
        int score = input.nextInt();
        if (score>95){
            System.out.println("奖励一个棒棒糖!!");
        }else{
            System.out.println("惩罚写代码!!");
        }
        System.out.println("程序结束!!!");
    }
}

③.多重if选择结构
语法:
    if (关系表达式1) { 
       执行语句1;
    } else if (关系表达式2) {
       执行语句2; 
    }
    ... 
    else if (关系表达式n) {
       执行语句n; 
    } else { 
       执行语句n+1; 
    }
执行流程说明:
首先判断关系表达式1看其结果是true还是false 
​    如果是true就执行语句体1 
​    如果是false就继续判断关系表达式2看其结果是true还是false 
​    如果是true就执行语句体2 
​    如果是false就继续判断关系表达式…看其结果是true还是false 
​    …
​    如果没有任何关系表达式为true,就执行语句体n+1。
【代码】
import java.util.Scanner;
public class Test06 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入小明的成绩:");
        int score = input.nextInt();
        if (score>=90){
            System.out.println("优秀!!!");
        }else if (score>=80 && score <90){
            System.out.println("良好!!!");
        }else if(score>=70 && score<80){
            System.out.println("中等!!!");
        }else if(score>=60 && score<70){
            System.out.println("及格!!!");
        }else{
            System.out.println("不及格!!!");
        }
        System.out.println("程序结束!!!");
    }
}

④.嵌套if选择结构
语法:
    if (关系表达式1) { 
      if(关系表达式2){
          执行语句1;    
      }else{
         执行语句2;
      }
    } else { 
         执行语句3; 
    }
执行流程说明:
​首先判断关系表达式1看其结果是true还是false 
​    如果是false执行执行语句3
​    如果是true进入到if内部执行关系表达式2
​    如果关系表达式2的结果是true执行执行语句1
​    如果关系表达式2的结果是false执行执行语句2
【代码】
import java.util.Scanner;
public class Test07 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入比赛时间:");
        int time=input.nextInt();
        if(time<15){//进入决赛
            System.out.println("请输入性别:");
            char sex=input.next().charAt(0);
            if (sex=='女'){
                System.out.println("进入女子组决赛!!!");
            }else{
                System.out.println("进入男子组决赛!!!");
            }
        }else{
            System.out.println("很遗憾,您没有进入决赛!!!");
        }
        System.out.println("程序结束!!!");
    }
}

小结:
1)基本if选择结构解决单一的判断问题。
2)if-else选择结构解决非此即彼的判断问题
3)多重if选择结构始终是同一个变量在不同的取值区间中得到不一样的结果
4)嵌套if选择结构是多条件判断,并且变量的个数大于一个,在解决嵌套if的时候要首先明确外层和内层分别判断的条件是什么

7.switch选择结构
语法:
    switch(表达式) { 
        case 常量值1: 
             语句体1;
             break; 
        case 常量值2: 
             语句体2; 
             break; 
           ... 
        default: 
             语句体n+1; 
             break;
    }
执行流程说明:
          首先计算出表达式的值;
          其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束;
          最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
【代码】
import java.util.Scanner;
public class Test08 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入Java比赛名次:");
        int num=input.nextInt();
        switch (num){
            case 1:
                System.out.println("奖励笔记本电脑一台!!!");
                break;
            case 2:
                System.out.println("奖励华为手机一部!!!");
                break;
            case 3:
                System.out.println("奖励移动硬盘一个!!!");
                break;
            case 4:
                System.out.println("奖励优盘一个!!!");
                break;
            default:
                System.out.println("什么奖励都没有!!!");
                break;
        }
        System.out.println("程序结束!!!");
    }
}

8.case穿透
在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。
【代码】
import java.util.Scanner;
public class Test09 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入Java比赛名次:");
        int num=input.nextInt();
        switch (num){
            case 1:
                System.out.println("奖励笔记本电脑一台!!!");
            case 2:
                System.out.println("奖励华为手机一部!!!");
            case 3:
                System.out.println("奖励移动硬盘一个!!!");
            case 4:
                System.out.println("奖励优盘一个!!!");
            default:
                System.out.println("什么奖励都没有!!!");
        }
        System.out.println("程序结束!!!");
    }
}
【注意】
上述程序中,执行case1后,由于没有break语句,程序会一直向后走,不会在判断case,也不会理会break,直接 运行完整体switch。 所以在写的时候要记得加上break。

小结:
1)switch选择结构表达式的数据类型是:int、short、byte、char、枚举,JDK7及以后也可以使用String类型。
2)由于case存在穿透性,因此初学者在编写switch语句时,必须要写上break。
3)case语句后只能是常量,不能是变量。
4)case语句的顺序可以不按照顺序,但通常情况建议按照顺序。

你可能感兴趣的:(java,笔记)