Java是一个通用的编程语言,其实可以干很多事,怎么学Java就看怎么用了。但有一些基本的步骤:

熟悉一种文本编辑器,

比如:Vim, Emacs, Notepad++, TextMate等。知道哪些是开源的,哪些是闭源的,哪些要收费。养成不用盗版软件的习惯。

安装JDK

(建议用你的Linux发行版自带的软件包管理器安装openjdk,过程中可能需要读发行版特定的文档)

写一个Java的Helloworld程序,并用命令行工具javac编译,再用java命令运行这个程序。

过程中熟悉源代码、字节码、虚拟机这些东西,以及Java的包(package)对.class文件所在的路径的影响。如果这两个命令行工具使用熟练了,可以开始选一个喜欢的集成开发环境,比如Eclipse。当然,养成不用盗版软件的习惯。熟悉一下如何建立“工程”,以及快捷键的使用。

学习Java的面向过程编程

包括基本数据结构、表达式、语句、控制流、函数调用。

学习Java的面向对象编程

包括类、引用类型和值类型的区别、成员、方法、访问控制、继承、多态、接口、接口实现。顺便学习一下面向对象的基本思想,即对象、消息、封装、继承、多态等,这些通用的内容不是Java特有的。

这时候应该已经涉及了Java的垃圾回收。

要留意即使有垃圾回收的情况下也会发生的内存泄露(如自己设计数组容器,元素是引用,逻辑上删除了元素,但并没有清成null)。

注意垃圾回收只能回收内存中的对象,除了内存以外,其它资源不能依靠垃圾回收来关闭。比如,文件、管道、Socket、数据库连接等,垃圾回收是不会帮你关闭的。

学习Java的异常处理

但更重要的是学习什么时候用特殊返回值而不使用异常,什么时候应该抛出异常而不处理异常,知道什么是pokemon catch及其危害,了解为什么Java的checked exception是一个糟糕的特性。如果愿意,同时学习一下Java1.7的try-with-resource语句和AutoCloseable接口。

熟悉Java常用的数据结构

如基本的数组类型,以及泛型容器(java.util.*),尤其是java.util.List接口和java.util.ArrayList实现;以及java.util.Map接口和java.util.HashMap实现。(java1.5以前的没有泛型参数的就不用碰了)同时留意一下基本类型int, double等和装箱类型Integer和Double的区别,以及它们是如何自动转换的。

熟悉Java标准库里的各种工具

包括日期时间、字符串格式化、IO等。**知道文件要自己在finally子句中close(),或者用Java1.7的try-with-resource,不要妄想垃圾回收器会帮你关掉文件。

学习一下Java的命名习习惯以及JavaBeans的常规,知道为什么getter tter比直接操作成员变量好。按这种方式给Java的变量、方法命名。同时看看你的IDE能不能自动帮你生成getter和setter。

使用一个第三方的库(比如Apache Commons Lang通用工具库)

让你的程序依赖于它的二进制jar包(而不是直接拷贝源代码),用命令行编译、运行(注意classpath等);也熟悉一下如何用你的集成开发环境添加第三方依赖。感受一下手动管理依赖关系的麻烦。

学习Maven的使用

试着让Maven帮你解决依赖关系,再试着让Maven帮你创建一个Eclipse工程。再试试用Maven打包发布。

学习软件测试,以及JUnit的使用,以及怎么在IDE中使用JUnit。有空看一下coverage工具。

java学习路漫漫,千万不要想着一朝成就,还有更多java学习方法,询462403503详细探讨了解。或点击下方蓝色字体了解。

