2016年冬12月我大一上学期的枯燥的生活结束了。放寒假回家后买了台电脑,我书顺便给我哥要了套视频,拿到视频后有个java学习路线,我就是按照那个进行学习的不过在后来我也是有所改变。具体的学习方式可以去我上篇的文章。下面我将每个学习的章节技术点以黑体加粗展示
先是从认识面向对象开始,因为我学过了C语言但是不是特别的熟练,而C语言没有对象的概念,他是面向过程的语言,所以就是认识什么是对象对象,java编程思想中有这样一句 “一切皆对象”,也就是在使用语言时可以把每一个部分当做对象。其实主要了解什么是对象,自己心中有这个概念就可以。
开发环境,工具 是学习任何一门语言的必备的技能,你要想搞明白这个语言的使用,“工欲善必先利器” 你就必须先把环境搭建起来,好多人工作了几年都不能把jdk给正确的安装下来,还需要baidu,这个是基础的技能,所以当我们学习的时候一定熟练掌握,比如最简单的就是把jdk的bin目录直接配置到path目录下。开发工具,你可能看的视频很多开始都是在记事本上给你演示的,其实在真正的开发中是不可能这样使用的,你想想一个个项目有时沉淀了四五年,那代码量是多么的多,记事本能搞定吗,所以先是推荐Eclipse 因为开源免费,后序可以搞Idea进行使用,notePad++进行查看代码,Hbuilder用于写html,js这些,这样你的环境和工具都有了那么你是不是就能够进行学习了。
java基本数据类型 基本数据类型是这个语言的基础,java有八大基本数据类型,这些基本数据类型修饰变量后让其变量赋予真正的意义。我的前辈给我说他面试到一位工作三年的 java基本数据类型 都不能答得上来,所以我们学校时一定把基础给扎实。java八大基本数据类以及他的包装类这些都要熟练记忆,char ,boolean,byte,short,int,double,float,long
. 这些给记牢以及对应的包装类是啥。有了这些基本数据类型看下他们默认值为什么,这个要牢记。学完这些后就可以去看运算符了。
操作符(运算符,关键字,修饰符,循环,条件语句) 基本类型掌握了我们就可以根据这些进行操作,比如 int 类型的+,-,*,/ ,%,的操作(加,减,乘,除,模) 然后循环语句,条件判断语句, 类中字段的修改符,private,public ,protect,默认。 关键字也是用于修饰变量的,比如 public static void main(){}
这个方法是开放的 ,静态的,返回值为空的。关键字就是 static ,还有很多关键字 比如下方,现阶段不要求全会,至少要保证以后要回,因为这些以后都要用到。
abstract | 表明类或者成员方法具有抽象属性 |
---|---|
assert | 断言,用来进行程序调试 |
boolean | 基本数据类型之一,声明布尔类型的关键字 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 声明一个类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循[IEEE 754](https://baike.baidu.com/item/IEEE 754)算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
面向对象:真正的了解到面向对象是从认识类开始的,类是什么 类是封装了对象的行为和属性。从上面一句是不是你要去了解 什么是行为,什么是属性。明白这个后就会继续学习 抽象类,静态类,内部类,接口,三大特性(封装,继承,多态), 到这个时候你就会了解 重载与重写的区别,为什么重载构造函数, 为什么重写 顺便稍微了解一下内存结构,对象存储位置 ,这样其实是数据结构中的,所以要去看数据结构的知识。
自动拆箱与装箱: 自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱。原始类型byte, short, char, int, long, float, double 和 boolean 对应的封装类为Byte, Short, Character, Integer, Long, Float, Double, Boolean。 这样是不是你会发现我在学习基本数据 类型时与这个包装类却别了
**数组:** 数组的特性 ,数组的创建,数组元素的查找,更新,删除。明白数组的存储。下面去了解java中的常用类。
java常用类: Object
,String,StringBuffer,StringBuild,System,Math,Redom,Date,Date Format,BigDecimal,Pattern与Matcher类, Properties
去逐个了解上面的基本类的方法和特性,比如 String,StringBuffer,StringBuild的使用场景,不要了解太深去会用就可以。
异常:在上面的类使用时是不是idea有时会同时try catch包裹 这就是编译器告诉你程序可能会有异常 ,你去了解什么是异常, 异常的关键字,throw,throws,Exception类 运行时异常,非运行时异常
集合:了解完异常后来学习集合,明白集合的特性,两个顶级的接口Collection,Map,以及他们的不同的实现类List(ArrayList,LinkedList,Vector),Set(HashSet-LinkedHashSet,TreeSet),集合遍历Iterator,Hash操作Map(HashMap-LinkedHashMap,TreeMap),各个的特性
IO操作: 去学习流的两大顶级接口 输入流InputStream,Read,输出流OutputStream,Write,字符流(Read,Write),字节流(inputStream,OutputStream),File类,Chanel类 的操作。自己实现文件的读取和文件的写入。
多线程:去了解进程与线程的区别,并且牢记于心。多线程特性,实现多线程的方式(Thread,Runnable),线程的生命周期,应用 ,自己手写最有名的余票代码。
Swing: 这个选学,不过我当时学了好多,因为我用swing搞了个坦克大战看人家的视频,现在还可以使用的,项目地址在github上 javase 中。
网络编程:Socket,端口,协议, 这个我跟着视频做了qq聊天。简易的根据socket
注解: 学习完后去了解注解 元数据,基本注解,注解实现 等。这样你的javaSE基本上就可以学习完毕了 ,不过需要你大量的练习,练习以后才能够出效果。
我这里贴上我的se学习的代码在git上 https://github.com/kaysanshi/javase
学习完以上经过大量的练习去牢记代码,去明白其中的实现原理