如何零基础能自学Java

如何零基础能自学Java

给你推荐一个写得非常用心的Java基础教程:



这个教程将Java的入门基础知识贯穿在一个实例中,逐步深入,可以帮助你快速进入Java编程的世界。万事开头难,逐步跟着这个教程走一遍,对Java应该就会有一种入门的感觉了。然后再去学习更高级的主题,或者更深入地学习其中的某些知识点。


第1课 Java开发环境安装与配置

第2课 Eclipse的安装与使用

第3课 第一个Java程序

第4课 面向对象基础

第5课 基本数据类型

第6课 运算符

第7课 字符串操作

第8课 程序的控制流

第9课 静态变量与静态方法

第10课 Java集合

第11课 封装与继承

第12课 抽象类与接口

第13课 异常处理

第14课 综合实例修改


入门之后,可以考虑以下学习内容和路径:


1、学习的基本路径


首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发,首先就是要把这个环境准备好,之后就可以去做各种尝试,尝试过程中就能逐渐建立信心。初学者往往在环境配置中被各种预想不到的问题弄得很沮丧。


建立起来环境了,改变世界就靠你的代码了。学习一门编程语言没有太多的诀窍,你可能可以去找一本比较好的经典的入门书籍,现在网络上也有非常多的资料,图文或者视频都可以,根据个人喜好选择。最重要的练习,熟能生巧,在不断的练习中去加深自己对程序语言的理解。


接下来你需要了解这三个术语,叫SDK、API跟Lib,分别表示软件开发套件,应用编程接口和库。这三者之间其实有一定的联系,或者是交叉。总体来说,它们都是给我们提供的一些封装了底层功能的基础设施。做Java开发的话,这些东西通常体现为我们所经常说的“框架”。事实上要成为一个资深的Java开发者,对各种API和框架的学习,可能是花时间最多的一个地方。


当然你也不可能把所有API或者SDK种的所有内容完全弄懂。在软件开发中也有二八原则,少数的API能够胜任开发中的大部分场景。所以你只需要掌握这些关键部分,当在新场景下遇到不能解决的新问题时,再去查看帮助文档。所以帮助文档的阅读也是技术学习的一个关键因素。了解了基础原理之后一般就能上手开发了,帮助文档可以帮助你在实践中学习。


2、三个神器

三个神器,对于软件开发者来说非常重要。

第一个Google,虽然因为各种原因的话有时候我们访问不了,但是这基本上是可以去寻找技术资料最好的方式。

第二个是Github,之前提到过库的概念,Github就是一个可以找到大量第三方库的地方,那是别人给我们封装好的可以复用的代码。比方说造一辆汽车的话,我们经常不要自己造轮子,而Github上可以找到很多优质的轮子,这些轮子还是免费(代码都是开源的),我们应该尽量利用它们来拼装自己的汽车。

第三个是StackOverflow网站,在这个问答网站上你遇到的几乎任何开发问题都能快速找到答案。



3、Java Web全栈开发的推荐学习内容



简单总结一下,大概包括下面这些内容。每一部分都可以细化成很多知识点,这只是一个粗略的罗列。把它当做技术地图就好了。

开发环境的建立与项目管理:Eclipse、Maven和Git

Java编程基础:基本语法、面向对象特性、Java8新特性、更高级库(比如Guava)的使用等

前端开发技术:HTML、CSS、Bootstrap和JavaScript基础

Spring基础:依赖注入IoC、面向切面编程AOP、SpringBoot

MVC框架:Spring MVC、Struts等,包括URL路由、模板、表单、Session、拦截器等知识

数据访问:关系型数据库、JDBC、Spring JDBC、事务、ORM框架(MyBatis,Hibernate、JPA)

成熟应用的关键功能实现:邮件发送、异步任务、缓存、日志等

应用的测试和部署


4、JSP/Servlet的相关内容


