初学者怎么学习java?

咱们先解决认识问题

1、学JAVA的过程及特点

我们研究一下那些985学校的学生,他们是怎么学会JAVA的,有知友马上会说,我去!是的,985很多学生志向高远,学JAVA只是他们一个小小的任务,但对我们大家来说,学JAVA是一个重要的任务,是解决体面工作、找到更好前途的重要任务,我们研究他们是如何学会JAVA,是研究规律性的东东,或者真的对大家有帮助。

一般这些985学校的老师都会有项目,然后博士当项目经理,硕士当组长,本科生当码工,码工很缺,假若是你就是985学生,而且你也想学JAVA,所以你就参加了,除了会点C,还有一点点JAVA基础,你就开始了。

你不知道怎么做,然后有个会JAVA的硕士生,或者本科生过来告诉你,你先看这本书,也不用全看,先看这部分,不明白的地方问他,然后经过这么努力一段时间,那人会告诉你,要不你看看项目的部分代码,试着敲敲,你就敲啊敲,不懂就问,然后你感觉差不多的,向那人要任务,结果人家是给了任务,但不是正式项目,作为测试作的任务,然后你又开始苦干了,当然在此期间出现了很多问题,但总有人会帮忙来解决,最后任务完成,组长说你可以了,可以加入项目承担任务了,就这么简单。

现在我们来分析一下这个过程,第一要有合理的学习路径,先学什么后学什么,得有人告知,第二,得有个人来帮你解决各种问题,第三,得有一批人和你一起干,第四,要敲代码,第五,得有紧迫感得坚持,他们的任务等着你呢,明白了吧,不是人家聪明,是人家有这个学习环境,所以不要妄自菲薄。

说过985学校学生,大家认为自己垃圾学校的,这种方法没法拿过来用,那么我们来看看培训机构的学生是怎么学会的,他们更多的也是垃圾学校的学生,甚至更差,还不如你,在他们学习过程中:

第一,他们的学习路径是机构设置好的;

第二,他们有老师帮他们解决各种问题;

第三,有一批志同道合的同学,相互鼓励前进;

第四,敲代码;

第五,培训有合理的期限,机构老师会督促大家坚持。

两者的区别,前者知识是自学的,看书看视频,后者,知识是老师教的,作为一个普通大学生实际上也能自学,只不过聪明程度和坚持的不同,学得时间长一点短一点而已,所以学习过程类似。

上面两个例子说明,学JAVA不要特别的智商,可以说,只是指导思想、学习环境和学习方法对路,只要不是弱智,大家都学得会,别去听有些人的瞎BB,我见过智商真的不怎么的人学会JAVA,相信自己很重要,我们又不想成为乔布斯、比尔盖茨,我们只是想学会JAVA有份体面的工作、有份体面的收入而已,至于以后成为什么样的,以后有的时间认识自己,别去相信什么程序员是野生的,没有野生的,他们也是在大学学习过的,也是家养的,是人类就没野生的,除非他们是非人类。

好,我们来分析一般JAVA自学者的状况,学习路径就是个问题,网上这找找那找找,这个说这个知识是必须的,那个说那个知识是以后的发展方向…..,然后我们就这个看看学学,那个看看学学,学不深,蜻蜓点水,结果一事无成。

我们碰到问题不知道去问谁,我们经常是孤独的学习者。

我们无法坚持学习计划,三天学一点,第四第五天就去弄别的事情去了,毕竟学习是个苦差事,学JAVA更是苦,所以要放松一下,结果很多人就不回来学了,回来学的又得从头开始了。

我们学习基本不敲代码,只是学知识,从小校到大学,学校都是这么教的,也不知道敲什么、怎么敲,敲不下去不知道找谁解决。

小贴士1:JAVA名字的由来

我们见到JAVA标志是一杯热咖啡,Java的名字是由何而来呢,JAVA前身叫Oak(橡树),在对Oak改进以后,需要一个新名字,据说有一天,几位Java创始人成员正在讨论给这个新的语言取什么名字,当时他们正喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,橡树变咖啡,Java这个名字就这样传开了。随后Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。

