| # 包装类 |
| 1. 基本类型包装类 |
| 1). Integer |
| Integer(int)/Integer(String) |
| Integer valueOf(int)/Integer valueOf(String) |
| |
| 2). String 类型转换为 int |
| 方式1 |
| |
| 方式2 |
| int j = integer.parseInt(str); // 强烈推荐 |
| 2. 自动拆装箱(JDK5) |
| 1). 自动装箱 |
| int 自动转换成 Integer |
| Integer i1 = 200; // 自动装箱 |
| 2). 自动拆箱 |
| Integer 自动转换成 int |
| int i2 = i1 + 1; // 自动拆箱 |
| 3). 整数常量池 |
| -128 ~ 127 |
| 1. Integer 在该数值范围内可复用整数常量池 |
| 2. 不在此范围,直接new |
| |
| 3. 案例: 字符串切割 |
| 1). 按逗号切割 |
| |
| # 算法 |
| 1. 种类 |
| 交换排序:①冒泡排序、②快速排序 |
| 插入排序:③直接插入排序、④希尔排序 |
| 选择排序:⑤简单选择排序、⑥堆排序 |
| ⑦归并排序 |
| ⑧基数排序 |
| |
| 2. 二分查找 |
| - 思路 |
| 0). 数组元素从小到大排序 |
| 1). 获取整个数组的中间索引 |
| left = 0; |
| right = array.length - 1; |
| mid = (left + right)/2; |
| 2). 比较 X 和 array[mid] |
| 1. 如果 X 大, left = mid + 1; 重复 1、2 步 |
| 2. 如果 X 小, right = mid - 1; 重复 1、2 步 |
| 3. 如果相等, 结束, return当前索引。 |
| 3). 循环条件: while (left <= right) |
| - 实现 |
| |
| 3. 冒泡排序 |
| - 需求:对数组中的元素按从小到大的顺序排列 |
| - 思路 |
| 1). 第一轮: |
| 相邻两位数字进行比较,小的放前,大的放后 |
| 总结: 比较次数 array.length-1 |
| 结果: 最右边是最大的 |
| 2). 第二轮: |
| 相邻两位数字进行比较,小的在前,大的在后 |
| 总结: 比较次数 array.length-2 |
| 结果: 右边倒数第二个值是第二大的 |
| 3). 重复 |
| - 统计 |
| 总轮数: array.length-1 |
| 第n轮比较次数: array.length-n (n的初始值为1) |
| 循环条件: |
| for (int i = 1; i <= arr.length - 1; i++) { |
| for (int j = 0; j <= arr.length - 1 - i; j++) { |
| } |
| } |
| |
| # 方法 |
| - 方法调用者: 交换 |
| 1.入参 |
| 2.出参 |
| - 方法设计者: 逻辑 |
| 对入参做什么,然后给对方返回相应的出参 |
| |
| # 递归 |
| 1. 计算5的阶乘 |
| 1). 方案一: 循环 |
| 2). 方案二: 递归 |
| 2. 递归的表现: 方法不断调用自身的过程 |
| 3. 递归的编写: |
| 1). 要找到每一步规律 |
| 2). 要有结束条件 |
| 4. 例子 |
| 5! = 5 * 4 * 3 * 2 * 1 |
| |
| 5! = 5 * 4! |
| = 4 * 3! |
| = 3 * 2! |
| = 2 * 1! |
| = 1 |
| 5. 原理 |
| 层层递进, 层层回归 |
| 6. 递归的注意点 |
| 1). 一定要有结束条件 |
| 2). 递归次数不能太多 |
| |
| # Arrays(应用) |
| - Arrays的常用方法 |
| toString(int[] a)/sort(int[] a)/binarySearch(int[] a, int[] key) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通