最后专门提一下JSP和Servlet,虽然现在各种成熟的MVC框架已经让Java Web开发基本很少使用JSP和Servlet的原生功能了,基本都做了一层封装。但是这部分基础知识建议初学者还是要认真学习。


Web基础,HTTP协议

C/S模型,浏览器访问网站过程

URL基础知识

HTTP消息——请求和响应

处理HTTP请求的应用程序

Servlet/JSP简介

Servlet

Servlet容器,Servlet处理机制,Servlet生命周期

部署Servlet

ServletContext, ServletConfig

Filter, Event Listener

JSP

表达式,scriptlet, declaration

在JSP中访问Java类

JSP内置对象

处理用户输入

HTTP方法——GET v.s. POST

读取表单数据

构建MVC应用

Servlets/JSP存在的问题

MVC设计模式

使用RequestDispatcher

在Servlets和JSP中传递数据,EL表达式

使用JSTL作为模板

JSP Tag Lib

Core Tag(if, loop)

Function Tag(string, fmt, utils)

Session

Session&&Cookie基本概念

通过Cookie记录用户状态

使用Session跟踪用户


这部分内容,可以看看这个JSP/Servlet课程:


第1课 Java Web开发需要学习什么?

第2课 JSP与Servlet:Servlet简介

第3课 JSP与Servlet:JSP简介

第4课 JSP与Servlet:第一个JSP页面

第5课 JSP与Servlet:JSP表单处理

第6课 JSP与Servlet:MVC设计模式

第7课 JSP与Servlet:使用JSTL

第8课 JSP与Servlet:JSP指令与动作

第9课 JSP与Servlet:JSP表单输入控件

第10课 JSP与Servlet:博客用户注册表单处理

第11课 JSP与Servlet:通过Cookie与Session管理用户状态

第12课 JSP与Servlet:通过Filter拦截请求保护页面安全

第13课 JSP与Servlet:页面重定向


5、更进一步


分布式、深入Java虚拟机、针对不同场景的Java技术框架,到这个阶段已经不仅仅是Java的学习了,而是大型应用场景的技术积累、架构设计的精进了。


如果希望学习Spring MVC,下面是一个精心制作的课程,非常值得一学:


第1课 创建Spring Boot项目

第2课 URL路由:@Controller和@RequestMapping

第3课 @PathVariable

第4课 @RequestParam

第5课 模板渲染

第6课 分页处理

第7课 表单提交

第8课 表单验证

第9课 Flash Attribute

第10课 拦截器Interceptor

第11课 处理PUT和DELETE请求

第12课 文件上传

第13课 异常处理

第14课 @ResponseBody与@RequestBody

问一问自己是不是应该努力学,

既然下定决心学习了那么就勇往直前,

