1.标识符 见名知意原则 驼峰命名
数字不能开头 区分大小写 不能用java 保留字和关键字
2.java 语言的整型三种表现形式:十进制/八进制/十六进制
3.基本数据类型
四类八种
a.整型 byte short int(4) long
b.浮点型 float(4) double
c.字符型 char
d.布尔型 boolean
4.引用数据类型
类class 接口interface 数组[] 枚举enum
5.运算符
++ -- && & || | !
+= -=
%
6.程序的结构
a.顺序
b.分支
if..else 表达式返回值必须是Boolean型
switch...case
表达式 byte short int char 1.6->枚举 1.7->String
Case 常量:
break 不写出现case 穿透
default 可不写
c.循环
while
do..while 先执行一次 再判断
for
增强for for(数据类型 变量名 : 要循环的对象)
break continue return
break:结束整个循环
continue:跳过本次循环 继续下次循环
return 结束方法
二、数组
1.一维数组
一组相同类型的数据存储到一个定长容器中
可以存储 基本/引用 数据类型
静态初始化{}/动态初始化[2]
每个数组中的元素 都有下标/索引/角标 从0开始
数组长度 length
遍历数组 循环
2.多维数组
数组中的元素存的是数组
3.常用算法
选择 一个元素 选择其他位置的元素进行比较
冒泡 相邻的元素进行比较
二分查表发 先排序 必须是有序的
顺序查表法
4.Arrays工具类
sort()...copyOf() ...
三、面向对象
1.面向对象和面向过程的区别
2.类和对象的区别
类:对一种事物的描述 包含属性 和 行为
对象:是实际存在的个体
类是图纸 对象是产品
3.属性的默认初始化规则
引用数据类型 null
基本数据类型 0 0.0 false....
4.方法
[权限修饰符 状态修饰符] 返回值 方法名(参数列表){方法体}
5.创建对象
new /反射
6.方法的重写和重载
重写(override) 继承关系中 子类重写父类/接口的方法 一模一样 权限修饰符 / 异常
重载(overload) 在同一个类中 方法名相同 参数列表不同 与返回值无关
7.面向对象的四大特征
a.封装
权限修饰符
包
类
方法
导包 import/打包 package
b.继承
extends super this
单继承(类) 多实现(接口) 接口可以多继承
static 静态
类(内部类)
方法
属性
被静态修饰的特点 随着类的加载而加载 与对象无关
static只能访问static
c.多态
三个前提
必须有关系 重写 父类引用指向子类对象
instanceof 运算符
==和equals的区别
final关键字 最终的
d.抽象
abstract
抽象类 可以有非抽象方法
当方法被抽象修饰的时候 类就必须是抽象类 强制重写抽象方法
接口 interface
变量都是常量 public static final
方法默认 public abstract
方法修饰符:abstract/default/static
8.内部类
定义在类中的类
成员内部类/静态内部类/局部内部类(final)/匿名内部类
四、常用类
String StringBuffer StringBuilder
Math Random Date Calendar SimpleDateFormat
基本数据类型的包装类 装箱/拆箱
值传递和引用传递
基本数据类型包装类 和 String都是值传递
五、异常
Throwable
Error
Exception
checked
RuntimeException
Throw 和 Throws 区别
try...catch..finally
final 和 fianlly 和 finalize的区别
六、集合
Collection(单列) add
遍历 Iterator
List 有序 允许重复 ArrayList LinkedList Vector
ListIterator for forEach
Set 无序 不允许重复 HashSet TreeSet
HashSet(重写 hashCode() equals())
LinkedHashSet 有序 不重复
TreeSet(比较器 Comparable / Comparator)
Iterator forEach
Map(双列) key value 按键排重 与值无关 put
HashTable
HashMap
TreeMap
keySet() entrySet()
Collections 工具类
七、IO流
分清源头和目的地
字节流 InpuStream / OutputStream -->byte
字符流 Reader / Writer -->缓冲区 readLine() / newLine()
File类 递归获取所有内容 删除不进回收站 new 不是创建文件
其他流
PrintWriter 构造函数 true 自动刷新
RandomAccessFile
Propertie
八、线程
创建线程 三种方式
同步 synchronized 同步代码块 同步方法 静态同步方法 对应的锁
同步的前提: 多线程 同一个锁
避免出现死锁 同步嵌套的时候可能会出现
线程的五种状态
run() start() sleep() wait() notify() notifyAll()
stop()
interrupt()从冻结转到运行状态
join()
Deamon()
yield()
线程有优先级 10级 默认是5
线程池 哪个类 四个
九、网络
Socket套接字
Udp / Tcp
十、设计模式
单例 装饰 生产消费
十一、反射
Class Constructor Method Field
十二、新特性
jdk 1.5
自动装箱拆箱
泛型
可变参数...
增强for循环
枚举
jdk 1.7
switch 表达式可以用字符串了
泛型简化 <>菱形泛型
异常的多个catch 合并 每个异常用|或连接
jdk 1.8
Lambda
Final
接口 -->default static
Time包