从去年到现在,我根据市场技术栈的需求,录制了一套最新的Java精讲视频教程,如果大家在入门学习Java的过程当中缺乏系统的学习教程,大家可以加下我的Java学习交流群:494801931,群文件还有我这几年整理的学习手册,面试题,开发工具,PDF文档教程,欢迎大家的加入和前来下载。

2、如何认识敲代码的重要性?

说到敲代码,我们必须着重说明一下,我们从小到到,老师传授我们的是知识(knowlegde),不是技能(skill),所以我们擅长的是学知识而不是技能,我们总用学知识的方法学编程,而编程是一个知识加技能的活,学技能必须练、必须实践,比如修钟表,比如踢足球、打篮球,光靠看看书、看看视频解决不了问题。

卖油翁的故事大家都学过,”我亦无他,唯手熟尔。”,所以学编程必须去敲代码、去实践,举个大家最熟悉的例子,英语,也是技能+知识,大家从小到大学了十多年,结果还是不会听、不会说,但如果把你放到说英语的国家几个月,你至少会听一点、说一点了。大学只会传授知识,不会传授技能,所以学不好英语,当然更不用说学编程了,英语大家慢慢明白了是什么原因学不好,编程学不好,大家不明白其中的原因,所以一般大学的计算机专业学生学到三年级的时候,发觉自己学不好编程,从自身找原因,认为自己不是这块料,这就尴尬了,学计算机专业的结果是搞明白了自己不是这块料,那人家培训机构怎么就让人学会了呢,悲哀啊。

说到了敲代码,马上就面临一个问题,错误。

3、如何认识在敲代码中遇到的错误呢?

有的初学者在运行程序之前恨不得烧柱香,祈祷程序运行不会出错。要明确一点,碰到错误不可怕,也不可避免,但是见的错误越多,那么说明你学的越快,这是好事,错误见多了,以后就不会再犯这种错误了,当然前提是你得找到出错的原因。

那么怎样才是解决问题的正确方式呢?碰到程序出错,首先要想着自己去解决,明确程序出了什么错误,找到程序出错的地方,比如哪一行或者哪个方法。然后理一下自己的思路,仔细想想哪里有什么遗忘的地方,按照程序执行的顺序,依次往下找,多找几遍。

但是,记住,如果超过一段时间(你自己可以设置一个时间,比如15分钟),你找不出解决方法,就不要找了,尽快找人帮助解决,毕竟学JAVA的碰到的问题太多了,花大把大把时间解决个别问题,你耗不起,这样学习效率过低了,会严重影响学习信心,当然别人帮你解决了问题,你就一定要问清楚为什么会出现这个问题,否则这 个敲代码效果就不一定好了。

这里又要纠正一种认识,从小到大,学校里老师告诉我们,题目要自己做,这样记得牢,所以绝大多数的我们,都是这样过来的,在学JAVA的时候也是这样学的,但是你学JAVA的碰到的问题太多了,都自己思考出结果来,恐怕对大多数人来说太费时间,今天几个问题没解决,明天几个问题没解决,一周后,你有多少问题没解决啊,这些都是你前进的包袱,对你学JAVA的信心来说,是一个致命的打击,所以牢记:一段时间想不明白就求助别人,扔掉包袱、轻装前进才是最重要的

4、如何让学习不是很痛苦,更easy点

