java中用循环计算斐波那契数列的核心是用两个变量滚动更新前两项,时间复杂度o(n)、空间复杂度o(1);for循环适合求第n项,while循环适合输出前n项。

Java 中用循环计算斐波那契数列,核心是避免递归的重复计算,用两个变量滚动更新前两项,时间复杂度 O(n),空间复杂度 O(1)。
用 for 循环迭代计算第 n 项
适合求单个指定位置的值(如第 10 项)。初始化 first = 0、second = 1,从第 2 项开始循环更新:
- 第 0 项为 0,第 1 项为 1,n ≤ 1 时直接返回对应值
- 对 i 从 2 到 n(含),每次计算 next = first + second,然后 first = second,second = next
- 循环结束时 second 就是第 n 项的值
用 while 循环生成前 n 项并打印
适合输出数列前若干项。设定计数器 count,初始为 0,按需输出并更新:
- 先输出第 0 项(0)和第 1 项(1),count 设为 2
- while (count
- 注意 n ≤ 0 时跳过输出,n == 1 只输出 0
封装成方法并处理边界情况
实际使用建议封装为 static 方法,统一处理非法输入:
- 参数 n
- 返回 long 类型可支持更大项数(int 在第 47 项就溢出)
- 若需返回整个数列,可用 ArrayList
存储并返回
避免常见错误
初学者容易在循环起始、变量更新顺序或边界判断上出错:
- 别在循环内只更新 second 而漏掉 first 的赋值,否则逻辑断裂
- 别把循环条件写成 i
- 打印时注意首项是否包含 0,不同定义方式(从 0 开始或从 1 开始)会影响输出
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











