Java中for循环结合if语句是最基础的筛选方式,即遍历每个元素并用if判断是否满足条件,满足则执行处理逻辑;需避免if写在循环外、遗漏大括号及遍历中修改集合等错误。

Java 中 for 循环结合 if 语句是最基础也最常用的筛选方式,核心就是:在循环体内用 if 判断每个元素是否满足条件,满足才执行处理逻辑(比如打印、存入新集合等)。
基本写法:边遍历边判断
以整数数组为例,筛选出所有偶数:
int[] nums = {1, 2, 3, 4, 5, 6};
for (int i = 0; i < nums.length; i++) {
if (nums[i] % 2 == 0) { // 条件判断:是偶数
System.out.println(nums[i]); // 满足就处理
}
}
// 输出:2、4、6
筛选后存入新容器(推荐常用做法)
单纯打印不够实用,多数场景需要把筛选结果保存起来,比如放进 ArrayList:
- 先声明一个空的 ArrayList(注意泛型类型要匹配)
- 循环中用 if 判断条件,成立则调用 add() 加入新集合
- 循环结束后,新集合里就是全部符合条件的元素
示例(筛选字符串列表中长度大于 3 的字符串):
立即学习“Java免费学习笔记(深入)”;
List<String> words = Arrays.asList("hi", "hello", "ok", "world");
List<String> filtered = new ArrayList<>();
for (String word : words) {
if (word.length() > 3) {
filtered.add(word);
}
}
// filtered = ["hello", "world"]
注意避免常见错误
初学者容易踩的坑:
- if 写在循环外:那就只判断第一个元素,达不到“逐个筛选”的目的
- 忘记大括号 {}:if 后只有一行代码时可省略,但一旦加了第二行(比如打印+计数),没括号就会逻辑错乱
- 修改正在遍历的集合:比如在 for-each 中直接 remove(),会抛 ConcurrentModificationException;应改用迭代器或倒序 for 循环
进阶提示:和增强 for 循环配合更简洁
只要不涉及索引操作,优先用 for (Type item : collection) 形式,代码更清晰:
- 无需关心下标、长度,减少出错可能
- 读起来就是“对每个元素,如果满足条件,就……”
- 和 if 搭配自然,适合大多数过滤场景
例如筛选 List 中非 null 且非空字符串:
for (String s : stringList) {
if (s != null && !s.trim().isEmpty()) {
result.add(s);
}
}


















