资源很多,你却不会使用——以不变应万变才是自学Java的正确方法
鄙人乐于寻找学习方法,在这里提出自己的见解,希望可以帮助想玩好Java而又感觉很难上手的同学对Java不再恐惧
现状
我们的同学们除了某月,某婷等等大神以外,想必仍然存在着一大批同学根本没有摸索到学习java的办法,表现出来就是嘴里喊着Java很难,羡慕51班的同学,其实内心的想法还是想弄懂Java,毕竟大神总比小白好吧!但是往往心有余而力不足,加上娄老师上课风格和教学风格的独特性,很多同学感觉根本无从下手,已经将近20年的“言传身教”式教学养成的学习习惯,靠一门Java课、靠一名出色的教师是很难改过来的,自学能力也不能一蹴而就,因此以不变应万变才是适应Java课堂的最好方式(๑•̀ㅂ•́)و✧
教你怎么读课本
我们的数据结构与算法课的张岩老师有云:“其实大学课程,不应该有配套教材!┗|`O′|┛”,其实的确如此,大学教材对学科某方面的侧重,往往各有千秋,真正想做到精通的确需要博览群书,取长补短,但是——不存在的!你哪来的那么大的兴趣学习Java是吧!有时间为什么不玩一会儿开心消消乐或者贪吃蛇大作战呢?既然我们不能看很多,那就看好一本——这里在下与大家分享一下看《JAVA学习笔记(林信良)》的正确打开方式。
1.顺序是:先看代码——看代码遇到了看不懂的地方——再看前面的文字讲解——如果还有不懂的地方就上网上查。这个方法的高明之处,就是你学习时是具有目的性的,一点也不盲目。我身边的同学们普遍看书时感觉看不下去,好多好多内容不知道该看什么,看完了不知道自己懂了没有,纠结自己是该再看一遍还是看下一个部分o(*≧▽≦)ツ┏━┓,如果你也恰好是这种情况,恭喜你,用我提供的这个读书的顺序你可以准确的知道自己到底有没有看懂书上的内容。我们学习Java就是为了编代码,所以如果代码你能看懂的话,说明知识你已经掌握,可以看下一个代码了,没掌握的话,马上去看前面作者写的用法说明,作者的用法说明足够形象生动,联系c语言的知识,不难看懂。
2.看代码的时候有个好习惯,希望大家能养成,就是用自己的话去解读这个代码(u‿ฺu),遇到了新的代码,你就必须得知道这一条指令是干什么用的。我们学习代码就是为了实用,所以每一条代码可以干什么,是大家务必要搞明白的。搞明白“干什么”之后,大家要搞明白的就是使用的条件,什么时候能用呢?给谁用的呢?需要加一个什么什么什么才能用是吗?通过这种方式可以强化、加深大家对代码的理解。做到这些,以后绝对不会出现无从下手的情况。
3.书上代码出现的知识,我们并菲全部都学过,一定会出现一些后面章节才涉及的、但是我们前面就要用到的知识,对于这种知识,建议大家上网查,上百度去查,查完了之后要动手实践一下看看是不是真的是这样。问同学可能不方便(因为她自己也不一定会━━( ̄ー ̄*|||━━)百度上还是非常全面的,比如在遇到Math.random的时候,后面的那个10我就不太懂,于是去百度查了一下,发现10就是“随机数的范围是0~9”,而并非是“1~10”。老师给出了答疑小组的论坛,也鼓励同学们多去论坛上面提问,但是响应老师号召的同学却不多,我想不是同学们不积极,而是同学们大多认为自己什么都不懂,问的问题太low,不好意思晒出来贻笑大方,真正晒出来的都是那些敢为人先的人,其他同学于是要么烂在自己心里,要么问别同学问的一知半解,最终不会的问题积累起来,到了期末就很难处理这些问题了。
4.课后题老师建议大家提前做,我也这样认为,因为周三会考(对吧),最好可以将每道题都上机试一下,再思考一下这样的原因。但是没有答案怎么办呢?也不知道自己做的是对是错啊,这样还怎么改进怎么提高啊!为了解决同学们这个问题,我在百度上面搜到了书后课后题的答案。
ヽ(✿゚▽゚)ノヽ(✿゚▽゚)ノヽ(✿゚▽゚)ノ就是‘http://www.docin.com/p-1396196367.html’记笔记
上课记笔记,下课好复习没错吧,所以我们在自学的时候不要忘了记笔记。这个笔记记什么,最好有以下的这些项目
- 1.软硬知识什么的常规题目
- 2.各类代码的用法和注意事项
- 3.方便自己理解的提示性语句
- 4.自己遇到的不会的问题
5.上次考试自己的错题以及自己编码时常犯的错误
把这些记下来以后方便自己复习和查找,最重要的是,小测验的时候你可以拿来抄,光明又正大,还不会被抓。建议笔记作的细一些,全一些,查找起来也方便。
总结性的话语
敲代码是必须的,但敲代码的时候不思考,只是为了凑数那就很悲哀了,我们有的同学的学习方法是先硬着头皮把代码敲完,再从头再看一遍书去理解自己敲的是什么,显然效率是相当低的,而且你敲代码的时候是痛苦的,自己一点也不快乐。这种学习方式算是沿袭了我们平日里学习其他科目的学习方式,好像就是老师在给你讲代码、你在记笔记一样,以不变应万变。老师那里资源很多,大家没必要没事就上去看浪费时间,说道底我们还是为了实用,那你就用到什么了,再去老师那里找资源。
希望同学们可以尝试一下我的方法,让你代码的学习过程从“哎呀这么多我得什么时候才能敲完”变成“只要读懂一个一个代码就好了嘛”,让学习更有目的性,你每时每刻都知道自己在干的是什么在学的是什么。生物总是对未知的事物充满恐惧,相信我,让未知的事物不再未知。ヾ( ̄▽ ̄)Bye~Bye~
资源很多,你却不会使用——以不变应万变才是自学Java的正确方法的更多相关文章
- 删RAC中间ASM和LISTENER
资源的正确方法
在我们的安装RAC什么时候.有时因各种错误加载错误ASM实例或LISTENER显示器,或增加CLUSTERWARE资源,但并没有真正的工作,例如: 如图所看到的,这里在2个节点分别创建过ASM1和AS ...
- Dynamics CRM2016 升级老版本号报“JavaScript Web 资源包括对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决的方法
今天在新的server上部署了CRM2016 on-premises,并将CRM2015的数据库拷贝过来准备附加后升级,但在升级过程中遇到了例如以下错误.向导检測到了我的JavaScript Web ...
- 《图解HTTP》读书笔记
目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...
- 《图解HTTP》读书笔记(转)
reference:https://www.cnblogs.com/edisonchou/p/6013450.html 目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<H ...
- python入门经典_好资源送不停
Python入门经典(2K超清_送书) https://study.163.com/course/courseMain.htm?courseId=1006183019&share=2& ...
- DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一
关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基 ...
- Android工程的编译过程
现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的每一步都做了什么,需要 ...
- c#面试题汇总
下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能“以不变应万变”.回答问题的时候能联系做过项目的例子是最好 ...
- .NET工程师面试宝典
.Net工程师面试笔试宝典 传智播客.Net培训班内部资料 这套面试笔试宝典是传智播客在多年的教学和学生就业指导过程中积累下来的宝贵资料,大部分来自于学员从面试现场带过来的真实笔试面试题,覆盖了主流的 ...
随机推荐
- Programming Assignment 3: Baseball Elimination
编程作业三 作业链接:Baseball Elimination & Checklist 我的代码:BaseballElimination.java 问题简介 这是一个最大流模型的实际应用问题: ...
- c++计算器后续(1)
自娱自乐: 大概是一直在说的代码规范,大概是玩一玩,以上. 代码规范: 参考原文:链接 相关节选: 4 程序的版式 4.4规则:较长的语句(>80字符)要分成多行书写. 4.5规则:不允许把多个 ...
- 关于UITableView 不能回调 tableView: cellForRowAtIndexPath的问题
做项目时始终遇到一个问题,tableview不能回调cellForRowAtIndexPath方法,导致cell不能显示. 在网上没找到合理的解决方案. 自己弄了一下,按照自己的推测解决了这个问题 首 ...
- CF712D Memory and Scores
题目分析 实际上两个人轮流取十分鸡肋,可以看作一个人取2t次. 考虑生成函数. 为了方便,我们对取的数向右偏移k位. 取2t次的生成函数为: \[ F(x)=(\sum_{i=0}^{2k}x_i)^ ...
- layui渲染form表单
有时ajax请求的数据返回时,页面已经加载了,此时就无法展示ajax加载的内容,如果要局部刷新表单,则加上如下代码: layui.use('form', function() { var form = ...
- Kali-linux使用Easy-Creds工具攻击无线网络
Easy-Creds是一个菜单式的破解工具.该工具允许用户打开一个无线网卡,并能实现一个无线接入点攻击平台.Easy-Creds可以创建一个欺骗访问点,并作为一个中间人攻击类型运行,进而分析用户的数据 ...
- 监听器中spring注入相关的问题
问题描述: 需求是要求在项目启动自动触发一个service中的线程的操作,使用监听器来实现,但是自定义监听器中spring注解service失败,通过WebApplicationContextUtil ...
- HDU 1233 还是畅通工程(Kruskal算法)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1233 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) ...
- Reading Software Defined Traffic Measurement with OpenSketch
NSDI '13 概要 OpenSketch是一个通用的.抽象的测量框架, 与SDN 网络架构类似, OpenSketch 提出将测量控制层和数据层解耦. 数据层运行设为可动态配置的3阶段流水线, 首 ...
- Gradle Goodness: Add Incremental Build Support to Custom Tasks with Annotations
In a previous post we learned how we can use the inputs and outputs properties to set properties or ...