数据输入

:::tips

Scanner使用

  • 导包
    • import java.util.Scanner;
  • 创建对象
    • Scanner sc = new Scanner(System.in);
  • 接收数据

    • int i = sc.nextInt();

      next()

  • 一定要读取到有效字符后才可以结束输入

  • 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  • next() 不能得到带有空格的字符串
  • String Str = scan.next();

    nextLine()

  • 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。

  • 可以获得空白。
  • String Str = scan.nextLine();

    hasNext()

  • 检查序列中是否还含有元素

    hasNextInt()

  • 检查是否为数字

    scan.close()

  • 关闭scanner文本扫描器 :::

    1. Scanner scan = new Scanner(System.in);
    2. System.out.println("以next方式接收, 请输入数据:");
    3. if (scan.hasNext()){
    4. //使用hasNext()检查序列中是否还有元素。hasNextInt()检查是否为数字
    5. String str1 = scan.next();
    6. System.out.println("输入的数据为:"+ str1);
    7. }
    8. scan.close(); //关闭scanner文本扫描器

Random

:::tips

作用:

  • 用于产生一个随机数

    使用步骤:

  • 导包:

    • import java.util.Random;
  • 创建对象:
    • Random r = new Random();
  • 获取随机数:
    • int number = r.nextInt(x); //随机数获取范围[0,x); :::

分支语句

:::tips

流程控制语句分类

  • 顺序结构
  • 分支结构(if,Switch)
  • 循环结构(for,while,do…while) :::

if语句

:::tips

格式一:

  1. if (关系表达式) {
  2. 语句体
  3. }

    格式二:

  4. if (关系表达式) {

  5. 语句体1
  6. } else {
  7. 语句体2
  8. }

    格式三

  9. if (关系表达式1) {

  10. 语句体1
  11. } else if (关系表达式2) {
  12. 语句体2
  13. }
  14. else {
  15. 语句体3
  16. }
    :::

switch语句

:::tips

  1. switch (表达式) { //表达式对应一个值
  2. case值1;
  3. 语句体1;
  4. break;
  5. case值2;
  6. 语句体2;
  7. break;
  8. default:
  9. 语句体n+1;
  10. [break;]
  11. }
    :::

    switch语句格式说明:

    :::tips
  • 表达式:取值为byte、short、int、char,JDK5以后可以枚举,7以后可以是String
  • case:后面跟的是要和表达式进行比较的值,必须是常量不能是变量
  • break:表示中断,结束的意思,用来结束Switch语句
  • default:表示所有情况都不匹配时,就执行该处的内容
  • 表达式数据类型应和case后的常量类型一致,或可自动转换 :::

for循环语句

:::tips

格式:

  1. for (初始化语句;条件语句;条件控制语句) {
  2. 循环体语句;
  3. }

    执行流程:

    ①执行初始化语句
    ②执行条件判断语句
    ③执行循环体语句
    ④执行条件控制语句
    ⑤执行②

    for循环快捷键

    数字.fori — for(int i = 0; i < 数字; i ++) {}
    数字.forr — for(int i = 数字; i > 0; i —) {} :::

while循环语句

:::tips

基本格式:

  1. while (条件判断语句) {
  2. 循环体语句;
  3. }

    完整格式:

  4. while (条件判断语句) {

  5. 循环体语句;
  6. 条件控制语句;
  7. }

    执行流程:

    ①执行初始化语句
    ②执行条件判断语句
    ③执行循环体语句
    ④执行条件控制语句
    ⑤执行② :::

do…while语句:

:::tips

基本格式:

  1. do {
  2. 循环体语句;
  3. } while (条件判断语句);

    完整格式:

  4. do {

  5. 循环体语句;
  6. 条件控制语句;
  7. } 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循环

:::tips

概述

  • 增强for循环是for的一种新用法!用来循环遍历数组和集合

    语法

  • for(元素类型 e : 数组或集合对象) {sout(e);} //foreach 数组名.for iter

  • 增强for的冒号左边是定义变量,右边必须是数组或集合类型。 :::

for循环调用

:::tips

  • name:for(;;) {break name;} :::

跳转控制语句

:::tips

  • 跳过某次循环体内容的执行continue[使用基于条件控制]
  • 终止循环体内容的执行break[使用基于条件控制] :::