宋红康:致Java初学者的一封信

千万播放,再次升级!
宋红康2023版Java视频来啦:

昨天,宋红康老师的开年力作Java新版视频发布了,在教程大功告成之际,他给初学Java的朋友写了一封信:
亲爱的谷粉,你好!
我是尚硅谷的讲师,宋红康。过去的2022年是我的本命年。回首人生旅途,有很多的转折点,决定了人生的未来走向。
对于电脑前即将开始Java学习的你,这次学习之旅会成为你的人生新篇章吗?
也许,你出于对编程的好奇,选择了学Java;也许,你只是为了完成毕设,不得不学Java;也许,你是对编程感兴趣,选择从Java入手;也许,你是想学会一门安身立命的技能,Java程序员的待遇吸引了你……
无论如何,每一个选择都值得尊重。开启学习模式之前,我想和大家聊几个问题。
问题一:学Java、学编程到底难不难?
我要是说“会者不难,难者不会”,你恐怕会想喷我,不过,学Java确实既不像你想象的那么难,也不像你想象的那么简单。好比骑自行车,你会骑之后,就会觉得so easy!
如果你问前辈,学Java难不难,他可能会告诉你,制定个学习计划,多敲多练,半年学会完全没有压力。你可能瞬间觉得过不了多久,自己就可以高薪就业、当上项目经理、出任CTO,迎娶白富美,走上人生巅峰,想想还有点小激动。但你若是问到一个学得很悲壮的兄弟,恐怕会认为前景一片黑暗。你想结婚,不要去问一个离了婚的人意见。
小时候,我们学过《小马过河》的寓言故事,就是这个道理。与其坐而论道,不如起而行之。你该做的是躬身入局,干就完了。

作为过来人,谈两点我的经验。
第一,坚持!
别人一个月学会的,我学两个月;别人两个月学会的,我学四个月,行不行?
不怕慢,就怕站;站一站,二里半。学知识,就像怀孕,积累久了,总会显露出来。
曾经有位学员学历不高,家里让他学就来了。他并不优秀甚至稍显笨拙,十几天课过去了,他还在弄运算符,我告诉他,这些内容不用扣得太细,知道如何用就行了。他说,我确实不大懂怎么用。这样的情况下,他申请去了第二个班,后来又去了第三个班……但是有一点,他始终没有放弃,非常有韧性。
尚硅谷的风格:不抛弃,不放弃。只要你不放弃,老师绝对不抛弃!最后,别人花六个月学完的课程,他花了八九个月,就业的薪资他也很满意。这里有一点我要说的是:他只有二十岁,而其他很多学员已经二十四五,甚至近三十了,如果他坚持五年、十年……
久久为功,坚持的力量是很可怕的。永远不要拿别人的现状去轻易评判他的未来。
我在北航读研究生时,我特别喜欢的一个教授和我说过:你只要在一个行业里,努力学习钻研十年,你就能成为这个行业的专家!我非常认同,这里与大家共勉。

其次,相信自己!
你可能会讲,老师,你说的没错,应该坚持,可有一个现实情况是,很多人之前学过C/C++,或者做过网站开发,而我是个彻头彻尾的门外汉,怎么办?
举个例子:一位母亲没有生育经验,生第一个孩子花了十个月,那么,她会因为之后有了经验,生第二个、第三个孩子,只需要七个月、五个月吗?学Java也是一样,语法格式、书写规范同样需要从头来学,唯一多的就是编程的感觉。而这种感觉随着你的从无到有,也是一定会有的。
《星球大战》里尤达大师的一句话颇有深意:“有时候,你需要忘掉以前学过的东西。”事实上,我们发现自学成才的程序员,有一些出类拔萃,有一些则马马虎虎,养成了很糟糕的习惯,就好像写作,一般情况下,一个文笔很差的人,想成为作家,比从未写过文章的人还要困难,因为你要摒弃那些坏的习惯。
所以,如果你顾虑以前没接触过编程,没关系,我们从零开始就好。

