欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java学习知识体系大纲梳理

程序员文章站 2022-03-20 13:06:02
感悟 很奇怪,我怎么会想着写这么一篇博客——Java语言的学习体系,这不是大学就已经学过的课程嘛。博主系计算机科班毕业,大学的时候没少捧着Java教程来学习,不管是为了学习编程还是为了期末考个高分,都在这门语言的学习上下了不少功夫,得益于之前有C语言的基础,所以那时候并没有想象的吃力,但是因为Jav ......

感悟

很奇怪,我怎么会想着写这么一篇博客——java语言的学习体系,这不是大学就已经学过的课程嘛。博主系计算机科班毕业,大学的时候没少捧着java教程来学习,不管是为了学习编程还是为了期末考个高分,都在这门语言的学习上下了不少功夫,得益于之前有c语言的基础,所以那时候并没有想象的吃力,但是因为java语言是面向对象设计,所以很多时候还是要从c中转换一下思想。

大学的学习还是比较自主和*,大概就是让自己培养学习的习惯和能力吧,那时候学习java语言,也是按顺序来捡着学,直到最后才有个比较系统的体会,到后来能够完成一些javaweb的项目了,也就开始注重高级开发了,因为按照这样一来,基础知识是完全够用的,不会的时候,查缺补漏一番也能够解决当时的问题。

在这样的自我认知中,慢慢的,你觉得你熟悉java语言,确实当你在做开发的时候,你觉得很顺畅很自然,这些都是以你目前知识能够胜任的,但是,如果让你说说java学习的知识体系,你是否能够按照大学课本上的目录大概说一遍呢?说说目录下都有哪些知识点,都能够让你学会什么,为什么这样编排。这一连串的问题,可以在脑海里好好过一下,好像说到每个点自己都会,但是有系统性和连贯性吗?这可以从侧面反应出我们的学习习惯和学习方式和能力,如果你对这种学习体系了如指掌,那么应该很快能够讲出一个大概的体系,这是基础本领,我觉得你既然用java这么手艺来讨饭吃,那么对它有个脉络性的熟悉,怎么讲都是应该的吧。

其实,博主自己在这里也缺少积累,更加没有意识到要有这样的觉悟,平时写java程序没有问题,但是要是问问你学术一点的东西,好像需要想个半天,到最后组织好的语言也没有书本上的那么专业,而且说不全,更是没有体系和大纲可言。博主想了起来,17年面试一家互联网金融公司,就有被面试官问到这个问题:请你说说java程序设计语言的学习大纲,可以参照大学课本的教学大纲说一说。当时博主是惊讶的,还问这个东西,我表示无语了。当时按照常理来想一想,这应该是java从业人员都应该会的吧。令人羞愧的是,我在当时居然没有回答出来,当时就觉得懵逼,完全不按面试的套路出牌啊,我也没有事先准备,足以见得,还是我平时不注重学习,不注重积累,甚至是学习语言的方式出了问题,这让我一度开始怀疑自己。

最近在重新梳理知识点,发现如果要往上学习的越牢固越深入,稳固的根基是必不可少的,不管学习哪门语言,这些都是基础,都是必须要掌握的,所以,借此机会,我想重新梳理和整理一下那些年学过的java语言程序设计,把学习大纲大概罗列一番,希望能够给自己留下更深刻的印象,同时也给自己提个醒,学习新东西需要注意方法,建立学习体系很重要,还要自己总结和积累。

知识体系大纲摘要

1、java入门基础及环境搭建

  • 主要阐述java语言的历史和面向对象设计的特点,java语言在1995年由sun公司推出,最后在2009年被oracle收购,目前用得多得版本是jdk1.7和1.8,在笔者写当前博客时,最新的jdk版本已经到12了。
  • 阐述面向对象语言设计的思想,比较面向对象设计和面向过程设计的差异。
  • java jdk的下载和安装,以及环境变量的配置,使用记事本编写“hello world”程序,然后使用cmd命令行编译和执行,正式入门java语言的开发。
  • 讲解java程序语言的基本要素和编程规范,如何使用流行的ide来编写程序,讲解netbeans、eclipse和intellij idea等开发工具的安装和使用,如何编写、设置以及调试代码。

