资源很多,你却不会使用——以不变应万变才是自学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培训班内部资料 这套面试笔试宝典是传智播客在多年的教学和学生就业指导过程中积累下来的宝贵资料,大部分来自于学员从面试现场带过来的真实笔试面试题,覆盖了主流的 ...
随机推荐
- css3动画相关笔记
1.$(".aa").delay(2500).animate({width:0}); // 延迟 2.setTimeout(function(){ --> css3 anim ...
- 【[IOI2005]Riv 河流】
趁魏佬去英语演讲了,赶快%%%%%%%%%%%%%%魏佬 基本上是照着魏佬的代码写的 这其实还是一个树上背包 我们用\(dp[i][j][k]\)表示在以\(i\)为根的子树里,我们修建\(k\)个伐 ...
- C/C++——new/delete和malloc/free的区别
new/delete和malloc/free的区别 扩容操作: 对于malloc是有一个realloc函数对应用于扩容的: 对于new,只能再new一个,for循环赋值过去,把原来的delete掉: ...
- 【JavaScript】插件参数的写法
就是实现复制的一个过程 (function() { var Explode = function(container, params) { 'use strict'; var n = this; if ...
- ServletContextListener在Springboot中的使用
ServletContextListener是servlet容器中的一个API接口, 它用来监听ServletContext的生命周期,也就是相当于用来监听Web应用的生命周期.今天我们就来说说如何在 ...
- 码农视角 - Angular 框架起步
开发环境 1.npm 安装最新的Nodejs,便包含此工具.类似Nuget一样的东西,不过与Nuget不同的是,这玩意完全是命令行的.然后用npm来安装开发环境,也就是下边的angular cli. ...
- mysql 全量备份与增量备份
全量备份[root@master adm]# cat DBfullBak.sh #!/bin/bash #use mysqldump to fully backup mysql data BakDir ...
- Java I/O系列(一)InputStream与OutputStream源码分析及理解
1. InputStream 定义 字节输入流,是一个抽象类,核心是通过read()方法,从数据源中读取一个个字节出来,另有skip,mark功能 核心源码理解 源码: public abstract ...
- Kubernetes(一)--简介
一.什么是kubernetes(K8s)? Kubernetes作为容器编排生态圈中重要一员,是Google大规模容器管理系统borg的开源版本实现,吸收借鉴了google过去十年间在生产环境上所学到 ...
- java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml'
java.lang.IllegalStateException: Failed to load property source from location 'classpath:/applicatio ...