(转)2019年给Java编程初学者的建议(附学习大纲)
本文链接:https://blog.csdn.net/javajlb/article/details/85920904
1. 引言
这是一篇初学者干货,请耐心看完,希望对你有帮助
作为初学者的你,命中了以下问题吗?文末附答疑
张三丰:编程是什么,怎么编程?
张无忌:what,比土木工程好?
成昆:有相关的编程视频和书籍推荐吗?
杨逍:听说人工智能和大数据很火,学人工智能还是大数据好?
其实,以上很多问题,都是新手没接触编程时的疑问,我也不例外,在7年前,步步高音乐手机很流行,宋慧乔也还没结婚,我也刚刚接触Java编程,压根就不知道什么是编程,什么是软件…
但这都不重要,重要的是我们应该怎么样去学习,去培养自己的兴趣。有的同学说,老师,不是先有兴趣才适合学习吗,怎么还得先培养兴趣,我只能说,你连编程都不知道,何来的兴趣。但如果你知道软件,懂编程,并且喜欢打游戏,经常找游戏bug的同学,那已经有养兴趣了
2. 思考
作为初学者,最难的是入门吗?
对于入了门的同学都知道,肯定不是,最难的是在整个学习中你能够坚持接受枯燥的基础知识,记住里面的关键点并持续的不停学习,这里面有坚持,有自律,有自我鼓励,更有枯燥无味,甚至想打游戏,甚至想放弃…
持续学习,持续接收新事物并消化是作为技术人员必须要去做的,但这也是最困难的。对于尚未入门的同学也不要很心急,先短暂的接触,不要一股脑的全部投入上来,觉得自己合适再进入学习。
对于英语不好的同学不要着急,也不要害怕,英语这个可以慢慢来,对于基础入门,英语其实不需要太多知识,因为你只要将视频中所教的记住即可,更多的是需要逻辑思维,所以相信自己可以的。
3. 学习过程
假设你现在进门了,而且在看视频跟着老师学,但你发现在学习过程中,跟着视频,一个个字母的敲,好像都能跟上,好像都能学会,但实际是关上电脑,自己好像个二愣子,照着敲明明会的啊,现在怎么连main方法都写不出来。。。。
下面我来给大家分析一下,萌新应该要注意的问题
A. 注意点
也就是老师的教学大纲,应该有哪些大致的内容,以及方向,学这个阶段你的课程,最后能够做什么,知道能够做什么了之后,我们再来学习,你会发现,这些基础知识都是为最后需要做的那件事情准备的
最后做的是什么,做项目,你学这么多,无非是找到工作,找工作了之后就是做项目,不是让你进去讲if的用法,也不是让你去跟别人唠嗑
做为自学者,网上铺天盖地的视频资料,各种300集100集,足够让我们好好学好一阵子了,对的,这个确实没毛病,但是自学者有一个通病,没有养成学完之后对这个知识点进行3~5个练习题的习惯,你要知道,培训班中,他们上两节课,可能全天都在练习,自学者肯定做不到这种,而匆忙的进入下一个知识点,这也就是知识不扎实的原因。
当然,我并非说培训班很扎实,但毕竟交了钱的和没交钱的收货是不一样的,但还是取决于自己,大多是有氛围督促,而自学者,全靠自己,靠生活和对未来的期盼
如果本篇文章对你有帮助请百度关注下恒骊学堂,全套零基础体系化干货奉上
B. 学习路线图
下面我们来看大纲图,Java学习阶段分为5个阶段,任何速成都是忽略了很多知识点
青铜段位
这里,我先列出第一阶段,第一阶段建议不直接上手JavaSE课程,先做一些网页方面的知识,如下,大家可以先学习HTML+CSS,做一些静态小网页即可,暂时不需要学习JavaScript + JQuery

白银段位
下面我们来看第二阶段的内容,第二个阶段为JavaSE方向,java平台有3个分支,分别为
JavaSE 标准版,05年之前叫J2SE,是Java学习者必学阶段,也是最难的一个阶段
JavaME 微型版,05年之前叫J2ME,主要用于嵌入式设备开发,不用学习
JavaEE 企业版,05年之前叫J2EE,企业平台开发,对应了我下面所说的最后一个阶段

白银段位,我这里例举几个小游戏,皆为对战模式,非单机,可以在互联网上使用,而且远程对战
可以做:中国象棋,仿QQ聊天室,五子棋,打字游戏,仿QQ音乐
有些老手可能会有些疑问,Swing界面这个东西不是不用了吗,怎么还需要学,其实我觉得作为新手真的需要练习这些逻辑方向的,夯实基础,象棋中的逻辑很高深,能够让你学得更扎实,还能培养你的兴趣,那些说不用学Swing的同学,你可以试着做做小游戏


黄金段位
学完这阶段,至少3个月过去了,然后开始进入数据库阶段的内容,建议大家将MySQL作为基础进行学习。
我在一线互联网企业待了这么多年,我可以肯定的告诉你,企业中大多数用的是MySQL,目前MySQL的版本是8,如果不知道怎么学的同学,请看我的相关视频,学到的是本事,不扯淡,先给搭建看下技术大纲图

