微信公众号【程序员江湖】java
做者黄小斜,斜杠青年,某985硕士,阿里研发工程师,于2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer程序员
我的擅长领域 :自学编程、技术校园招聘、软件工程考研(关注公众号后回复”资料“便可领取 3T 免费技术学习资源)数据库
Java工程师学习指南编程
入门篇后端
最近有不少小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。本来我觉得以前的几篇文章已经能够解决你们的问题了,其实否则,由于我以前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了不少小白们的感觉,而不少朋友都须要更加基础,更加详细的学习路线。api
因此,今天咱们从新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇),笔者也打算趁此机会,回忆一下本身的Java学习历程。今天咱们要讲的是,小白同窗如何入门Java。数组
先声明一点,文章内容不会详细到每一步怎么操做,只会提供大体的思路和方向,给你们以启发,若是真的要一步一步指导操做的话,那至少须要一本书的厚度啦。微信
本文所述的方法不必定适合全部人,若有错误敬请谅解。网络
01多线程
前期准备工做
这一步咱们每每会直接跳过,但既然是面向小白的教程,这里就提一下吧。首先你须要一台电脑,而后安装好JDK和JRE,JDK提供的是Java开发工具,也就是一些必备的jar包,JRE则是Java的运行环境组件,咱们熟悉的JVM就在这里面。
安装好这两个东东以后,通常还要配置一下环境变量,不然有一些目录可能没法被正确找到。
IDE指的就是本地开发编辑器,没有了它,你就只能直接在记事本这类工具里敲代码了。IDE最大的好处就是整合了大量的工具和功能模块,让你很是轻松地完成开发。
之前你们都用eclipse,不过eclipse已经不流行了,如今我推荐你直接用intellij idea做为你的第一个代码编辑器。若是是用过eclipse的同窗,基本上也能够无痛切换。
intellij idea能够直接在官网上下载,试用版30天,若是想要永久使用,网上也有一些办法滴。
jar包是什么,其实就是将一堆class格式文件打包,Java中把它称为jar包,这些jar包在编译器中能被直接识别,让开发者使用。
对于新手来讲,可能只须要用到JDK自带的一些API,可是若是你要引用外部jar包,可能就会遇到一些困难了。对于idea来讲,导入外部jar包有两种办法,一种是手动导入jar包,一种是使用maven。后者会在Java Web相关的文章中讲起。
手动导入jar包其实也不难,你须要先下载好jar包,而后在对应的项目下选择导入jar包便可,具体的方法这里就不展开说了,由于在网上都找获得。
02
学习Java基础的几种方法
学习一门语言,最开始要作的事情就是学习它的语法。我最先学习Java语法是在Runoob,这个网站可让你对任意一门语言完成最快速的语法入门,固然,这只是至关于你浏览了一遍基础语法。
想要真正掌握Java语言基础,光看基础语法还远远不够,我在大三第一次接触Java课程,听老师讲面向对象三大特征听得一头雾水,连数组的初始化方式都理不清楚,但这些内容都是咱们须要掌握的。因此,为了学好Java基础,咱们还须要看视频或者看书进行学习。
视频的话,能够到极客学院或者慕课网听Java基础课程,固然也能够看我分享的Java视频课程。你们也都知道,如今Java的培训班很是多,基本上学的东西也都大同小异,不过它们的有些课程还不错,你们有渠道的话也能够去看一看。
看视频的好处是你能够更好地接收知识,同时也会耗费你更多实践,因此,有时候你也能够选择看书。
看书的话,对于小白来讲不推荐太复杂的书,好比《Java编程思想》这种书,新手千万不要看。我我的建议,你只须要先看看《Java入门到精通》这种类型的书就足够了,由于这个部分的学习只是为你后面的学习开个头,你之后可能还要回过头来从新研究这些内容。
如今市面上介绍Java基础的书籍实在太多了,质量良莠不齐,内容同质化严重,笔者看过的其实也很少。给你们一个建议,你只须要挑一两本书来看便可,这里推荐两本最简单的吧,《head first java》和《Java从入门到精通》。
这里再推荐另外一种学习方式,就是看博客,博客比起书籍来讲,更适合对于某个技术点的学习,你能够很容易地在网上找到这个知识点相关的原理,实现方法,以及代码范例。
个人博客里没有讲解特别基础的东西,若是你看一些比较基础的文章,能够到Runoob等网站上查看。若是你有一个很明确的知识点想要学习,相信搜搜引擎会给你更好的答案。
除此以外,通常的Java书籍或者视频课程都会要求你相应完成一些练习题,这部份内容你须要本身在电脑里使用IDE完成。
在IDE里,你能够很好地熟悉Java语言的使用,基本代码的实现,同时能够尝试各类各样的API,而且测试一些语言特性,好比继承,封装,多态等等。
另外,这也是你熟悉IDE的一个好机会,由于在公司里作开发可能要用到IDE各类各样的功能,提早熟悉好IDE绝对是有益无害的。
03
Java入门必备知识点梳理
在Java入门阶段,你可能须要接触到如下这部分知识,无论你是从经过哪一种方式学习,这些内容都是你学习Java基础时绕不过的重点。
这部份内容是你必需要掌握的内容,在入门阶段你须要把这些基础打扎实,以便于在学习后面的内容时能够更上一层楼。
如何把基础打扎实呢,最好的办法就是在IDE上把书上或者视频上的每一个例子都实现一遍,固然有的时候你也能够本身写一些有意思的例子。
1 基本数据类型
好比int,double,char,以及其包装类。
熟悉基本数据类型的使用,了解每种类型所占的字节数,以及它们和包装类之间的相互转换。
2 流程控制
好比for循环,if else,while循环等等
若是是学过c语言的同窗,这部分能够跳过了。
3 字符串类型String的使用
字符串类型是Java中很重要的类型,它不是基本数据类型,但却很经常使用,熟悉和实践String相关的api,开始你对字符串的学习吧。
4 数组
数组的初始化方式有哪些,二维数组应该怎么写,把数组当成方法参数又该怎么处理?
5 类和对象
Java中最重要的两个概念:类和对象,它们有什么用呢,有什么区别和联系呢,请在代码中实践它们吧。
对于这部份内容,我相信不少小白只能了解它们的基本使用方法,可是并不明白其背后的一些原理:好比为何接口和抽象类有这些区别,多态的意义是什么,为何要有反射。
新手在学习这部份内容时,只须要知道怎么用就能够了。固然,你最好把这些特性都实现一遍,以加深印象。
至于为何有这些特性,这些特性背后的原理是什么,不是咱们如今讨论的内容,这些内容咱们将在初级和中级篇中讲述。由于,要了解这些原理,你得了解JVM,了解并发技术的基础,了解网络基础,甚至更多。显然,这不是你如今能作到的。
1 接口和抽象类
写一些接口,同时写一些实现类去实现这些接口,而且了解一下为何咱们须要接口,为何子类须要实现接口里的方法。
同理,去实现一些抽象类吧。而后,看看它和接口有什么不一样。
2 继承,封装和多态
如何理解继承,子类和父类之间有什么联系呢。
封装是一种保护代码的方式,有哪些方式能够实现封装呢。
多态通常分为重载和重写,它们分别怎么使用?
3 异常处理
Java中的异常处理主要用于捕获和处理错误,请你写一些try catch代码块去捕获错误吧。
4 集合类
集合类是咱们常常须要打交道的东西,List,Map,Set等等,赶快去熟悉API,而后写一些测试例子吧。
5 IO输入流和输出流
IO输入流和输出流能够操做文件,网络数据等内容,如何在Java代码中完成这么复杂的操做呢,其实只须要简单的几个api就能够了。
6 多线程
为了让系统资源最合理地分配和调度,咱们须要多线程,多线程会让程序变得有趣,也会带来不少问题,使用Thread和相关API,去尝试这些有趣的事情吧。
可选内容:
1 反射(了解便可,不是入门必须)
2 枚举类型和泛型(了解便可,不是入门必须)
3 网络通讯(了解基本的socket使用便可,须要网络基础)
4 数据库操做(了解基本的JDBC便可,须要数据库基础)
04
总结
1 首先搭建好Java开发环境
2 经过Runoob等一些网站熟悉Java的基本语法
3 经过看书看视频等方式熟悉Java基础知识,经过代码实践加深理解
4 经过看书看视频等方式初步了解Java核心技术,经过代码实践加深理解。
本文主要是为你们提供一个学习的思路,以及推荐一些学习方法,若是你可以按照这样的步骤去学习,而且配合上一些适合你本身的学习方法来完成学习计划,相信你能够很好地完成对Java的入门。
笔者在今年秋招中成功拿到BAT头条网易等大厂的研发offer,期间总结了不少经验和技巧,我把它们写成文字,作成专题,发表在公众号上,但愿让更多有须要的朋友看到。
关注公众号后,能够在后台回复“Java”便可领取精品Java学习资源(不断更新中),学习资源包括基础,实战以及求职等内容。
一、后台回复“少侠”,能够获取个人微信,有什么问题都能聊。
二、若是你想要加入微信交流群,那么能够在后台回复“江湖”。
三、若是你想要到个人技术博客看更多的Java后端技术文章,请回复“练级”。