问题二:聊一聊学习方法。
从小学到现在,你上了多少年学?是不是有无数次的考试失败,成绩不理想,都归于了没有好的学习方法?这么多年都没找到学习方法,问题出在哪里?
把学习方法当成一口大缸,勇敢地敲碎它吧!我们应该谈什么?谈学习习惯,谈学习具体知识的技巧。
什么是习惯?我们固定每天的听课时间和自习时间,看视频要认真听,这没什么好说的,千方百计地认真听,不行就咖啡、红牛、风油精走起。自习一是梳理所学知识,二是多敲代码,注意不要照搬老师的代码敲,那只是锻炼手部肌肉。也不要试图等看懂所有知识了再去敲,所谓知行合一,是在行中知,在知中行,相辅相成。
同时,每个人的习惯不大一样,有人白天效率高,有人夜晚头脑清醒,我就属于夜猫子型,那就晚上多学会儿。学编程最重要的三个动作:多敲、多问、多记。
此外,一个人要想走得远,需要加入一个团队。可以加一些学习群,和同行的人一起,互相督促、共同进步。

谈到具体的学习技巧,在视频中我都会讲到。这里只举一个例子,接触过Java的小伙伴都知道这段代码是不是有问题:if(3 < i < 5) { }。很明显,if语句的条件有误,编译不通过。
回忆一下,你的大学老师是怎么解释这个问题的,多数会说这是规定,是吗?也没错,但我要讲的是,“3 < i”我们得到的其实是一个boolean类型值,而boolean类型是不能和整型再运算的,所以再“ < 5”操作显然是错的。这样一说,想必大家会恍然大悟。
作为一门编程语言来说,有些东西是规定的,但很多都是在规定的基础上,逻辑衍生出来的,如果你掌握了这种逻辑关系,那么,势必可以减少不必要记忆量和学习负担。久而久之,你就有了编程的思想。

问题三:学习Java是快乐的事吗?
尚硅谷的线下培训是六个月,应该说累且充实。这六个月,就像你高考前的半年,就像你考研前的六个月。那么,能不能是快乐学习呢?学习快乐吗?大家一起学习,随着时间的推移,有的人被折磨的要放弃,如果此时一位勇士大喊一声:我爱学习,学习使我快乐!你想不想打死他?
曾经的我,也霸榜过年级前几名数年,但自始至终我都觉得学习真的不那么快乐,而且有时候甚至很悲壮。谁不知道天热了去游个泳爽,或者躲在宿舍里开着空调,刷抖音、打游戏,人生简直不要太happy?为什么很多人没有选择这样的生活呢?
因为我们怀有当初执着的梦想,当世间一切都成为如烟往事,唯一能够珍藏内心的是,我们在今天奋斗过程中所得到的精神启示。

我研究生毕业刚工作时,为了省钱住的地下室,屋子仅能放下一张小床和一个小桌子,正好赶上那年北京雨水大,醒来地上厚厚的一层水。更难的,还是冬天没有暖气和空调……当然,这也算是我自己刻意的选择,有时候,艰难的外部环境更容易激发出我们内心的斗志。
我知道,大家这个年龄就是向往吃喝玩乐的年龄,谁不想呢?但如果我们不是富二代家里没矿,享乐的事咱可以先缓缓。
也不要走向另一个极端,终日疯狂coding,没日没夜,身体都被掏空了。劳逸结合,身体是革命的本钱,不能还没走上人生巅峰呢,咱就风雨飘摇了。
最后,这段话与诸位共勉:有人质疑你的出身,有人嘲弄你的梦想,但是他没有看见你已开始奔跑,送给每一位在梦想边缘徘徊的朋友,永远不要放弃自己的梦想!
很荣幸在你的Java学习之旅中,我与你共同开启。
宋红康于北京