欢迎光临
我们一直在努力

java第四讲(逻辑控制)

文章目录

  • Java 程序逻辑控制
    • 本讲核心目标
    • 一、概述
    • 二、顺序结构
      • 核心规则
      • 代码案例
    • 三、分支结构
      • 3.1 if 语句
        • 三种语法格式
          • 格式1:单条件判断
          • 格式2:双条件二选一
          • 格式3:多条件多选一
        • 经典练习案例
        • 注意事项
      • 3.2 switch 语句
        • 基本语法
        • 执行流程
        • 代码案例:根据数字输出星期
        • 重要注意事项
        • 补充要点
    • 四、循环结构
      • 4.1 while 循环
        • 基本语法
        • 核心规则:先判断,后执行;循环条件为false时直接结束。
        • 代码案例
        • 注意事项
      • 4.2 循环关键字:break
        • 核心功能:**强制终止整个循环**,直接跳出循环体,后续循环语句不再执行。
        • 代码案例:找到100-200中第一个3的倍数
      • 4.3 循环关键字:continue
        • 核心功能:**跳过本次循环**,立即进入下一次循环的条件判断,不执行本次循环后续语句。
        • 代码案例
      • 4.4 for 循环
        • 基本语法(最常用,循环变量初始化、判断、更新一体化)
        • 执行流程:① → ② → ④ → ③ → ② → ④ → ③ → … → ②为false,循环结束。
        • 代码案例
        • 注意事项
      • 4.5 do while 循环(选学,使用频率极低)
        • 基本语法
        • 核心规则:**先执行,后判断**;无论条件是否为true,循环体至少执行1次。
        • 代码案例:打印1-10的数字
        • 注意事项
      • 4.6 循环结构补充要点
    • 五、输入与输出
      • 5.1 输出到控制台
        • 常用格式化转换符(无需死记,按需查询)
      • 5.2 从键盘输入(Scanner类)
        • 核心步骤
        • 常用读取方法
        • 代码案例1:读取基本信息(姓名/年龄/工资)
        • 代码案例2:循环读取多个数字,求平均值
        • 代码案例3:计算 1 到 n 的阶乘之和
        • 注意:循环输入结束方式
      • 5.3 输入输出补充要点
    • 六、经典案例:猜数字游戏
      • 游戏规则
      • 完整代码实现
      • 关键说明
    • 七、经典例题补充
      • 1. 数字9出现的次数
      • 2. 打印 n*n 乘法表
    • 八、IDEA 调试技巧
    • 九、课后练习(重点巩固,必须独立实现)
      • 题目:
      • 部分解答
      • 总结

Java 程序逻辑控制

