• java入门学习总结_03


    1、键盘录入

    2、分支结构

    键盘录入

    概述

    1、键盘录入:在程序运行的过程中,可以让用户录入一些数据,存储在内存的变量中,在后续的程序运行过程中,可以使用这些数据。

    2、步骤:

    第一步:导包,在类声明的上面,import java.util.Scanner;

    第二步:创建键盘录入对象,Scanner sc = new Scanner(System.in);

    第三步:调用sc对象的nextInt方法,获取键盘录入的整数

    int x = sc.nextInt();(next接着基本类型:如nextDouble()等)

    第四步:使用x后续处理

    代码示例

    //导包
    
    import java.util.Scanner;
    
    class Demo_1 {
    
    //键盘录入
    
    public static void main(String[] args) {
    
    // 创建键盘录入对象
    
    Scanner sca_12 = new Scanner(System.in);
    
    //调用对象中的nextInt() 方法
    
    int a = sca_12.nextInt();
    
    int b = sca_12.nextInt();
    
    System.out.println(a*b);
    
    }
    
    }

    练习1

    键盘录入两个整数,计算两个整数的和

    代码示例

    练习2

    键盘录入三个整数,输出三个整数的最大值

    代码示例

    import java.util.Scanner;
    
    class Demo_2 {
    
    public static void main(String[] args) {
    
    //键盘录入三个整数,输出三个整数的最大值
    
    Scanner sc = new Scanner(System.in);
    
    System.out.println("请输入第一个整数");
    
    int a = sc.nextInt();
    
    System.out.println("请输入第二个整数");
    
    int b = sc.nextInt();
    
    System.out.println("请输入第三个整数");
    
    int c = sc.nextInt();
    
    // int abMax = a > b ? a : b;
    
    //  int max = abMax > c ? abMax : c;三目运算符的一种用法
    
    int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
    
    System.out.println("三个整数的最大值为:"+max);
    
    }
    
    }

     

    练习3

    键盘录入一个整数,判断该数字的奇偶

    例如,输出:该数字是25,是一个奇数

    代码示例

    import java.util.Scanner;
    
    class Demo_3 {
    
    public static void main(String[] args) {
    
    //键盘录入一个整数,判断该数字的奇偶
    
    Scanner sc = new Scanner(System.in);
    
    System.out.println("请输入一个数字");
    
    int a = sc.nextInt();
    
    //String str = a % 2 == 1 ? "奇数" : "偶数" ;
    
    String str = a % 2 == 0 ? "偶数" : "奇数" ;
    
    System.out.println(a+"是"+str);
    
    }
    
    }

    分支结构

    流程控制

    1、在一个程序中,有很多的代码,代码的执行顺序,就是流程。

    2、用于控制代码流程的方式,就是流程控制 就是控制代码的执行顺序

    3、流程控制的分类:

    顺序结构:代码从上到下,从左到右依次执行(重点)

    分支结构:到达某个状态时,可能会有多种情况,每种情况都需要提前准备好,所以多条路的路口就是一个分支。代码写得多,程序运行的少。(重点)

    循环结构:某段代码相同或者相似,使用相同的逻辑。使用一定的格式,来完成相同代码的反复执行。代码写的少,程序运行次数多。(重点)

    分支结构概述

    1、到达某个状态时,可能会有多种情况,每种情况都需要提前准备好,所以多条路的路口就是一个分支。代码写得多,程序运行的少。

    2、实现格式:

    if语句:if是如果的意思,满足了这种条件,才能执行相应的代码,实现不同的逻辑

    if

    if...else

    if...else if...else if....else

    switch语句:根据某个变量的值,判断符合哪种执行条件

    if语句的第一种格式

    1、格式:

    if (布尔表达式) {

    语句体;

    }

    2、说明:

    1、if语句后面跟着的小括号,里面必须是boolean类型的值;if语句后面的小括号中,只要是计算结果为boolean类型,就合法(合法不代表就有意义)

    2、语句体,可以是任意操作

    3、执行流程:

    1、计算布尔表达式的值,要么为true、要么为false

    2、如果计算结果为true,执行语句体

    3、如果计算结果为false,就不执行语句体

    说明只有布尔表达式结果为true才会执行判断语句{  }里面的代码

    代码示例

    import java.util.Scanner;
    
    class Demo_5 {
    
    public static void main(String[] args) {
    
    //if语句的第一种格式
    
    // if (布尔表达式){ 语句体; }
    
    Scanner sc = new Scanner(System.in);
    
    int aa = sc.nextInt();
    
    if (aa> 10) {
    
    System.out.println(4);
    
    int a  = 1;
    
    a++;
    
    System.out.println(a);
    
    if(false){
    
    System.out.println("我是里面的if语句");
    
    }
    
    }
    
    System.out.println("if语句管不到我");
    
    }
    
    }
    If语句的注意事项

    1、if后面跟着的小括号里面,必须是boolean的值

    2、if后面跟着的小括号里面,只要计算结果为boolean类型,就算合法

    3、在小括号后面不要加分号,一般来说,有左大括号,就没有分号,有分号,就没有左大括号

    4、语句体:可以是任意语句。如果语句体只有一句,那么大括号可以省略。但是建议所有情况都加上大括号,不要省略

    代码示例

    class Demo_6 {
    
    public static void main(String[] args) {
    
    //if语句的注意事项
    
    if(true/*只能写true 或者false ,表达式的值的结果类型为boolean*/){
    
    System.out.println(1);
    
    }
    
    boolean b = false;
    
    if(b = true){
    
    System.out.println(b);
    
    }
    
    if(b = false)/*;不能加分号*/{
    
    System.out.println(";"+b);
    
    }
    
    //
    
    System.out.println("---------");
    
    if(b = true)
    
    //if语句中如果只有一行代码,可以省略大括号,但是不建议大家省略
    
    System.out.println(b);
    
    System.out.println("if你能管到我吗");
    
    }
    
    }
    if语句的第二种格式

    1、格式:

    if (条件表达式) {

    语句体1;

    } else {

    语句体2;

    }

    2、说明:

    1、是否有某种情况,可以语句体1和语句体2都不执行?不可能,else就已经包含了if不满足的所有状态

    2、是否有某种情况,可以让语句体1和语句体2都执行?不可能,因为只要语句体1执行了,if语句就直接结束了

    3、只能执行其中的一句,并且一定会执行其中一句

    3、执行流程:

    1、计算条件表达式的值,要么是true、要么是false

    2、如果条件表达式的值为true,执行语句体1

    3、如果条件表达式的值为false,执行语句体2

    代码示例

    import java.util.Scanner;
    
    class Demo_7 {
    
    public static void main(String[] args) {
    
    //if语句的第二种格式
    
    /*if(布尔表达式){
    
    语句体1
    
       }else {
    
    语句体2
    
       }*/
    
    System.out.println("请输入你的年龄");
    
    Scanner sc = new Scanner(System.in);
    
    int age = sc.nextInt();
    
    //先判断表达式的结果,如果为true执行语句体1
    
    //如果为false执行语句体2
    
    //思考:有没有可能语句体1和语句体2.都执行,或都不执行?
    
    if(age >= 18){
    
    //语句体1;
    
    System.out.println("可以观看此电影");
    
    }else{ //else  其他的,已经包含了不满足if判断的其他的所有情况
    
    //语句体2;
    
    System.out.println("未成年人禁止观看");
    
    }
    
    //if ....else至少要执行一个语句体
    
    }
    
    }
    if语句的第三种格式

    1、格式:

    if (条件表达式1) {

    语句体1;

    } else if (条件表达式2) {

    语句体2;

    } else if (条件表达式3) {

    语句体3;

    }

    ...

    } else if (条件表达式n) {

    语句体n;

    } else {

    语句体n+1;

    }

    2、执行流程:

    1、计算条件表达式1,如果为true,就执行语句体1,if语句结束

    2、如果条件表达式1为false,计算条件表达式2,如果为true,就执行语句体2,if语句结束

    3、如果条件表达式2位false,就计算条件表达式3.......

    4、如果条件表达式1~条件表达式n全都为false,那么就执行语句体n+1

    3、说明:

    1、如果条件表达式2计算结果为true,执行语句体2(其实这个条件的完整版本:条件表达式1不满足,并且条件表达式2满足)

    2、最后的else语句可以有也可以没有,如果有,就一定有执行的内容,如果没有就可能什么都执行不了

    3、语句体1~语句体n+1是否有可能执行两句或者两句以上?不可能,只要其中一条语句执行了,if语句就结束了

    4、语句体1~语句体n+1是否有可能一句都不执行?两种情况,如果没有else语句,就可能一个语句体都不执行;如果有else语句,就一定会执行其中的一句。

    代码示例

    import java.util.Scanner;
    
    class Demo_8 {
    
    public static void main(String[] args) {
    
    //if语句的第三种格式
    
    /*if(布尔表达式1){
    
    语句体1;
    
    }else if(布尔表达式2){
    
    语句体2;
    
    }else if(布尔表达式3){
    
    语句体3;
    
    }else if(布尔表达式4){
    
    语句体4;
    
    }.......
    
    else if(布尔表达式n){
    
    语句体n;
    
    }else{
    
    语句体n+1;
    
    }*/
    
    Scanner sc = new Scanner(System.in);
    
    System.out.println("选择你心仪的战队");
    
    int a = sc.nextInt();
    
    if(a == 1){
    
    System.out.println("I like RNG");
    
    }else if(a == 2){
    
    System.out.println("I like IG");
    
    }else if(a == 3){
    
    System.out.println("I like FPX");
    
    }else if(a == 4){
    
    System.out.println("I like SKT");
    
    }else if(a == 5){
    
    System.out.println("I like DWG");
    
    }else{//不加else有可能一个语句体都不执行,加上后至少要执行一个语句体
    
    System.out.println("垃圾游戏,我谁都不喜欢");
    
    }
    
    }
    
    }
    switch语句

    1、switch:表示英文中的开关,每个条件都像一扇门,开着的,就可以执行,否则就到下一扇门判断。

    2、格式:

    switch (表达式) {

    case 常量1:

    语句体1;

    break;

    case 常量2:

    语句体2;

    break;

    .........

    case 常量n:

    语句体n;

    break;

    default:

    语句体n+1;

    }

    3、执行流程:

    1、计算表达式的值,分别和各个常量匹配

    2、如果和常量1匹配,那么久执行语句体1,break,switch语句就结束了

    3、如果和常量1不匹配,那么就判断是否和常量2匹配,如果匹配就执行语句体2,break,switch语句就结束了

    4、以此类推,如果常量1~常量n全都没有和表达式的值匹配,那么就执行default中的内容,switch语句结束。

    代码示例

    import java.util.Scanner;
    
    class Demo_9 {
    
    public static void main(String[] args) {
    
    /*
    
    switch (表达式) {
    
    case 常量1:
    
    语句体1;
    
    break;
    
    case 常量2:
    
    语句体2;
    
    break;
    
    .........
    
    case 常量n:
    
    语句体n;
    
    break;
    
    default:
    
    语句体n+1;
    
    }
    
    */
    
    Scanner sc = new Scanner(System.in);
    
    System.out.println("请指定一个星期的数字");
    
    int week = sc.nextInt();
    
    switch(week){
    
    case 1 :
    
    System.out.println("星期一");
    
    break;
    
    case 2 :
    
    System.out.println("星期二");
    
    break;
    
    case 3 :
    
    System.out.println("星期三");
    
    break;
    
    case 4 :
    
    System.out.println("星期四");
    
    break;
    
    case 5 :
    
    System.out.println("星期五");
    
    break;
    
    case 6 :
    
    System.out.println("星期六");
    
    break;
    
    case 7 :
    
    System.out.println("星期日");
    
    default ://可以有,也可以没有,和else功能类似
    
    System.out.println("地球上没有你想要星期");
    
    }
    
    }
    
    }
    switch语句的注意事项

    1、单词解释:

    switch:开关;case:情况;break:破坏、退出;default:默认

    2、表达式:

    Jdk1.5之前:byte、short、char、int

    Jdk1.5:枚举类型

    Jdk7:String

    3、case后面只能跟常量,不能跟变量

    4、每个case的语句体后面,一定要跟上一个break语句,否则就无法结束switch语句,并且发生case穿透。Case穿透的利用:多个情况如果是相同的执行逻辑,那么就可以使用case穿透。

    5、Default语句:可以写也可以不写。如果不写,就有可能一个语句都执行不到。建议把default语句加上。

    6、Default语句可以写在任意位置,无论写在什么位置,都是最后去匹配,建议把default语句写在最后。

    7、Switch语句结束的条件:碰到了break语句;碰到了右大括号

    代码示例

    import java.util.Scanner;
    
    class Demo_10 {
    
    public static void main(String[] args) {
    
    //switch语句的注意事项
    
    Scanner sc = new Scanner(System.in);
    
    //System.out.println("请指定一个星期的数字");
    
    //int week = sc.nextInt();
    
    //char dou = 'c';
    
    String dou = "ones";
    
    switch( dou/*byte ,short ,char ,int ,String ,(枚举enum) */){
    
    //case 1 :
    
    //case 'a' :
    
    default ://default语句可以放在任意的位置,无论放在那里都是最后去匹配的
    
    System.out.println("地球上没有你想要星期");
    
    //break;//default方法中间,break不要省,否则发生case穿透问题
    
    case "one" : //case后面只能跟常量不能跟变量
    
    System.out.println("星期一");
    
    break;//break不能省,如果省掉就发生case穿透问题
    
    //case 2 :
    
    //case 'b' :
    
    case "two" :
    
    System.out.println("星期二");
    
    break;
    
    //case 3 :
    
    //case 'c' :
    
    case "three" :
    
    System.out.println("星期三");
    
    break;
    
    //case 4 :
    
    //case 'd' :
    
    case "four" :
    
    System.out.println("星期四");
    
    break;
    
    //case 5 :
    
    //case 'e' :
    
    case "five" :
    
    System.out.println("星期五");
    
    break;
    
    //case 6 :
    
    //case 'f' :
    
    case "six" :
    
    System.out.println("星期六");
    
    break;
    
    //case 7 :
    
    //case 'g' :
    
    case "seven" :
    
    System.out.println("星期日");
    
    }
    
    }
    
    }
    
    //  3,4,5,   春天 ,6,7,8,夏天,9 , 10 ,11 秋天 12 ,1,2 冬天
    If语句和switch语句的区别

    1、相同点:if语句和switch语句都可以表达分支结构

    2、不同点:

    1、if语句格式相对灵活,更加强大,switch语句相对弱小。所有的switch语句都可以被if语句替代。

    2、if语句更多的是做一些连续性的判断,而switch语句更多的是做一些离散性的匹配

    3、if语句每次都需要获取表达式的值,而switch只获取一次表达式的值,所以相对switch的效率高一些。

    代码示例

    class Demo_12 {
    
    public static void main(String[] args) {
    
    //if语句和switch语句区别
    
    //if语句连续性的判断
    
    int i  = 60;
    
    if(i > 1 && i < 100){   // 1< i<100
    
    System.out.println(i);
    
    }
    
    switch(j*j){//离散型的匹配
    
    case 1:
    
    case 2:
    
    case 3:
    
    }
    
    if(j * j > 10){
    
    }else if(j*j < 10){
    
    }
    
    }
    
    }
    练习

    键盘录入一个学生的成绩,int类型的分数,根据录入的分数,输出分数等级

    [90, 100],优秀   大于等于90小于等于100

    [80,90),良好     大于等于80小于90

    [60, 80),及格

    [0, 60),不及格

    使用两种方式完成:

    1、使用if语句完成

    2、使用switch语句完成

    代码示例

    import java.util.Scanner;
    
    class Demo_13 {
    
    public static void main(String[] args) {
    
    /*
    
    键盘录入一个学生的成绩,int类型的分数,根据录入的分数,输出分数等级
    
    [90, 100],优秀 大于等于90小于等于100
    
    [80,90),良好 大于等于80小于90
    
    [60, 80),及格
    
    [0, 60),不及格
    
    */
    
    Scanner sc =  new Scanner(System.in);
    
    System.out.println("请输入学生的成绩");
    
    int score = sc.nextInt();
    
    switch(score / 10){
    
    case 0 :
    
    case 1 :
    
    case 2 :
    
    case 3 :
    
    case 4 :
    
    case 5 :
    
    System.out.println("不及格");
    
    break;
    
    case 6 :
    
    case 7 :
    
    System.out.println("及格");
    
    break;
    
    case 8 :
    
    System.out.println("良好");
    
    break;
    
    case 9 :
    
    case 10 :
    
    System.out.println("优秀");
    
    break;
    
    default:
    
    System.out.println("你输入的成绩不合法");
    
    }
    
    /* if(score >= 90 && score <= 100){
    
    System.out.println("优秀");
    
    }else if(score >= 80 && score < 90){
    
    System.out.println("良好");
    
    }else if(score >=60 && score < 80){
    
    System.out.println("及格");
    
    }else if(score >=0 && score < 60){
    
    System.out.println("不及格");
    
    }else{
    
    System.out.println("你输入的不是成绩吧");
    
    }*/
    
    }
    
    }
  • 相关阅读:
    本地快速搭建 FTP 服务器
    css 四个角
    时间
    两个json深度对比
    工作常用
    js模块化 中的变量可在局部 中的‘全局共享’
    datatables 的导出button自定义
    css布局技巧
    datables自定义排序
    js判断是否为空 或者全部为空
  • 原文地址:https://www.cnblogs.com/pwj-StudyCode/p/11773438.html
Copyright © 2020-2023  润新知