2、java程序设计基础

  • 讲解常量和变量的概念,声明方式和作用域。
  • 8种基本数据类型的定义和概念。
  • java运算符的介绍,诸如算术、赋值、逻辑、关系、自增和自减、位和条件运算符,还包括运算符计算优先级的说明。
  • java基本数据类型的转换。

3、java流程控制语句

  • 介绍java语句的编写方式和编写规范。
  • 流程控制语句的介绍如if else语句、switch case语句、while和do while语句、for和foreach循环语句,以及其他的流程控制语句如return、break和continue语句。
  • 通过案例和代码来熟悉流程控制语句的使用和编写。

4、java字符串处理

  • 讲解string类型的基本定义和使用,以及如何连接字符串、计算长度、转换大小、去除空格、截取字串、分割字符串、字符串比较和替换,通过这种如连接、修改、替换、比较和查找的方式来熟悉string字符串的基本处理。
  • stringbuffer和stringbuilder等可变字符串的讲解和使用。
  • 正则表达式的讲解和使用。

5、java数字和日期处理

  • java math类的常用方法介绍。
  • java生成随机数,数字格式化以及各种类型数字的运算和转换。
  • java日期和时间的处理,日期格式化和日、月、年等的基本计算。

6、java数组和基本排序算法

  • 数组简介,一维数组、二维数组和多维数组的介绍。
  • 数组的声明、填充、查找以及复制方法等的说明。
  • java数组排序介绍,如基本和常用的冒泡排序、选择排序、快速排序和插入排序等。

7、java类和对象

  • java面向对象的概述,认识类和对象及两者的关系。
  • 类的定义,属性和方法,类变量和类方法,成员变量和成员方法,this关键字。
  • java对象的创建,如何访问对象的属性和方法。
  • 对象的销毁介绍,访问控制修饰符介绍。
  • static和final修饰符介绍和使用,main方法。
  • java方法的书写,参数声明,值传递和引用传递。
  • java构造方法,包的概念。

8、java类的封装、继承和多态

  • java类的封装概念。
  • java类的继承概念和用法介绍,super关键字。
  • java对象类型转换和强制对象类型转换。
  • java方法的重载和重写概念,如何区分两者。
  • java的多态性介绍。
  • java接口和抽象类的说明,以及两者的比较和区别。
  • java内部类和匿名类介绍和使用。

9、java异常处理

  • java中的异常介绍,异常处理机制。
  • try-catch-finally语句说明和使用。
  • 声明、抛出异常的说明和使用,如何自定义异常。
  • 通过大量案例说明异常的使用。

10、java集合、泛型和枚举

  • java集合类的概念,collection接口、list、set和map结合的介绍和使用。
  • collection类和各类集合运算,如复制和循环遍历。
  • java泛型介绍,枚举类型介绍。

11、java反射机制

  • 反射机制的概念。
  • 通过反射来访问构造函数、方法和成员变量的使用和说明。

12、java输入输出流和文件操作

  • java流的概念,file类等流相关类的介绍和使用。
  • java动态读取文件内容和输出。
  • java字节流和字符流的说明和使用。

13、java多线程编程

  • java中线程的概念,线程的实现方式和声明周期。
  • 多线程访问实例变量和线程安全问题。
  • 多线程的控制和同步机制。
  • 多线程api中各方法的使用,停止线程和暂停线程,线程优先级等。

14、java网络编程

  • java网络编程基础知识,认识socket。
  • 认识tcp和udp等概念。
  • 网络编程基础类的学习和使用。

15、java图形用户界面

  • 组件布局等的概念介绍。
  • 布局搭建,时间处理和applet。