- 铂金段位
铂金段位主要学习JavaWeb知识,能够利用Servlet+JSP做出动态网页即可

- 王者段位
这个阶段主要学习JavaEE企业级框架,这些框架就是真正企业中使用的框架,所以一定的下功夫学好

总结
初学者做项目是很有难度的,因为其中不知道什么效果用什么知识,而网络上的视频大多是教些基础,没有很经典公开的实战项目,我认为在Java学习过程中到出来工作至少要做4个项目,如下
1、网页基础,静态网页项目,可以是官网,博客,论坛
2、Swing项目,例如中国象棋,网络聊天室,五子棋,打字游戏之类的,重点不是Swing而是里面的逻辑与对象代码
3、JavaWeb项目,主要使用Servlet+JSP,结合HTML、JavaSE、数据库实现动态网页
4、企业级JavaEE项目,可以是电商,P2P,社交等项目
做完这几个项目应该对Java有更清楚的认知,因为本身我们学习Java就是做项目,所以这才是我们真正需要的,也是企业的开发人员真正掌握的。
(转)2019年给Java编程初学者的建议(附学习大纲)的更多相关文章
- java编程IO简单回顾和学习
java编程IO操作必不可少的,很久不玩IO,回顾一下,写了几个小程序,记录一下,方便查阅和学习. 1.给出一个整数数组,将其写入一个文件,再从文件中读出,并按整数大小逆序打印. package co ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十三)之Strings
Immutable Strings Objects of the String class are immutable. If you examine the JDK documentation fo ...
- 1.java小作业-计算1到100的整合-指定输入多少行输出就打印多少行-打印24小时60分钟每一分钟-重载基础练习-面向java编程初学者
可能有和我一样刚开始学习java的小伙伴们, 可以或多或少了解一点别的语言知识,我就是中途转过来的, 明白一点,关键不在语言本身····· 所以面对初学者来说,基础要学好, 下面列举几个没什么难度的小 ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(二)之Introduction to Objects
The genesis of the computer revolution was a machine. The genesis of out programming languages thus ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十四)之Type Information
Runtime type information (RTTI) allow you to discover and use type information while a program is ru ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十二)之Error Handling with Exceptions
The ideal time to catch an error is at compile time, before you even try to run the program. However ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十一)之Holding Your Objects
To solve the general programming problem, you need to create any number of objects, anytime, anywher ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十)之Inner Classes
The inner class is a valuable feature because it allows you to group classes that logically belong t ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(九)之Interfaces
Interfaces and abstract classes provide more structured way to separate interface from implementatio ...
随机推荐
- yum只下载不安装软件包
一.通过yum自带的工具yumdownloader [root@host---- interpreter]# rpm -ql yum-utils package yum-utils is not in ...
- vue组件之间的传值——中央事件总线与跨组件之间的通信($attrs、$listeners)
vue组件之间的通信有很多种方式,最常用到的就是父子组件之间的传值,但是当项目工程比较大的时候,就会出现兄弟组件之间的传值,跨级组件之间的传值.不可否认,这些都可以类似父子组件一级一级的转换传递,但是 ...
- python基础知识六 文件的基本操作+菜中菜
基础知识六 文件操作 open():打开 file:文件的位置(路径) mode:操作文件模式 encoding:文件编码方式 f :文件句柄 f = open("1.t ...
- Git设置忽略文件
在向代码仓库提交的时候,一般需要忽略掉一些文件或目录,比如Eclipse工程的配置文件,Maven工程的target目录,以及.log日志文件等等. 这个问题在Git中解决起来也很简单:在Git工作区 ...
- linux作业控制和文件系统
一.作业控制 [root@tianyun ~]# sleep 2000运行一个程序,当前终端无法输入. 1 直接运行后台程序.暂停一个前台程序.[root@tianyun ~]# sleep 300 ...
- C#2.0新增功能07 getter/setter 单独可访问性
连载目录 [已更新最新开发文章,点击查看详细] 属性是一种成员,它提供灵活的机制来读取.写入或计算私有字段的值. 属性可用作公共数据成员,但它们实际上是称为访问器的特殊方法. 这使得可以轻松访问 ...
- [leetcode] 19. Remove Nth Node From End of List (Medium)
原题链接 删除单向链表的倒数第n个结点. 思路: 用两个索引一前一后,同时遍历,当后一个索引值为null时,此时前一个索引表示的节点即为要删除的节点. Runtime: 13 ms, faster t ...
- [leetcode] 11. Container With Most Water (medium)
原题链接 以Y坐标长度作为木桶边界,以X坐标差为桶底,找出可装多少水. 思路: 前后遍历. Runtime: 5 ms, faster than 95.28% of Java class Soluti ...
- Java--UTF-8
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码.由Ken Thompson于1992年创建.现在已经标准化为 ...
- 关于使用springmvc过程中过滤器与拦截器的区别理解