本讲核心目标

  • 掌握Java中程序的逻辑控制语句(顺序、分支、循环)
  • 学会Java的标准输入输出方式
  • 能独立完成猜数字游戏的代码实现
  • 一、概述

    程序的执行逻辑与人生相似,包含顺序执行、分支选择、循环重复三种核心逻辑,组合使用实现复杂的程序功能。

    二、顺序结构

    核心规则

    按照代码书写的先后顺序一行一行执行,调整书写顺序则执行顺序同步改变,是程序最基础的执行结构。

    代码案例

    // 执行结果:aaa → bbb → ccc
    System.out.println("aaa");
    System.out.println("bbb");
    System.out.println("ccc");

    // 调整顺序后执行结果:aaa → ccc → bbb
    System.out.println("aaa");
    System.out.println("ccc");
    System.out.println("bbb");

    三、分支结构

    用于根据条件判断执行不同的代码块,分为if语句和switch语句两类。

    3.1 if 语句

    三种语法格式
    格式1:单条件判断

    // 语法
    if(布尔表达式){
    // 布尔表达式为true时执行
    }

    // 案例:考试≥90分奖励鸡腿
    int score = 92;
    if(score >= 90){
    System.out.println("吃个大鸡腿!!!");
    }

    格式2:双条件二选一

    // 语法
    if(布尔表达式){
    // 布尔表达式为true时执行
    }else{
    // 布尔表达式为false时执行
    }

    // 案例:≥90分吃鸡腿,否则挨批评
    int score = 88;
    if(score >= 90){
    System.out.println("吃个大鸡腿!!!");
    }else{
    System.out.println("挨大嘴巴子!!!");
    }

    格式3:多条件多选一

    // 语法
    if(布尔表达式1){
    // 表达式1为true时执行
    }else if(布尔表达式2){
    // 表达式2为true时执行
    }else{
    // 所有表达式都为false时执行
    }

    // 案例:根据分数评级(优秀/良好/中等/及格/不及格/错误数据)
    int score = 75;
    if(score >= 90 && score <= 100){
    System.out.println("优秀");
    }else if(score >= 80 && score < 90){
    System.out.println("良好");
    }else if(score >= 70 && score < 80){
    System.out.println("中等");
    }else if(score >= 60 && score < 70){
    System.out.println("及格");
    }else if(score >= 0 && score < 60){
    System.out.println("不及格");
    }else{
    System.out.println("错误数据");
    }

    经典练习案例
  • 判断奇数/偶数
  • int num = 10;
    if (num % 2 == 0) {
    System.out.println("num 是偶数");
    } else {
    System.out.println("num 是奇数");
    }

  • 判断正数/负数/零
  • int num = 5;
    if (num > 0) {
    System.out.println("正数");
    } else if (num < 0) {
    System.out.println("负数");
    } else {
    System.out.println("0");
    }

  • 判断闰年(世纪闰年/普通闰年)
  • int year = 2000;
    if (year % 100 == 0) {
    // 世纪闰年:能被400整除
    if (year % 400 == 0) {
    System.out.println("是闰年");
    } else {
    System.out.println("不是闰年");
    }
    } else {
    // 普通闰年:能被4整除但不能被100整除
    if (year % 4 == 0) {
    System.out.println("是闰年");
    } else {
    System.out.println("不是闰年");
    }
    }

    注意事项
  • 代码风格:推荐{与if/else同行,代码更紧凑(Java官方推荐);
  • 分号问题:if后不能多加分号,否则分号会成为空语句体,后续{}与if无关;// 错误示例:多了分号,无论x是否为10,都会打印hehe
    int x = 20;
    if (x == 10); {
    System.out.println("hehe");
    }
  • 悬垂else问题:else默认与最近的if匹配,无大括号时仅支持一条语句,实际开发必须加{};// 易混淆示例:else与第二个if匹配,x=10、y=20时打印bbb
    int x = 10;
    int y = 20;
    if (x == 10)
    if (y == 10)
    System.out.println("aaa");
    else
    System.out.println("bbb");
  • 条件表达式类型:if 后的条件表达式必须是布尔类型,不能是 int 等其他类型。int a = 10;
    // if(a) { … } // 编译错误!Java 不允许用 int 作为条件
    if (a != 0) { ... } // 正确写法
  • 3.2 switch 语句

    基本语法

    switch(表达式){
    case 常量值1:{
    语句1;
    break; // 跳出switch,避免穿透
    }
    case 常量值2:{
    语句2;
    break;
    }
    default:{ // 所有case不匹配时执行
    语句n;
    break;
    }
    }

    执行流程
  • 计算表达式的值;
  • 依次与case后的常量值匹配,匹配成功则执行对应语句,直到遇到break;
  • 无匹配的常量值时,执行default中的语句。
  • 代码案例:根据数字输出星期

    int day = 3;
    switch(day) {
    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("星期日");
    break;
    default:
    System.out.println("输入有误");
    break;
    }

    重要注意事项
  • 多个case后的常量值不能重复;
  • switch括号内的表达式类型仅限:
    • 基本类型:byte、char、short、int(不支持long,double,float,boolean);
    • 引用类型:String常量串、枚举类型;

    // 错误示例:double类型不能作为switch表达式
    double num = 1.0;
    switch(num) { // 编译报错:从double转换到int可能会有损失
    case 1.0:
    System.out.println("hehe");
    break;
    }

  • break不能遗漏,否则会发生case穿透,执行后续所有case的语句;// 案例:遗漏break,执行结果为“星期一→星期二”
    int day = 1;
    switch(day) {
    case 1:
    System.out.println("星期一");
    // 无break,发生穿透
    case 2:
    System.out.println("星期二");
    break;
    }
  • 无法表达复杂条件(如范围判断num > 10 && num < 20),此类场景用if更合适;
  • 支持嵌套但代码可读性极差,实际开发禁止使用。
  • 补充要点
  • 表达式限制:switch 后的表达式不能是复杂的运算表达式,必须是一个明确的值。int a = 10;
    // switch(a > 10) { … } // 编译错误,a > 10 是布尔表达式,且不是常量
  • case 穿透强化说明:如果 case 语句后没有 break,会发生“穿透”,继续执行后续所有 case 的代码,嵌套 switch 中穿透问题会更复杂,需格外注意。int x = 1, y = 1;
    switch(x) {
    case 1:
    switch(y) {
    case 1:
    System.out.println("hehe");
    // break; // 如果这里没有 break,会穿透到外层 case 2
    }
    // break; // 如果这里没有 break,会穿透到 case 2
    case 2:
    System.out.println("haha");
    break;
    }
  • 四、循环结构

    用于重复执行某段代码,直到满足终止条件,分为while、for、do while三种,核心关键字:break(终止循环)、continue(跳过本次循环)。

    4.1 while 循环

    基本语法

    while(循环条件){ // 循环条件为布尔表达式
    循环语句; // 循环条件为true时执行
    }

    核心规则:先判断,后执行;循环条件为false时直接结束。
    代码案例
  • 打印1-10的数字
  • int num = 1;
    while (num <= 10) {
    System.out.println(num);
    num++; // 循环变量更新,避免死循环
    }

  • 计算1-100的和
  • int n = 1;
    int result = 0;
    while (n <= 100) {
    result += n;
    n++;
    }
    System.out.println(result); // 输出:5050

  • 计算5的阶乘
  • int n = 1;
    int result = 1;
    while (n <= 5) {
    result *= n;
    n++;
    }
    System.out.println(result); // 输出:120

  • 计算1!+2!+3!+4!+5!(嵌套循环)
  • int num = 1;
    int sum = 0;
    // 外层循环:求阶乘的和
    while (num <= 5) {
    int factorResult = 1;
    int tmp = 1;
    // 内层循环:求单个数字的阶乘
    while (tmp <= num) {
    factorResult *= tmp;
    tmp++;
    }
    sum += factorResult;
    num++;
    }
    System.out.println(sum); // 输出:153

    注意事项
  • 无{}时仅支持一条循环语句,推荐始终加{};
  • {推荐与while同行,符合Java代码风格;
  • while后不能多加分号,否则分号成为空语句体,导致死循环;// 错误示例:多了分号,num始终为1,死循环无输出
    int num = 1;
    while (num <= 10); {
    System.out.println(num);
    num++;
    }
  • 4.2 循环关键字:break

    核心功能:强制终止整个循环,直接跳出循环体,后续循环语句不再执行。
    代码案例:找到100-200中第一个3的倍数

    int num = 100;
    while (num <= 200) {
    if (num % 3 == 0) {
    System.out.println("找到了 3 的倍数, 为:" + num); // 输出:102
    break; // 找到后立即终止循环
    }
    num++;
    }

    4.3 循环关键字:continue

    核心功能:跳过本次循环,立即进入下一次循环的条件判断,不执行本次循环后续语句。
    代码案例

    1.找到100-200中所有3的倍数

    int num = 100;
    while (num <= 200) {
    if (num % 3 != 0) {
    num++; // 必须更新变量,否则死循环
    continue; // 非3的倍数,跳过本次打印
    }
    System.out.println("找到了 3 的倍数, 为:" + num);
    num++;
    }

    2.输出 1-100 之间所有能被 3 和 5 整除的数字

    int i = 1;
    while (i <= 100) {
    if (i % 15 != 0) {
    i++;
    continue; // 跳过不符合条件的数
    }
    System.out.println(i); // 输出符合条件的数
    i++;
    }

    4.4 for 循环

    基本语法(最常用,循环变量初始化、判断、更新一体化)

    for(表达式①; 布尔表达式②; 表达式③){
    表达式④; // 循环体
    }
    // 表达式①:初始化循环变量(仅执行1次)
    // 表达式②:循环条件(true则执行循环体)
    // 表达式③:更新循环变量(每次循环体执行完后执行)

    执行流程:① → ② → ④ → ③ → ② → ④ → ③ → … → ②为false,循环结束。
    代码案例
  • 打印1-10的数字
  • for (int i = 1; i <= 10; i++) {//快捷键:10.fori
    System.out.println(i);//i.sout
    }

  • 计算1-100的和
  • int sum = 0;
    for (int i = 1; i <= 100; i++) {
    sum += i;
    }
    System.out.println(sum); // 输出:5050

  • 计算5的阶乘
  • int result = 1;
    for (int i = 1; i <= 5; i++) {
    result *= i;
    }
    System.out.println(result); // 输出:120

  • 计算1!+2!+3!+4!+5!(嵌套循环)
  • int sum = 0;
    for (int i = 1; i <= 5; i++) {
    int tmp = 1;
    for (int j = 1; j <= i; j++) {
    tmp *= j;
    }
    sum += tmp;
    }
    System.out.println(sum); // 输出:153

    注意事项

    与while循环完全一致:

  • 无{}仅支持一条循环语句,推荐加{};
  • {推荐与for同行;
  • 后不能多加分号,否则死循环;
  • break终止整个循环,continue跳过本次循环。
  • 4.5 do while 循环(选学,使用频率极低)

    基本语法

    do{
    循环语句; // 先执行一次循环体
    }while(循环条件); // 再判断条件,true则继续循环

    核心规则:先执行,后判断;无论条件是否为true,循环体至少执行1次。
    代码案例:打印1-10的数字

    int num = 1;
    do {
    System.out.println(num);
    num++;
    } while (num <= 10);

    注意事项
  • 循环结束后分号不能遗漏;
  • 实际开发中优先使用for和while,仅在“必须先执行一次循环体”的场景使用。
  • 4.6 循环结构补充要点

  • 循环三要素:任何循环都包含三个核心部分,缺少任何一个都可能导致死循环:
    • 循环初始值:int i = 1;
    • 循环条件:i <= 10;
    • 循环变量更新:i++;
  • break 与 continue 强化说明:
    • break:终止整个循环,跳出循环体;
    • continue:跳过本次循环的剩余部分,直接进入下一次循环的条件判断(使用时需先更新循环变量,避免死循环);int i = 1;
      while (i <= 7) {
      if (i == 3) {
      i++; // 必须更新循环变量,否则会导致死循环
      continue; // 跳过 i=3 时的打印
      }
      System.out.println(i);
      i++;
      }
      // 输出: 1 2 4 5 6 7
  • 死循环:while(true) 或 for(;;) 会创建无限循环,必须配合 break 使用。while (true) {
    System.out.println("死循环");
    // break; // 必须有条件地 break 才能终止
    }
  • 五、输入与输出

    5.1 输出到控制台

    三种输出方式,核心区别:是否换行、是否支持格式化。

    方法功能示例
    System.out.println(msg) 输出内容+自动换行 System.out.println("hello");
    System.out.print(msg) 输出内容+不换行 System.out.print("java");
    System.out.printf(format, msg) 格式化输出(与C语言一致) System.out.printf("x = %d\\n", 10);
    常用格式化转换符(无需死记,按需查询)
    转换符对应类型示例输出结果
    %d 十进制整数 printf("%d", 100) 100
    %x 十六进制整数 printf("%x", 100) 64
    %f 浮点型 printf("%.2f", 3.1415) 3.14
    %s 字符串 printf("%s", "java") java
    %c 字符 printf("%c", 'a') a
    %% 百分号 printf("%.2f%%", 0.29) 0.29%

    5.2 从键盘输入(Scanner类)

    核心步骤
  • 导入Scanner包:import java.util.Scanner;(必须写在代码最顶部);
  • 创建Scanner对象:Scanner sc = new Scanner(System.in);;
  • 调用方法读取数据(根据数据类型选择);
  • 关闭Scanner:sc.close();(避免资源泄漏)。
  • 常用读取方法
    • 读取整数:sc.nextInt()
    • 读取浮点数:sc.nextFloat()/sc.nextDouble()
    • 读取字符串:sc.nextLine()(读取整行,含空格)/sc.next()(读取到空格为止)
    代码案例1:读取基本信息(姓名/年龄/工资)

    import java.util.Scanner; // 导入包
    public class InputTest {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in); // 创建对象
    // 读取数据
    System.out.println("请输入你的姓名:");
    String name = sc.nextLine();
    System.out.println("请输入你的年龄:");
    int age = sc.nextInt();
    System.out.println("请输入你的工资:");
    float salary = sc.nextFloat();
    // 输出结果
    System.out.println("你的信息如下:");
    System.out.println("姓名: "+name+"\\n"+"年龄:"+age+"\\n"+"工资:"+salary);
    sc.close(); // 关闭对象
    }
    }

    代码案例2:循环读取多个数字,求平均值

    import java.util.Scanner;
    public class AvgTest {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int sum = 0;
    int count = 0;
    // sc.hasNextInt():判断是否还有整数输入
    while (sc.hasNextInt()) {
    int tmp = sc.nextInt();
    sum += tmp;
    count++;
    }
    System.out.println("sum = " + sum);
    System.out.println("avg = " + (double)sum / count);
    sc.close();
    }
    }

    代码案例3:计算 1 到 n 的阶乘之和

    import java.util.Scanner;

    public class FactorialSum {
    public static void main(String[] args) {
    // 创建Scanner对象读取控制台输入
    Scanner scanner = new Scanner(System.in);
    // 读取用户输入的整数n
    int n = scanner.nextInt();

    // 用于存储阶乘和的变量,初始值为0
    int sum = 0;

    // 外层循环:遍历1到n的每个数,计算其阶乘并累加
    for (int j = 1; j <= n; j++) {
    // 用于存储当前数j的阶乘,初始值为1(因为1的阶乘是1,乘法初始值不能为0)
    int ret = 1;
    // 内层循环:计算j的阶乘
    for (int i = 1; i <= j; i++) {
    ret *= i;
    }
    // 将当前数的阶乘累加到总和中
    sum += ret;
    }

    // 输出最终的阶乘和
    System.out.println(sum);

    // 关闭Scanner,释放资源(可选,但建议添加)
    scanner.close();
    }
    }

    注意:循环输入结束方式
    • Windows:输入完成后按 Ctrl + Z (cmd)/ Ctrl + D(IDEA)再按回车;
    • Linux/Mac:输入完成后按 Ctrl + D 再按回车。

    5.3 输入输出补充要点

  • Scanner 使用步骤强化:
    • 导入包:import java.util.Scanner;
    • 创建对象:Scanner scanner = new Scanner(System.in);
    • 读取数据:int n = scanner.nextInt();
    • 关闭流:scanner.close();
  • 常见输入异常:
    • InputMismatchException:输入的数据类型与期望不符(如期望 int,却输入了字符串);// 错误输入 "halou" 会抛出异常
      int n = scanner.nextInt();
    • 处理方法:在读取前使用 hasNextInt() 等方法进行判断,或捕获异常。
  • 随机数生成:
    • 使用 Random 类生成随机数:Random random = new Random();
      int randNum = random.nextInt(100); // 生成 [0, 100) 之间的整数
      int randNum1_100 = random.nextInt(100) + 1; // 生成 [1, 100] 之间的整数
  • 六、经典案例:猜数字游戏

    游戏规则

  • 系统随机生成1-100的整数;
  • 用户输入数字猜测,程序提示“高了”/“低了”;
  • 猜对后提示“猜对了”,并终止程序。
  • 完整代码实现

    import java.util.Random; // 导入随机数包
    import java.util.Scanner; // 导入输入包
    public class GuessNumber {
    public static void main(String[] args) {
    // 1. 创建随机数对象,生成1-100的随机数(nextInt(100)生成0-99,+1后1-100)
    Random random = new Random();
    int toGuess = random.nextInt(100) + 1;
    // 2. 创建输入对象
    Scanner sc = new Scanner(System.in);
    // 3. 循环猜测,直到猜对
    while (true) {
    System.out.println("请输入要猜测的数字: (1-100)");
    int num = sc.nextInt();
    if (num < toGuess) {
    System.out.println("低了");
    } else if (num > toGuess) {
    System.out.println("高了");
    } else {
    System.out.println("猜对了");
    break; // 猜对后终止循环
    }
    }
    sc.close(); // 关闭输入流
    }
    }

    关键说明

    • Random.nextInt(n):生成0 ~ n-1的随机整数,因此nextInt(100)+1才是1-100;
    • while(true):无限循环,仅当猜对时通过break终止。

    七、经典例题补充

    1. 数字9出现的次数

    题目:统计 1 到 100 的所有整数中,数字9出现的次数。 思路:遍历每个数,分别检查其十位和个位是否为9。

    public static int count9() {
    int count = 0;
    for (int i = 1; i <= 100; i++) {
    if (i / 10 == 9) { // 检查十位
    count++;
    }
    if (i % 10 == 9) { // 检查个位
    count++;
    }
    }
    return count; // 结果为 20 次
    }

    2. 打印 n*n 乘法表

    思路:使用两层嵌套循环,外层控制行,内层控制列。

    public static void printMultiTable(int n) {
    for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= i; j++) {
    System.out.print(j + "*" + i + "=" + (i*j) + "\\t");
    }
    System.out.println();
    }
    }

    八、IDEA 调试技巧

  • 设置断点:在代码行号左侧点击,设置断点。
  • 启动调试:点击 Debug 按钮(小虫子图标)。
  • 调试操作:
    • Step Over (F8):逐行执行,不进入方法内部。
    • Step Into (F7):进入方法内部。
    • Resume Program (F9):继续执行,直到下一个断点。
  • 条件断点:右键点击断点,设置条件(如 i == 3),只有满足条件时才会暂停。
  • 变量查看:在 Debugger 窗口可以实时查看所有变量的值。
  • 九、课后练习(重点巩固,必须独立实现)

    题目:

  • 根据年龄划分:少年(<18)、青年(19-28)、中年(29-55)、老年(≥56);

  • 判定一个数字是否是素数(质数:只能被1和自身整除的大于1的整数);

  • 打印1-100之间所有的素数;

  • 输出1000-2000之间所有的闰年;

  • 输出九九乘法口诀表;

  • 求两个正整数的最大公约数(辗转相除法优先);

  • 输出0~99999之间所有的水仙花数(各位数字立方和等于自身,如153=1³+5³+3³);

  • 写一个函数,返回参数二进制中1的个数(如15的二进制00001111,返回4);

  • 获取一个数二进制序列的偶数位和奇数位,分别输出;

  • 完善猜数字游戏(如添加猜数次数限制、猜错后提示剩余次数)。

  • 部分解答

    2.

    public class Test {
    public static void main(String[] args) {
    int n = 7; // 要判断的整数
    int i = 2; // 从2开始检查因数

    // 循环条件:i <= 根号n,因为如果n有大于根号n的因数,必然有一个小于根号n的因数
    for (; i <= Math.sqrt(n); i++) {
    // 如果n能被i整除,说明i是n的因数,n不是素数
    if (n % i == 0) {
    break; // 跳出循环,无需继续检查
    }
    }

    // 如果循环结束后,i > 根号n,说明没有找到能整除n的因数,n是素数
    if (i > Math.sqrt(n)) {
    System.out.println(n + " 是素数!");
    }
    }
    }

    7.

    public class Test {
    public static void main(String[] args) {
    // 遍历0到99998的所有整数
    for (int i = 0; i < 99999; i++) {
    int count = 0; // 记录数字的位数
    int tmp = i; // 临时变量,用于计算位数

    // 计算数字的位数
    while (tmp != 0) {
    count++; // 每循环一次,位数+1
    tmp /= 10; // 去掉数字的最后一位
    }

    tmp = i; // 重置临时变量,用于计算各位数字的幂和
    int sum = 0; // 存储各位数字的幂和

    // 计算各位数字的count次方之和
    while (tmp != 0) {
    // 取最后一位数字,计算它的count次方,累加到sum
    sum += Math.pow(tmp % 10, count);
    tmp /= 10; // 去掉数字的最后一位
    }

    // 如果幂和等于原数字,说明是阿姆斯特朗数
    if (sum == i) {
    System.out.println(i);
    }
    }
    }
    }

    总结

  • Java逻辑控制核心包含顺序、分支(if/switch)、循环(while/for/do while)三类结构,分支和循环需重点注意语法细节(如分号、break/continue、case穿透)。
  • Scanner是Java基础输入工具,使用时需遵循“导入包-创建对象-读取数据-关闭流”的流程,注意输入类型匹配避免异常。
  • 调试是排查逻辑控制代码问题的关键手段,掌握IDEA断点调试技巧能大幅提升问题定位效率。
  • 赞(0)
    未经允许不得转载:171主机测评 » java第四讲(逻辑控制)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址