别被任何动摇了自己的心!

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-20
java学习的话非常难,首先因为java需要学习的知识点很多,而且很难,除非你找到自学的方法,不然,零基础自学java是非常难的。
………………………………………………………………………………………………
关于如何学习java,我刚才看到一篇很不错的文章,是一个农民工介绍自己如何自学java,并找到Java的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
我是一名地地道道的农民工,生活在经济落后的农村,有一个哥哥和一个弟弟,父母都是地道的农民,日出而作,日落而息,我从小到大学习一直很好,从小学到高一都,成绩在全级一直名列前茅,这样我也顺利了考上省的重点高中,然而,每个学期开学是家里最为难的时候,每次交学费都让父母发愁许久,家里为了给我筹钱读书,都借了不少钱,才让我读上高中。我知道我读到高中家里已经欠了好多债,为了减轻家里的负担,我选择了退学。
2009年我高一退学,为了给家里还债,干过建筑工地的小工,搞过塑料制品加工,送水工等等。很工资都很低,一个月也就1000多,加上加班费一个月能拿2000多一点,我每个月都向家里寄回800-1000元,到了2011年末,一次偶然的机会我接触了Java,听说Java的前景挺不错,工资相对于我一个农民工来说简直是天文数字,于是我在新华书店买了几本Java的书,尽管白天辛苦工作,晚上回来还是坚持看书,但有于基础太差很多都很不明白,但还是坚持看,一有看1-2个小时Java的书,看着看着许多基础都慢慢的学会了,但那些比较难的还是看不懂,后来还买了有些关于框架的书,还是看不懂,这样断断续续的持续了半年多,觉得自己Java的基础都差不多懂了,但框架还是看不懂,还有最缺的项目经验,看了很多招聘Java程序员的简介都要项目经验,相对我一个农民工来连框架都弄不明白,想找一份Java工作对我来说简直是奢侈。我只想学Java,并不敢想以后能从事Java的工作。
有一次,在百度上看到一篇让我很鼓舞的文章,是一个Java高手介绍在没有基础的朋友怎么自学入门Java,文章写的很好,包含了如何学习,该怎么学习,他提到一个方法就是看视频,因为看书实在太枯燥和费解的,不少是我们也看不懂,这点我真的很认同,我自己看书都看了很久才学会基础。曾经有想过参加培训,但是上万元的培训费让我望而却步,我工资这么低,每个月还有向家里汇钱,加上城市消费比较高,虽然每个月只有几百剩下,但是相对于上万万学费和四个月的吃住费用逼我连想不敢想。 于是我决定看视频,我就去搜索Java的视频,虽然我零星的找到一些Java的视频,但是都不系统。最重要连项目都没有。后来我找到一份很好的视频,是IT学习联盟这个网站一套视频叫<<零基础Java就业班>>(喜欢《零基础Java就业班》的可以复制 t.cn/8sx5z6L 粘贴浏览器地址栏按回车键即打开)的教程还不错,很完整。还赠送11个顶级企业项目。价格很合理,于是我买下来。
于是开始了我的自学Java的路,收到光盘后,我就开始学习,刚开始学习还不错,是从零基础教起,老师幽默风趣而又轻松的课堂教课,使我发现原来学习JAVA并不是一件很难的事情。因为我本来基础还不错,前面的基础看一篇我就过去了,到了框架,我觉不又不是很难,可能老师太牛了,他能把复杂的问题讲的比较通俗易懂,有些难点的地方我还是连续看了五六次,把他弄懂。每天下午6点下班后,吃了饭,马上跑回家。看视频,买了几本笔记本。当时,为了编程还花几百元了台二手的台式电脑,配置一般,但编程是足够的。一边看视频,一边记笔记,把重点都记下来,还一边跟着老师敲代码,为了能尽早学会Java。每天都坚持学5-6个小时。经常学到晚上一点多才睡觉。星期六,日不用上班,每天7点多起床,学到晚上11,12点。那段时间特别辛苦,特别累。在学习Java的三个多月里,除了吃饭睡觉工作,剩余的时间都在学习,因为我知道自己的计算机基础不是很好,也没有学过什么计算机,只是学了些Java基础,相对于那些科班的人来说我要比他们付出更多的努力。我只能咬紧牙关,坚持下去,我不能放弃,我要完成我的梦想,我要让我的家人过上好日子。终于三个多月后我把Java教程里的内容和项目都学完了,在学项目的过程中我发现项目特别重要,他能把你学过的知识全部联系起来,能更好的理解你所学的知识。还有学习过程中,动手很重要,要经常跟着老师动手敲,动手吧,跟着做,一行一行的跟着敲,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。 如果遇到暂时对于一些思路不能理解的,动手写,先写代码,慢慢你就会懂了。这套视频还赠送了11个顶级企业项目,对于我没有任何经验的人来说,这个太重要了,还有在学习项目是提升能力最快的方法。项目能把所有的知识点全都连到一起了,不再是分散的,而是形成一个整体了。那种感觉是仅仅深入钻研知识点而不写真实项目的人所不能体会的。一个项目就是一根绳子可以把大片的知识串到一起。 就这样,我用了两个月也把项目给学完了。其实学完教程差不错就达到就业水平,但是我可能觉得自己学历低还是把那11个顶级企业项目才去找工作。
接着我就到51job疯狂的投简历,因为我的学历问题,初中毕业,说真的,大公司没有人会要我。所以我头的都是民营的小公司,我希望自己的努力有所回报。没有想过几天后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比价严格,需要有一年的项目经验,所以我没有被选中。 后来陆续面试了几加公司,终于功夫不负有心人,我终于面试上了一家民营的企业。公司规模比较小,我的职务是Java程序员。我想我比较幸运,经理看中我的努力,就决定吕勇我,开的工资是3500一个月,虽然我知道在北京3500只能过温饱的生化,但是我想我足够了,比起以前的工资好了些,以后可以多寄些钱回家。我想只要我继续努力。我工资一定会翻倍的。 把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有自卑,我们不比别人笨,只有我们肯努力,我们一样会成功。

