javaSE回顾
Java语言
一.Java1995年进攻三个市场
- JAVA SE
- Java ME Android
- Java EE
二.2006年 Hadoop由java写的
JDK
开发者工具包 —>配置环境变量
JRE
运行环境
HelloWorld
public class Hello{
pubilc static void main(String[] args){
System.out.println(“HelloWorld”);
}
}
编译型语言解释型语言
Java属于编译型语言+解释型语言
Java属于静态语言+准动态语言
基础语法
注释
行内注释//
多行注释 /星 星/
文档注释/** */ javadoc生成帮助文档
数据类型
基本数据型
- 整数byte 1 / short 2 / int (默认) 4/ long 8 进制转换 0b二进制 0x十六进制 0八进制
- 浮点数 float 4 / double(默认) 8
- 字符 char 2 /ascii /utf-8 /Unicode /’\u000’(\n换行)
- 布尔值 boolean 1位/ if(a)如果a是true
类型转换
自动类型转换 —>低转高
强制类型转换 —>高转低 (低)高
变量个常量
变量的格式 type varName[=value];
作用域
- 类变量
- 实例变量
- 局部变量
常量 final MAX_A = 10;
命名规范
- 见名知意
- 驼峰命名(变量、方法)
- 类:首字母大学,驼峰命名
- 常量:大写+下划线
- 不要使用拼音命名
运算符
- 算术运算符 + - * / % ++ –
- 赋值运算符 =
- 关系运算符 < > >= <= == != instanceof
- 逻辑运算符 && || !
- 位运算符 & | ^ ~ >> << >>>
- 条件运算符 ?:
- 扩展运算符 += -= *= /=
包机制
域名倒写
防止命名冲突
package
import
JavaDoc
JDK帮助文档
javadoc
- @author 作者名
- @Version
- @Since 支持版本
- @param 命令行参数(param args~~)
- @return
- @throws 没有异常抛出
打印帮助文档指令
-encoding UTF-8 -charest UTF-8
流程控制
Scanner
用户交互Symtem.in
顺序结构
程序默认的结构,自上而下的执行
选择结构
- if单选择结构
- if-else 多选择结构
- switch jdk7支持了String类型
switch
- case穿透现象
- break
- default
循环结构
- while 尽量避免死循环
- do…while
- for (int i=1;i<100;i++)
- 九九乘法表
- 增强for循环
break&continue
1.break:跳出循环
2.continue:终止循环
3.带标签continue
4.return:结束方法的运行
方法
- 方法的定义:修饰符 返回值 方法名(参数名){return返回值;}
- 方法的调用:类名,方法/对象,方法
- 方法的重载:名字相同,参数列表不同
- 命令行传参—>给main方法传递参数
- 可变长参数 …(必须放在最后一个参数)
递归
数组
- 数组的定义:new int[5] / {1,2,3,4,5}(必须是同一个类型)
- 数组的使用:通过下标拿到值
数组下标越界报错:ArrayIndexoutofBounds
增强for循环遍历 - 二维数组 int[][]
- Array工具类
- 排序算法
①冒泡排序
②选择排序
③插入排序
④快速排序
⑤归并排序
⑥希尔排序
⑦堆排序
⑧奇数排序
面向对象
类与对象
- 类是对象的抽象:模板Class
- 对象是类的具体
构造方法
构造的重载
- 默认的无参构造
- 如果手动定义了有参构造就必须手动再加一个无参构造
- 单例模式,需要构造器私有!
new对象
栈存放引用
堆存放具体的对象
封装
属性私有,set 、get
继承
- extends
- 类都是Object的子类
- 子类拥有父类的全部特性
- 方法重写
- this
- super
多态
- 父类的引用指向子类的对象
Person person = new Student(); - instanceof关键,如果匹配,可以进行类型之间的转换
修饰符
- public
- protected
- private
- static
- final
- abstract
接口
- interface 约束,只能定义方法名
- 子类实现接口,必须重写其中的方法
- 只有一个方法的接口叫做函数式接口,可以使用lambada表达式简化
- 接口比抽象类更抽象
- 一个类可以实现多个接口
内部类
- 局部内部类
- 静态内部类
- 匿名内部类(重点)
异常
Throwable
Exception
- 运行时异常
①1/0
②ClassNotFound
③NullPoint
④UnKownType
⑤下标越界异常
⑥… - 检查型异常
Error
- AWT错误
- JVM错误
①StackOverFlow
②OutOfMemory
五个关键字
- try{}
- catch(){} 先小后大
- finally{}
- throw 手动抛出异常
- throws 方法抛出异常
自定义异常
继承Exception类即可