数据输入
Scanner使用
- 导包
- import java.util.Scanner;
- 创建对象
- Scanner sc = new Scanner(System.in);
接收数据
一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- next() 不能得到带有空格的字符串
-
nextLine()
以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。
-
hasNext()
-
hasNextInt()
-
scan.close()
关闭scanner文本扫描器 :::
Scanner scan = new Scanner(System.in);
System.out.println("以next方式接收, 请输入数据:");
if (scan.hasNext()){
//使用hasNext()检查序列中是否还有元素。hasNextInt()检查是否为数字
String str1 = scan.next();
System.out.println("输入的数据为:"+ str1);
}
scan.close(); //关闭scanner文本扫描器
Random
作用:
-
使用步骤:
导包:
- import java.util.Random;
- 创建对象:
- Random r = new Random();
- 获取随机数:
- int number = r.nextInt(x); //随机数获取范围[0,x); :::
分支语句
流程控制语句分类
- 顺序结构
- 分支结构(if,Switch)
- 循环结构(for,while,do…while) :::
if语句
格式一:
- if (关系表达式) {
- 语句体
-
格式二:
if (关系表达式) {
- 语句体1
- } else {
- 语句体2
-
格式三
if (关系表达式1) {
- 语句体1
- } else if (关系表达式2) {
- 语句体2
- }
- …
- else {
- 语句体3
- }
:::
switch语句
:::tips
- switch (表达式) { //表达式对应一个值
- case值1;
- 语句体1;
- break;
- case值2;
- 语句体2;
- break;
- …
- default:
- 语句体n+1;
- [break;]
- }
:::switch语句格式说明:
:::tips
- 表达式:取值为byte、short、int、char,JDK5以后可以枚举,7以后可以是String
- case:后面跟的是要和表达式进行比较的值,必须是常量不能是变量
- break:表示中断,结束的意思,用来结束Switch语句
- default:表示所有情况都不匹配时,就执行该处的内容
- 表达式数据类型应和case后的常量类型一致,或可自动转换 :::
for循环语句
格式:
- for (初始化语句;条件语句;条件控制语句) {
- 循环体语句;
- }
执行流程:
①执行初始化语句
②执行条件判断语句
③执行循环体语句
④执行条件控制语句
⑤执行②for循环快捷键
数字.fori — for(int i = 0; i < 数字; i ++) {}
数字.forr — for(int i = 数字; i > 0; i —) {} :::
while循环语句
基本格式:
- while (条件判断语句) {
- 循环体语句;
-
完整格式:
while (条件判断语句) {
- 循环体语句;
- 条件控制语句;
- }
执行流程:
①执行初始化语句
②执行条件判断语句
③执行循环体语句
④执行条件控制语句
⑤执行② :::
do…while语句:
基本格式:
- do {
- 循环体语句;
-
完整格式:
do {
- 循环体语句;
- 条件控制语句;
- } while(条件判断语句)
执行流程:
①执行初始化语句
②执行循环体语句
③执行条件控制语句
④执行条件判断语句
⑤执行② :::
for、while、do..while的区别:
:::tips
- for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
- do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断) :::
for和while的区别:
:::tips
- 条件控制语句所控制的自增变量,因为归属for循环语句结构中,
- 在for循环结束后,就不能再次被访问到了
- 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,
- 在while循环结束后,该变量还可以继续用 :::
死循环:
:::tips
- for (;;) {}
- while (true) {}
- do {} while (true); :::
增强for循环
概述
for循环调用
:::tips
- name:for(;;) {break name;} :::
跳转控制语句
:::tips
- 跳过某次循环体内容的执行continue[使用基于条件控制]
- 终止循环体内容的执行break[使用基于条件控制] :::