java语言
注释 单行注释 多行注释 文档注释(会被提取到API文档中)
分隔符 分号 花括号 圆点等
标识符
类名 首字母大写 驼峰命名
变量 方法 第一个字母小写 后面驼峰
关键字都是小写的 如 try
保留字 goto const
直接变量 true false null
所有变量必须先声明、后使用 (在编译时就要确定的类型)
基本数据类型 引用类型
默认类型是 int double
在计算机底层都是以二进制形式存在的,
自动类型转换 和强制类型转换
char
byte short int long float double
两种基本的流程控制 一种是分支结构 循环结构
if语句 表达式的返回值只能是true或者false
return break continue break outer:
结束方法 跳出循环体 开始下一个循环
和switch 语句
表达式的类型只能是整形和字符串
case
初始化语句
循环条件
循环体
迭代语句
while do while for
jdk 1.5 foreach
数组
数组 属于引用类型 数组元素存放在堆内存中 变量在stack
存储数据 通过数组元素的索引来访问数组元素
数组元素具有相同的数据类型。 一个数组一个类型
一旦数组的初始化完成 ,数组在内存中所占空间将被固定下来,
并为每个元素赋值。
type[] arrayName =new type[]{element1,element2,element3,..}
type[] arrayName=new type[length]
0 开始 数组下标越界异常
length 属性获取数组的长度
for(type name :array |collection){
}
操作数组的工具类 arrays 类
创建对象的构造器 new
对象.属性
this 关键字总是指向调用该方法的对象
作用是 让类中的一个方法访问该类的另外一个方法或属性
类成员 static 单例类 单例模式分类 懒汉 饿汉
final 修饰的基本类型 和引用类型变量的区别
基本数据变量 不变 引用变量 同一个对象 对象的属性可变
final 方法
final 类
修饰的类不能有子类 变量 不能被修改 方法不能被重写
常用类 object string math bigdecimal(精确计算浮点)
泛型 引入原因 集合会忘记对象的数据类型 每次都是object 要转换 麻烦
深入泛型
类型通配符 ?
操作集合的工具类是collections
操作数组的工具类是arrays
同步控制
锁 解决多线程并发的线程安全问题
map 接口
map 接口常用的方法
hashmap hashtable 区别
异步 线程不安全
list 接口
iterator 接口
queue 接口
linkedlist 实现类
arraylist 和vector 是list类的两个典型实现类
arrylist 是异步的 不安全 后面可以使用collection 工具类变安全
iterator接口
queue 接口
set接口
hashset 接口
comparable 接口
线程同步是多个线程同时访问同一资源,等待资源访问结束,
浪费时间,效率低
线程异步:访问资源时在空闲等待时同时访问其他资源,
实现多线程机制
抽象类和普通类的区别
抽象方法和空方法的区别
初始化块
静态初始化块
tostring方法 object 类里的一个实例方法
java 对象都是object类的实例
变量的使用规则
能用代码块局部变量的地方 ,就坚决不要使用方法局部变量
== equals
进程之间不能共享内存 ,但线程之间共享内存非常容易
继承