因为是初学Java,刷题语言从Python切换过来有很多小习惯会出问题。
除此之外也算二刷代码随想录,仍有很多细节问题,特此记录。
文章目录
- Java 易错点
- 声明
- 位运算
- length
- for
- 定义数组
- 数组打印
- 无穷大
- 二分法
- 不变量
Java 易错点
声明
Java中变量需要声明类型
位运算
位移运算符 >> 的优先级低于加减法,用位运算注意加括号。
位运算的执行效率高于除法。
int mid = left + (right- left)>>1;
int mid = left + ((right- left)>>1);
int mid = (right + left)>>1;
length
int right = nums.length;
即可成功赋值,别写括号
for
for()中记得声明int
定义数组
int[] result = new int[nums.length];
//初始化数组参数也要记得定义,且初始化用花括号
int[] res = Solution.sortedSquares(new int[] {-4, -1, 0, 3, 10});
数组打印
在 Java 中,直接打印数组对象 System.out.println(res); 将不会打印出数组的内容,而是数组对象的内存地址。如果要打印数组内容,可以使用 Arrays.toString() 方法。
System.out.println(Arrays.toString(res));
无穷大
int result = Integer.MAX_VALUE;
二分法
不变量
注意循环不变量,区间的边界(左闭右开)。
对应哪里加1哪里不加1搞清楚。