MENU

Java-09 使用Scanner从键盘获取数据&if-else例题

August 10, 2023 • Read: 77 • Java阅读设置

Java基本语法

使用Scanner从键盘获取数据

需要使用Scanner类,具体地:

  1. 导包:import java.util.Scanner;
  2. Scanner的实例化:Scanner 对象名 = new Scanner(System.in);
  3. 调用Scanner的相关方法(next() / nextXxx()),来获取指定类型的变量。

注意:

  • 对于char型的获取,Scanner没有提供相关的方法,只能获取字符串。
  • String.charAt(int index):返回字符串中index对应的字符,index的范围为0~length()-1。
  • 需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配(不一定非要相同,能够自动转换也是匹配),会报异常InputMismatchException,导致程序终止。

2023-08-10T08:39:23.png

if-else例题

第一题:
2023-08-10T08:56:57.png

  • 说明:

    • else结构是可选的。
    • 针对条件表达式:

      • 如果多个条件表达式之间是“互斥”关系(或没有交集关系),判断和执行语句的顺序不影响整个逻辑。
      • 如果多个条件表达式之间有交集关系,需要根据实际情况,考虑清楚判断和执行语句的顺序。
      • 如果多个条件表达式之间有包含关系,通常需要将范围小的判断和执行语句排在范围大的前面,否则,范围小的没机会执行。
        2023-08-10T08:54:55.png

第二题:
2023-08-10T08:57:43.png

  • 说明:

    • if-else结构是可以互相嵌套的。
    • 如果if-else结构中的执行语句只有一行时,对应的{}可以省略。但是不建议省略,因为后续加代码或改代码容易出错。
    • 如果没有{},要注意elseif的对应原则为就近原则。
      2023-08-10T09:18:01.png

第三题:
2023-08-10T09:20:18.png

  • 第一小题的考点为:if-else结构中的执行语句只有一行时,对应的{}可以省略。该题答案为输出:atguigu
    2023-08-10T09:24:10.png
    小改动后的考点为:elseif的对应原则为就近原则。答案为输出:x is 4
    2023-08-10T09:25:52.png

第四题:
2023-08-10T09:27:33.png

  • 如何获取一个两位数的随机数,即[10, 99]

    • Math.random():返回一个[0.0, 1.0)double类型的正数。
    • 获取[a, b]的随机数公式:(int)(Math.random() * (b - a + 1) + a)
Last Modified: October 26, 2023