…………………………………………………………………………本回答被提问者和网友采纳
第2个回答  2014-07-26
先自己模仿着写一个简单的程序,抄也可以,只要能运行出正确结果,不懂没关系;然后学语法,学语法时一定要多实践,一些常用的方法必不可少,比如输出语句System.out.println(),先记住再说,学到后面自然会懂的。必不可少的工具:Java API
http://gceclub.sun.com.cn/Java_Docs/jdk6/JDK_API_1_6_zh_CN.CHM
这个在后期很有用。
建议数据结构先不要学,我们是先学了Java后学数据结构,并且要一点离散数学基础。
语法,说简单点就是一种规定,告诉你应该如何写代码。
第3个回答  2016-12-28
有一定的自学能力和自控能力,有一套完整的教程资料,熟练使用stackoverflower,segmentfault等站点解决技术性的问题,自学起来难度不会太大。
反之,自学能力和自控能力弱一些,容易受环境影响,还是报个培训班学习吧,身边的同学都在努力学习,也可以带动自己的学习热情。
关于Java学习,分阶段进行:1、看视频(零掌握),2、看书作为提高和补充(对Java编程有一定的掌握),3、看博客帖子(取长补短)。在整个的学习过程中要一直贯穿着代码练习,看代码和自己动手些代码是不一样的。自己动手实战,记忆更加深刻,效率更高。
第4个回答  2017-06-16

零基础新手如何学习Java,给初学者的建议

我只是聊一下学习路线吧,其他的学习方法,学习建议可以加群交流

第一:首先建议大家从HTML+CSS 静态布局还开始,有人说我是做后端的,前端的事情不用管,这本身就是一个误区,如今HTML5这么强大,你不会本身就不会有什么竞争力。

第二:JavaScript和jQuery的学习,不用说JavaScript无论在前端还是后端中都是占比非常大的,很多人学不懂也是情理之中,这个跟思维有关系,适当了解一下数据结构有利于学习JavaScript和javase。

第三:最重要的JAVASE,想必大家都清楚,JAVASE就是JAVA的基础部分,上过学的人都知道,任何一个试卷80%都是基础,没有太难的东西,JAVASE就是JAVA的基础,根据我这么多年学习java的经验来看,如果一个人学不好JAVASE,那JAVA基本就是白学,后面的框架基本就是听天书。对于学习方向,学习方法,可以随时问我,我的Java交流群634930465,就是希望不懂行的新手少走弯路。

第四:数据库,不用了说了,最常见的那三个数据库,增删改查,多去练习SQL语句吧,复杂的连接表示有难度的。

第五:JSP和servlet  就目前来看 有些公司现在不用JSP,因为他的加载速度有点慢。不过还是现在学着吧,毕竟在JAVA体系中也是非常重要的。

第六:框架,struts2,hibernate4,mybatis3,spring4,spring mvc,这些东西都要掌握,但是整个JAVA体现想要理解的还算可以确实有些难度,自己的话,基本没啥可能了。

相似回答