别碰《JAVA编程思想》,呵呵了;

  1. 别把学习计划制定得太宏大,太紧凑,要有适当的长期打算,不要恨不得一天就把它学会了,但是学着学着就像霜打的茄子,焉了。
  2. 不要听到什么好去学什么,开始时别去想struts2,spring,mybatis这些高大上的框架,只要基础打扎实,学这些不难,IDE只要选一个弄明白就可以,不要多。
  3. 开始别玩Oracle,就玩MySQL,玩得差不多再玩Oracle很容易,开始也别用linux,就用windows,就是什么简单就用什么,别自己给自己制造麻烦,简单的学好了,复杂点学学很方便,高精尖的东西对于初学者来说,都是包袱,不是什么利器,是有毒的苹果。
  4. 不要就是碰到什么问题,都希望把问题弄的很透彻,因为有些东西不是你现阶段能够彻底理解的,这就类似与你跟一个四五岁的小朋友解释成年人之间的事,解释了半天发现他还是不懂,于是你会说:等你长大了也就明白了,知识是成体系的,后面的没学,前面的不容易理解,等你后面的学好,发现前面的很好理解。
  5. 尽快敲代码,是在基本理解例子的基础上,自己从头到尾敲一遍,不要把学过的知识点扔的太久之后才去敲,记住:聪明人可以在彻底理解的基础上开始敲代码,对于普通人,基本理解以后就可以开始敲代码,有很多时候,你想破头都不明白的问题,敲一下就立即明白。在敲完以后,这个时候要好好理解,就是把完全理解的任务后置,这会让学习更轻松。
  6. 找几个有共同兴趣的人组成JAVA学习小组,或者几个好的QQ的JAVA学习群,互想帮助,互相鼓励。总之,前面一大段都是想说,不要把问题搞得太复杂,怎么简单怎么来,别自找麻烦,否则你学会JAVA的可能性就越小。

总之,前面一大段都是想说,不要把问题搞得太复杂,怎么简单怎么来,别自找麻烦,否则你学会JAVA的可能性就越小。

小贴士2:J2EE名字的由来
这里的“2”,不是B2B,P2P中的“to”意思,它就是Two的意思,实际上Java在1995年刚推广的时候,只能说取得了一定的成功,我们称之为Java1,当时面临很多问题,在1998年,Sun公司对Java进行了革命性的改进,同时为区别Java 1,推出了Java 2平台,包括J2SE,J2EE,J2ME,其中J2EE极好地适应了互联网发展的需要,IBM等大型公司出于对抗当时如日中天的微软也加入到Java阵营,所以J2EE取得了极大的成功,从此J2EE的名字比Sun公司名字还响亮,大家一直叫J2EE,就是Sun公司在2005年把J2EE改成Java EE,大家还是叫J2EE,可惜Sun公司现在被Oracle公司收购了,不存在了。

解决了认识问题,接下来就是学习方法等技术问题了

1、学习教材选择
推荐《JAVA核心技术》,想多看点代码多练习可以找《java开发实战经典》
关于《JAVA编程思想》Thinking in Java,是本好书,有学JAVA圣经之说。

关于《JAVA编程思想》Thinking in Java,是本好书,有学JAVA圣经之说。
但是这本书对JAVA有基本功的人来说不错,学习此书可以对JAVA有一个比较深刻的理解,但对于初学者(除非脑子特好使)是个毒药,过于抽象,真不太好懂,所以不建议初学者使用。

但是这本书对JAVA有基本功的人来说不错,学习此书可以对JAVA有一个比较深刻的理解,但对于初学者(除非脑子特好使)是个毒药,过于抽象,真不太好懂,所以不建议初学者使用。


2、JAVA学习视频

马士兵JAVA视频、毕向东JAVA视频,关于视频,必须说明一下:
第一,最好看一个人的视频,因为每个老师的思维方式不一样。
第二,看视频是一个相当低效的学习方法,能不看就不要看,实际上看视频慢慢就落入学习知识而忽视技能练习的状态,开始去努力记知识点,不去敲代码, 这样是走不下去的,看视频时,一定要记得敲代码。

3、JAVA学习网址
查找代码的网址:国外的,我们也牛皮一下
http://sourceforge.net
http://github.com
很遗憾,都是英文的,

国内的估计这两个链接基本解决了学习资料问题
51CTO,还有CSDN、博客园、开源中国和pudn这几个网站都不错。

关于学习JAVA的网站,先说明一下:
stackoverflow
一个IT的问答网站
很多人推荐不懂去stackoverflow,英语好的真不错,但是你看一下吧

