为什么单独把数组拎出来练
很多人把数组当成语法入门时顺带扫过的知识点,到了面试和笔试环节才发现坑很深。这门课不是给你讲一遍怎么遍历数组,而是把面试里反复被问到的概念辨析和手写代码题集中拆开。它解决的问题是:概念题答得含糊、手写排序或查找时卡壳、看到静态初始化和动态初始化的区别就发懵。适合已经写过基本 Java 程序、能跑通简单循环但没系统刷过面试题的人。如果你连基本类型和引用类型都分不清,建议先补完基础语法再来看,否则后面讲数组是对象、元素相当于成员变量那几节你会听得很费劲。
建议先啃哪几块、资料怎么配合练习
别按顺序从头看到尾,按你的缺口分块补。第一块是概念辨析,集中在数组长度是否可变、长度用哪个属性、下标范围、数组是不是引用类型、数组是不是对象这几节,这部分适合用碎片时间反复听,边听边自己画一张内存示意图,把栈里的引用和堆里的数组对象画清楚,不要只记结论。第二块是初始化和定义合法性判断,包括三种初始化方式、静态初始化代码挑错、哪些数组定义正确、找出一个正确语句这几节,这部分必须配着资料包里的题目自己敲一遍,先不看答案,把错误定义逐条写出来并标注错在哪,再和讲解对照。第三块是两道编程题,一道是定义一维字符串数组后判断是否包含某个单词,一道是手写冒泡排序,这两题不要跳过,很多笔试直接考原题。练的时候先空手写,写不出来再回去看思路,看完关掉视频再写一遍,直到不用看任何提示能完整跑通。
学完应该能独立回答什么
概念层面,你要能不犹豫地回答:数组长度固定不可变、用 length 属性取长度、下标从零开始到长度减一、数组是引用类型也是对象、元素类型必须一致但可以是任意类型包括引用类型。代码层面,你要能徒手写出三种初始化方式的代码片段、能一眼看出静态初始化语句里多余的类型声明或括号位置错误、能用循环判断字符串数组是否包含指定单词、能默写冒泡排序的核心双层循环和交换逻辑。如果学完还得到处翻资料确认 length 到底是属性还是方法,说明没吃透,回去重看长度那节。别假装都会,面试官让你现场写冒泡时不会给你查文档的机会。
课程目录
1 数组的类型可以为任意类型吗 (01:53) 2 数组中的元素的类型必须是相同的吗、数组中的元素是有序的吗 (03:21) 3 数组的长度可变不、 数组的长度使用哪个属性 (03:05) 4 数组元素下标(或索引)的范围是 (01:51) 5 组也是引用类型吗、数组也是对象、这句话对吗 (02:57) 6 数组中的元素就像对象中的成员变量一样、初始化方式也一样、这句 (02:38) 7 【编程题】数组的三种初始化方式是什么 (03:25) 8 数组的静态初始化代码、下面代码有没有不合理的地方 (03:03) 9 下面的数组定义哪些是正确的 (01:40) 10 请在下面语句中找出一个正确的 (03:04) 11 【编程题】定义一维字符串数组、后输入一个单词、判断数组包含这 (07:03) 12 【编程题】自定义一个数组使用冒泡排序完成数组元素的排序 (03:32) 13 可变参数的作用以及其用法 (03:36) 14 【编程题】定义一个二维数组并求出该数组的所有元素之 (03:33)




