Java基本语法
使用Scanner从键盘获取数据
需要使用Scanner
类,具体地:
- 导包:
import java.util.Scanner;
Scanner
的实例化:Scanner 对象名 = new Scanner(System.in);
- 调用
Scanner
的相关方法(next()
/nextXxx()
),来获取指定类型的变量。
注意:
- 对于
char
型的获取,Scanner
没有提供相关的方法,只能获取字符串。 String.charAt(int index)
:返回字符串中index对应的字符,index的范围为0~length()-1。- 需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配(不一定非要相同,能够自动转换也是匹配),会报异常
InputMismatchException
,导致程序终止。
if-else例题
第一题:
说明:
else
结构是可选的。针对条件表达式:
- 如果多个条件表达式之间是“互斥”关系(或没有交集关系),判断和执行语句的顺序不影响整个逻辑。
- 如果多个条件表达式之间有交集关系,需要根据实际情况,考虑清楚判断和执行语句的顺序。
- 如果多个条件表达式之间有包含关系,通常需要将范围小的判断和执行语句排在范围大的前面,否则,范围小的没机会执行。
第二题:
说明:
if-else
结构是可以互相嵌套的。- 如果
if-else
结构中的执行语句只有一行时,对应的{}
可以省略。但是不建议省略,因为后续加代码或改代码容易出错。 - 如果没有
{}
,要注意else
与if
的对应原则为就近原则。
第三题:
- 第一小题的考点为:
if-else
结构中的执行语句只有一行时,对应的{}
可以省略。该题答案为输出:atguigu
。
小改动后的考点为:else
与if
的对应原则为就近原则。答案为输出:x is 4
第四题:
如何获取一个两位数的随机数,即
[10, 99]
:Math.random()
:返回一个[0.0, 1.0)
的double
类型的正数。- 获取
[a, b]
的随机数公式:(int)(Math.random() * (b - a + 1) + a)