
一、方法部分方法的调用会在栈上开辟内存当遇见return时方法结束回收内存。递归缺点很浪费栈的空间例如斐波那契数列递归。优点节省代码量。循环优点内存效率高没有栈帧堆积。缺点代码可能更复杂。二、一维数组部分数组书写int[] array new int[5];未赋值时默认为 0int[] array {1, 2, 3, 4, 5};不能拆开写int[] array new int[]{1, 2, 3, 4, 5};boolean[] array new boolean[3];默认为falseString[] names new String[3];默认值为null打印数组方法示例 1for-each 循环for (int x : array) { System.out.print(x ); }这个循环会遍历数组取得数组每个元素元素放到x中缺点是没有下标概念。示例 2借助工具System.out.println(Arrays.toString(array));三、二维数组部分数组的书写int[][] array new int[2][3];int[][] array {{1, 2}, {3, 4, 5}};打印数组方法示例 1for-each 循环for (int[] row : scores) { for (int num : row) { // ... } }示例 2借助工具System.out.println(Arrays.deepToString(array));数组小知识数组是有地址的但栈上变量的地址是获取不到的没有操作符。变量本身没有地址数组有地址但无法直接获取但可以通过哈希码或对象标识来间接验证地址的唯一性。当一个引用不知道初始化为什么值时可以将其初始化为null。