Java 学习周记 · 第二周这周学了什么流程控制收了个尾然后一路走数组、方法最后进了面向对象。进度是跟上了但没学明白。数组、方法、封装、重载这几块在脑子里搅成一团单拎一个词出来能说两句真让我从头写一段就卡住。感觉是脑子从上面滑过去了看的时候都懂合上书什么都不剩。打算回头再看几遍可一直在赶进度抽不出整块时间。数组印象最深的是内存图。两个数组变量赋值复制的其实是地址不是内容所以改一个另一个也跟着变。这个我一遍就看懂了。数组有多长用arr.length看。写的时候后面不加括号我一开始习惯性加了括号直接报错。初始化分静态和动态两种。动态那种只给长度值由 JVM 自己填填什么有固定规则。这块课里讲过我有印象但没真理解。遍历就是 for 循环配arr.length比 C 里自己算长度省事。做过一道题随机生成 10 个数放进数组求和、求平均再统计有几个比平均数小。前两步顺第三步卡了因为得先算出平均才能回头比我一开始想在同一个循环里做完。方法方法和 C 的函数长得差不多只是前面多了几个修饰符。修饰符这块我卡了很久。public static void main和public void有什么区别一开始完全分不清。后来才想明白void不是修饰符它占的是返回值的位置写void就是没有返回值。格式上参数写在括号里要交结果就用return。比如public static int getSum(int a, int b)最后return一个 int 回去。重载不行。定义我能背下来同一个类里同名方法、参数不同但做题就绕进去五道判断题错得不少。错的地方都一个样光改返回值不算重载这条我老是记不住。return和break以前混着用现在知道return是整个方法结束break只跳出一层循环或者switch。面向对象类就是自己在代码里造一个类型出来学生、手机这种。new一个就是对象变量里存的还是地址跟数组那套一个道理。封装是把成员变量用private藏起来外面通过get/set拿。this用来分清成员变量和参数去掉就变成自己给自己赋值编译器一声不响值根本没进去。封装和重载这两个词单看都认识搁一块儿就说不清谁是谁。顺手记的几条区别CJava函数可以单独存在什么都得写在类里sizeof求数组长度arr.length是属性switch 也有差别。Java 里可以写case 1, 2, 3:一次列几个值C 只能一个 case 一个 case 往下穿。第一周我写Java 的 if 能直接根据变量判断、C 不行其实说反了。Java 的 if 条件必须是 booleanif (1)编译不过C 里随便一个非零数都算真。)下周下周预计把 this 的内存原理搞懂然后开始学 API。this 我现在只会照着写原理没想明白。
阅读完成 · 觉得有帮助?