我们知道Java有三个方向,JavaSE,JavaME,JavaEE(老程序员可能会叫J2EE等,不过SUN已经改名了)。JavaME主要是嵌入式与游戏开发。那我们先看JavaSE,因为只有学好了JavaSE才可以学JavaEE,所以说JavaSEJavaEE的根基。

Java的历史当然得了解,但除去与别人讨论卖弄工作基本用不到,您可以暂时放放,那天累了调剂学习。那能知道他的历史呢?google,baidu搜吧!以后要养成个意识,凡是不了解想明白的东西就上google,baidu,不仅仅限于编程知识。

下面我们详细看JavaSE学习路线:

1.Java跨平台原理,JDK的部署与HelloWorld。您得知道Java跨平台原理,知道怎么配置环境变量以及编写一个HelloWorld程序。

2.程序的基本语法,比如什么是常量变量流程控制循环等任何一门编程语言都必备的知识,再学习下冒泡啊递归啊等算法,然后给数组排个序,打印个或实心或空心三角形等这些玩意。如果您学过C,C++这会非常轻松。

3.学习Java的OOP,这是重点也是难点。你们要想听一遍课就熟练应用这些知识基本是不可能的。一个优秀的老师能把这些给你讲清楚就已经非常了不起了,同样一个优秀的学生能把这些概念背下来在看到类似的代码知道原因也非常了不起。至于创造,建议先别要求那么高。先把OOP众多概念背下来,以后JavaEE的学习中,在项目代码中再体会理解。所以这部分重点是理解加背概念。

4.推荐大家加下我的java学习交流群:615741636,里面有不错的教程和开发工具,群文件还有我整理的学习手册,面试题,开发工具和PDF文档书籍,你可以自行去下载。

  • 学习类和对象的知识,知道什么是类与对象以及在java中如何创建类与对象。
    包的知识
    java中数据类型的分类(值类型,引用类型)
  • 声明对象与创建对象
  • Java中方法参数的两种传递方式。
  • 构造方法
  • 继承以及继承的特点(this与super关键字)
  • 封装,包括访问修饰符
  • 抽象类,接口
  • 多态(方法重载与方法重写),知道抽象类接口都是为多态服务
  • static与final关键字
  • 用以上的知识做一个面向对象的某某管理系统

4.异常包括分类以及五个关键字try catch finally throw throws

5.集合框架

6.到这如果想做个有成就感的程序可以直接学习JDBC,当然这需要您数据库的知识的支持(比如能建库建表,会增删改查的sql语句),然后可以做个控制台版本的某某管理软件。当然您这个系统一定要使用vo类,要使用DAO模式,最好能加上接口编写两个DAO实现,Statement与PreparedStatement各一个,在此基础上更深刻的理解OOP编程。

7.设计模式的知识这时您也可以学习一些,了解工厂,单态这两种设计模式,然后使用它重构您上面做好的管理系统。
(到这里,如果您急的找工作就业,也算小有所成,可以做个合格的小师弟了,然后向大师兄努力,学习JavaWeb;如果您不急着就业,可以把基本功练的更扎实些,可以接着学习下面三部分的知识)

8.多线程编程
9.网络编程

10.Java中的I/O操作

(以上三部分知识有个共同的特点是相对于前面七点在工作项目代码中使用很少,但理论还是相当重要,比如作为程序员您总得知道进程线程的区别联系吧,而且好多工具的底层就用到这些知识,比如JavaWeb部分我们使用的WebServer一定是个多线程的容器,它要与客户端通信一定需要网络编程,要处理用户的请求数据给客户端相应数据一定需要流来读写,所以这部分知识必须学,只不过您可以先暂时放放以后再学)

11.AWT-SWING/SWT:

有会问java是不是不能进行C/S结构程序开发,当然可以了。Java开发C/S 结构程序可以使用两个技术,一个是AWT/SWING,这个是SUN搞出来的,比如Java以前非常火的一个IDE工具JBuilder就是用它开发的;还有一个是SWT,这个最早是由IBM发明的,用的语言还是JAVA,但API已经与SWING不同了,比如现在非常好用的Eclipse就是用它开发的。

用java开发C/S程序相对于winform除了能夸平台并没有什么优势可言,比如复杂的技术,比如没有很好的开发工具支持快速开发(jb还可以eclipse生成的代码太乱了),比如运行超多内存的占用,所以现在使用Java开发C/S程序的少之有少,企业的招聘岗位少之有少,那就不讲不学了吧!但您搞软件开发总得写过些C/S程序吧,总得知道C/S下如何做权限,如何共享数据这些基本知识吧,而且AWT/SWING中用到了很多优秀OO设计思想,更高兴的是学习完这可以把我们前面做的控制台版本的管理系统挂上形成一个可给用户交互使用的系统,所以您有时间,学吧,急着找工作,就别学了(如果找工作顺利,那以后估计永远也不会学了。)。

