MarkDown语法
简单的DOS命令
计算机语言的发展
Java的诞生1995
JDK JRE JVM
注释
行内注释 //
多行注释 /**/
文档注释/** */
标识符
关键字
数据类型
基本数据类型
整数
byte 1
short 2
int 默认 4
long 8
浮点数
float 4
double 默认 8
字符
char 2
ascii
UTF-8
Unicode
布尔值
Boolean 1
引用数据类型
类
接口
数组
类型转换
自动类型转换 低转高
强制类型转换 高转低
变量和常量 type varName = value
作用域
类变量
实例变量
局部变量
常量 final MAX_A = 18;
命名规范
1.见名知义
2.驼峰命名
3.类首字母大写,驼峰命名
4.常量 大写+下划线
5.不要使用拼音命名
运算符
算数运算符 + - * / ++ --
赋值运算符 =
关系运算符 > < >= <= == != instanceof
逻辑运算符 && || !
位运算符 & | ^ ~ >> << >>>
条件运算符 ? :
扩展运算符 += -= *= /=
包机制
域名倒写
防止命名冲突
package
import
JavaDoc
JDK帮助文档
javadoc
@author
@Version
@Since
@param
@return
@throws
流程控制
Scanner 用户交互System.in
顺序节后 程序默认的结构,自上而下的执行
选择结构
if 单选择结构
if-else 双选择结构
if-else if-else 多选择结构
switch
jdk支持了String类型
case穿透现象
break
default
循环结构
While 尽量避免死循环
do...While
for
九九乘法表
增强for循环
break&continue
break: 跳出循环
continue 终止当次循环
带标签continue
return 结束方法的运行
方法
方法的定义
方法的调用
方法的重载
命令行传参
可变长参数 必须放在最后一个参数
递归
自己调用自己,给自己一个出口
数组
数组的定义 int [] arr
必须是同一个类型
数组的使用
通过下标拿到值
ArrayIndexOutOfBounds
增强for循环遍历
二维数组 int[] []
Arrays工具类
排序算法
冒泡排序
选择排序
插入排序
快速排序
归并排序
希尔排序
堆排序
基数排序
面向对象
什么是面向对象
类与对象
类是对象的抽象:模板Class
对象是类的具体
构造方法
构造的重载
默认无参
如果手动定义了有参构造就必须要手动再加一个无参构造
单例模式,构造器私有
new对象
堆存放引用
堆存放具体的对象
封装 属性私有 get/set
继承
extends
Object
子类拥有父类的全部特性
方法重写
this
super
多态
父类的引用指向子类的对象 Person person = new Student();
instanceof 关键 如果酦醅,可以进行类型之间的转换
修饰符
public
protected
private
static
final
abstract
接口
interface
约束,只定义方法名
子类实现接口,必须重写其中的方法
只有一个叫做函数时接口,可以使用lambda表达式简化
接口比抽象类更抽象
一个类可以实现多个接口
内部类
局部内部类
静态内部类
匿名内部类
异常
Throwable
Exception
运行时异常
检查型异常
Error
AWT错误
JVM错误
五个关键字
try
catch
finally
throw 手动抛出异常
throws 方法抛出异常
自定义异常
继承Exception
常用类
Object
Math 常见的数学运算
Random 生成随机数 UUID
FIle类
创建文件
查看文件
修改文件
删除文件
包装类 自动装箱和拆箱
Date类
Date
SimpleDateFormat
Calendar
String 不可变性
StringBuffer 可变长 append() 多线程数据量较大 效率低安全
StringBuilder 可变长 单线程数据量较大 效率高不安全
集合框架