java编程逻辑训练核心是准确运用判断与重复,筛选任务依赖分支和循环配合:for循环负责扫描已知范围,if语句负责条件判断。

Java 编程逻辑训练的核心,就是把“判断”和“重复”这两件事用对、用准。筛选类任务看似简单,比如找出 1~100 中能被 3 整除且个位是 6 的数,背后其实全靠分支和循环的配合——一个负责“挑”,一个负责“扫”。
用 for 循环遍历候选范围
筛选的前提是得有东西可筛。for 循环最适合这种“已知起止、固定次数”的扫描场景。
- 明确范围:比如要检查 0 到 99 这 100 个整数,就写 for (int i = 0; i
- 生成目标值:如果题目要的是“个位为 6”的数,可以用 int k = i * 10 + 6 直接构造(i=0→6,i=1→16,…,i=9→96)
- 避免越界:注意终止条件用 i 而不是 i ,语义更清晰,也更符合 Java 习惯
用 if 分支做精准条件判断
循环只是“过一遍”,真正决定留还是扔的,是 if 里的条件表达式。多个条件要用逻辑运算符串起来。
- 单条件直接写:比如 if (k % 3 == 0) 判断能否被 3 整除
- 多条件组合:要同时满足“个位是 6”和“能被 3 整除”,就写成 if (k % 10 == 6 && k % 3 == 0)
- 注意运算符优先级:&& 比 || 优先级高,混用时建议加括号,比如 if ((x > 0) && (y
用变量记录筛选结果
光打印不够,实战中往往需要统计数量、存入数组或集合。计数是最基础也最容易出错的一环。
- 计数器必须初始化:int count = 0; —— 不初始化会编译报错
- 匹配成功才自增:if (符合条件) { System.out.print(k + " "); count++; }
- 别在循环外漏掉输出:System.out.println("\n共找到 " + count + " 个");
switch 不适合这类筛选任务
switch 是为“等值匹配”设计的,比如菜单选项、星期几、状态码。它没法处理 k % 3 == 0 这种计算型、范围型条件。
- 适用场景举例:用户输入 'A' 执行添加,'D' 执行删除,'Q' 退出
- 不适用场景:判断数字是否为偶数、是否在某个区间、是否满足复合公式
- 强行用 switch 只会让代码变臃肿,还容易漏 break 导致穿透
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