12.Java的新特性

以前喜欢说JDK1.5的新特性,现在Java7也出来了,也不算啥新特性,这部分知识包括:static import,泛型,注解,可变参数等,比如泛型应该在讲解集合框架中说明,这部分也应该学习,但注解建议了解。

13.反射

反射的知识也属于JavaSE的内容,也建议暂时不要学习,等到高级阶段,自己有一些代码经验积累后再详细学习,反射的代码虽然工作项目代码使用较少,但很多框架或者你搞底层开发也一定是用得到的。

总结:以上的学习路线虽然写了13条,但如果您想速成的话先学习前面七条就可以了,或者从另外一个角度说,掌握了前面七条暂时可以像更高的阶段JavaWeb进发了!

零基础入门学习javase,应该怎么学?这是我给你的一个建议的更多相关文章

  1. 函数:我的地盘听我的 - 零基础入门学习Python019

    函数:我的地盘听我的 让编程改变世界 Change the world by program 函数与过程 在小甲鱼另一个实践性超强的编程视频教学<零基础入门学习Delphi>中,我们谈到了 ...

  2. 【Python教程】《零基础入门学习Python》(小甲鱼)

    [Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609

  3. 《零基础入门学习Python》【第一版】视频课后答案第001讲

    测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...

  4. 零基础入门学习Python(1)--我和Python的第一次亲密接触

    前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...

  5. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  6. 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...

  7. 大牛整理最全Python零基础入门学习资料

    大牛整理最全Python零基础入门学习资料 发布时间:『 2017-11-12 11:56 』     帖子类别:『人工智能』  阅读次数:3504 (本文『大牛整理最全Python零基础入门学习资料 ...

  8. 小甲鱼零基础入门学习python--课后作业

    [小甲鱼零基础入门学习python--课后作业] 小甲鱼零基础入门学习python--课后作业 本章内容: 1.基础部分的作业 2.函数部分的作业 3.字典.集合.文件部分作业 4.异常 5.Easy ...

  9. Python3零基础入门学习视频+源码+课件+习题-小甲鱼

    目录 1. 介绍 2. 目录 3. 下载地址 1. 介绍 适用人群 完全零基础入门,不需要任何前置知识. 课程概述 本系列教程面向零基础的同学,是一个深入浅出,通俗易懂的Python3视频教程. 前半 ...

随机推荐

  1. Android两级导航菜单栏的实现--FragmentTabHost结合ViewPager与Android 开源项目PagerSlidingTabStrip

    http://www.cnblogs.com/aademeng/articles/6119737.html 转载注:简单总结一下,外层Tab用TabHost,类层Tab用Viepager+Framen ...

  2. redis资源未释放引发的问题

    一.redis资源未释放的起因: N年前,在修改一个古老程序时,不小心把redis释放的这块给干掉了, if (jedis != null) { if (!isInProcess) { jedis.d ...

  3. Android 路由框架ARouter最佳实践

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/76165252 本文出自[赵彦军的博客] 一:什么是路由? 说简单点就是映射页面跳转 ...

  4. Java面向对象进阶篇(包装类,不可变类)

    一. Java 8的包装类 Java中的8种基本数据类型不支持面向对象的变成机制,也不具备对象的特性:没有成员变量,方法可以调用.为此,Java为这8 种基本数据类型分别提供了对应的 包装类(Byte ...

  5. 用一张表里的记录更新自己(或另一张表)里的记录(exists使用)

    update jqhdzt set shid=(select shid from v_plat_userjqinfo t where jqhdzt.jqbh=t.JQBH and jqhdzt.shi ...

  6. 学习ASP.NET Core Razor 编程系列九——增加查询功能

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  7. GenyMotion 配合 Android Studio 的安装

    众所周知,Android Studio 自带的模拟器对内存和CPU消耗都很大却并没有很好的效果,简直是谷歌为了卖手机设计的.而Geny Motion 对机能的要求大大降低,又不会像自带模拟器那么卡.G ...

  8. pandas用法小结

    前言 个人感觉网上对pandas的总结感觉不够详尽细致,在这里我对pandas做个相对细致的小结吧,在数据分析与人工智能方面会有所涉及到的东西在这里都说说吧,也是对自己学习的一种小结! pandas用 ...

  9. Maven安装和使用

    一.安   装 1.解压好后,添加系统环境变量 变量名:MAVEN_HOME 属性值:D:\apache-maven-3.3.3  //也就是解压的路径 path中添加:%MAVEN_HOME%\bi ...

  10. Effective Java 第三版——42.lambda表达式优于匿名类

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...