学习java的步骤_java学习的基本步骤相关推荐

  1. 零基础学习Java开发,这些学习笔记送给你

    因为Java具备很多特点,并且在企业中被广泛应用为此很多小伙伴选择学习Java基础开发,但是零基础学习Java技术开发需要我们制定Java学习路线图对于我们之后的学习会非常有帮助. 零基础学习Java ...

  2. java的开发步骤_Java学习1:JAVA开发的步骤

    JDK(Java开发工具箱,做Java开发必须安装的,这是最根本的一个环境.) JDK不是集成开发环境. JDK这个开发工具箱中时Java最核心的库. 98年的时候:Java升级到JDK1.2,Jav ...

  3. java的圆周率_java学习日记,圆周率的打印

    前段时间看到听说学习java每天写技术贴会对自己提升很大,我现在学习java也就2个周,算不上技术贴,就写写学习日记吧. 昨天师傅给我出了一道题,说是试试用java打印圆周率. 刚开始我的思路是,如果 ...

  4. 每天学习java一小时_java再学感受 - 编程一小时的个人空间 - OSCHINA - 中文开源技术交流社区...

    首先的是,我买了一本新的有关于java的书,刚开始看,其实在此之前我已经学了一本java语法的书本,现在我买的这本书是我用来提升自己的java认知水平的,首先是对这本书的第一印象吧,里面的内容比较详细 ...

  5. 学习java很痛苦_Java日期细微的痛苦提醒

    学习java很痛苦 这些天我不再需要使用java.util.Date了,但是最近选择这样做,这让我想起了使用与Java Date关联的API的痛苦 . 在这篇文章中,我看了弃用的参数化Date构造函数 ...

  6. java在线学习系统源码_java学习成长之路(基础,源码,项目,实战)

    获取一下学习资源请关注微信公众号:Java编程指南 我为自学编程的或初学java的小伙伴们准备了一整套完整的学习资源和文章,还有我自己在自学路上的一些总结和学习线路,希望能帮到小伙伴们,如果有什么疑问 ...

  7. java基础扫盲_Java学习:扫盲

    最近开始学习Java,把了解的一些内容,记录下,也算是给小站找个事做吧! 一.基础知识: 1.JVM.JRE和JDK的区别: 1. JVM(Java Virtual Machine): java虚拟机 ...

  8. java程序伪代码_Java学习笔记——伪代码及程序控制

    开学刚刚一个月,学习Java也已经有三周. 老师给了下面的实验题目: 某教师需要一个学生成绩计算应用程序.每个学生总评成绩是由平时成绩.期中成绩.期末成绩 和其它成绩组成,其所占比例为:平时成绩30% ...

  9. java课程体系_Java学习课程体系

    最近一直在忙项目和课程,每每当这个时候就会发现自己一直在忙,而在此过程中没有什么积累和沉淀,所以最近总结了一下,对于Java开发过程中所需要用到的技术点,后面有时间的话,会一一进行相应的课程录制,希望 ...

最新文章

  1. 弹性板计算和板带划分计算_计算双面太阳能板背面太阳辐射的新方法
  2. Selenium3自动化测试——11. 下拉框处理
  3. asp.net如何读取Excel文件
  4. nodejs-函数路由
  5. 抽象方法可以有方法体_抽象类和模板方法设计模式
  6. 计算机网络原理和应用,计算机网络原理与应用
  7. go语言高并发与微服务实战_go-micro+gin+etcd微服务实战之服务注册与发现
  8. centos7 geenplum5.x postgis开源版本编译
  9. appian php,aha2mao
  10. 安全方面的文章+VC知识库
  11. win7眼睛保护色设置方法
  12. 第十八届西南科技大学ACM程序设计竞赛(同步赛)
  13. 红帽6.2 DOS无盘 NetWare 制作
  14. android qq聊天界面键盘与布局,大屏手机单手聊天 QQ输入法浮动键盘做得到
  15. CTF练习-小游戏解密俄罗斯方块
  16. thx是什么意思_thx是什么意思?
  17. excel取消工作表保护,获取原始密码
  18. IT产品是计算机类产品吗,IT产品是什么
  19. 【计算机硬件系统设计(华科)——三级时序 CPU「包含中断处理」(Logisim 实现)】
  20. 抖音开发者工具配置抖音小游戏为横屏显示的方法

热门文章

  1. [ATF]-ATF启动--BL31跳转到optee和uboot
  2. 查看Linux系统基本信息CPU内存系统负载
  3. OpenGL 坐标系统(Perspective)
  4. 薪资那么高的Web前端的工作者,想要提高薪资就必须看的书单
  5. DC-5 vulnhub靶机实战
  6. Windows保护模式学习笔记(四)—— 中断门陷阱门
  7. 1.6 Number类
  8. 1.8 finally和return的执行顺序
  9. OpenGL中的轨迹球问题
  10. Spring boot配置Dubbo三种方式