对于广大英语不好的人来说,这就想当尴尬了。

如果你能为了解决JAVA问题,达到废寝忘食的地步,至少睡下去以后还在思考JAVA问题,那么恭喜你,你已进入状态,成功就在不远处。

小贴士3:安卓为什么要用Java来改造

大家知道安卓是google公司在Java的基础上改造而来的,现在Google和Oracle公司还在打官司,那么为什么安卓要选Java呢,这得回到Java的起源了,大家知道Java当初叫Oak,Oak语言当初真正的目的是为了解决消费电子产品(电视机顶盒、面包烤箱、移动电话)的智能化,由于没有市场需求,Sun公司才拼命让其适应互联网的发展,你瞧,30年以前这些人已经想到并为此设计出语言了,所以Java从开始就非常适合嵌入式设备、移动设备,Java就是为它们量身定制的。只是过于超前,市场没有这种需求,所以现在市场出现需求以后,Java的优点就立即被发现,同时也为Java创造出另外一片天地。

本来应该有个JAVA学习路径,但是这个网上到处都有,各位答主也给出了详细的说法,路径基本上都一样,所以不再详细阐述了,大家网上搜一下就可以了。

原文地址:https://www.cnblogs.com/zhanlaoshi/p/10861848.html

时间: 2024-08-02 20:15:50

初学者怎么学习java?的相关文章

和初学者交流学习java语言一些体会。

对初学者,自己学习java语言的一些体会: 1.工欲善其事,必先利其器.先把Java学习工具准备好,包括集成开发环境IDE,自己觉得MyEclipse比较适合,还有数据库,Oracle或MySQL,SqlServer,自己觉得这三种比较主流,最好在电脑上都要安装.如果觉得会影响电脑运行速度,可以在电脑桌面设置三种数据库的启动和关闭的快捷方式,比如run.bat ,里面可以封装数据库启动的代码.需要使用哪个数据库,就启动哪个,不用的数据库,可以关闭.数据库启动图形界面也要安装好,便于操作数据库.

初学者怎么学java

随着 "互联网+"新经济模式不断地深入发展,IT行业中的软件开发行业也是欣欣向荣,特别是java在当下是最受欢迎的软件开发工具,在生活中被运用到各个领域,霸占着各大编程语言的榜首. 越来越多的零基础朋友开始关注java,并且开始学习java.但是对于初学者来说,java并不是那么好学的,冰冻三尺非一日之寒,java知识的学习也是这样心急吃不得热豆腐,那么初学者怎么学java呢? 初学者怎么学java? 1. 弄清java概念 Java作为目前最受欢迎的编程语言,自面市至今已经有20多年

一位资深程序员大牛给予Java初学者的学习建议(转)

一位资深程序员大牛给予Java初学者的学习建议 这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容, 同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点. 1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线, 非Java Web和Java后

转载:一位资深程序员大牛给予Java初学者的学习路线建议

一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和J

一位资深程序员大牛给予Java初学者的学习路线建议(转)

java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照

一位资深程序员大牛给予Java初学者的学习建议

这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点. 1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬. 2

【java基础知识总结】-特别针对零基础学习JAVA的初学者

JAVA基础知识总结,对于大多数想要学习JAVA编程语言的人员来说或者对于那些已经在学习路上的新手来说,掌握以下的JAVA基础知识,或许将更有利于你快速掌握好这门语言.以下是本人对JAVA基础知识做了一下小结,如有纰漏,还望大家不吝赐教. 1.对象的初始化 (1)非静态对象的初始化 在创建对象时,对象所在类的所有数据成员会首先进行初始化. 基本类型:int型,初始化为0. 如果为对象:这些对象会按顺序初始化. ※在所有类成员初始化完成之后,才调用本类的构造方法创建对象. 构造方法的作用就是初始化

给予Java初学者的学习路线建议

va学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬.2

(转载)一位资深程序员大牛给予Java初学者的学习建议

这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容, 同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点. 1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线, 非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬.