Java 基础学习简单总结
P14: Java 特性和优势
- 简单性,
- 面向对象,
- 可移植性(write once),
- 高性能,
- 分布式,
- 动态性(反射),
- 多线程,
- 安全性,
- 健壮性(异常处理)。
P15: Java 三大版本
- Java SE: 标准版(桌面程序,控制台开发)
- Java MM
- Java EE: E企业级开发(web端,服务器开发)
P16: JDK, JRE, JVM
- JDK: Java Development Kit
- JRE: Java Runtime Environment
- JVM: Java Virtual Machine
P19: Java 程序运行机制
先编译(产生字节码文件),后解释。
P23: Java 数据类型
- 八大基本数据类型:int, byte, short, long, double, float, char, boolean
- 引用数据类型:类,接口,数组
P25: Java 类型转换
低---------------------------------------->高
byte,short,char -> int -> long -> float -> double
- 强制类型转换:高 -> 低
- 自动类型转换:低 -> 高
P28: Java 自增自减运算符
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
int a = 3;
int b = a++; // b=3, 先赋值后运算
// a = a + 1
System.out.println(a);
// a = a + 1
int c = ++a; // c=5, 先运算后附值
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
result:
Hello World
4
5
3
5
P47: Java 方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数
重载的规则:
- 方法名称必须相同
- 参数列表必须不同(个数不同,或类型不同,参数排列顺序不同)
P53: Java 数组初始化
public static void main(String[] args) {
// 数组的静态初始化:创建 + 赋值
int[] a = {0,1,2,3,4};
// 动态初始化,包含默认初始化,数组元素默认为0
int[] b = new int[5];
b[0] = 2;
System.out.println(a[0]);
System.out.println(a[1]);
System.out.println(b[0]);
System.out.println(b[1]);
System.out.println(b[2]);
}
result:
0
1
2
0
0
P58: Java 冒泡排序
public static int[] sortBouble(int[] a){
int temp;
for (int i = 0; i < a.length-1; i++){
for (int j = 0; j < a.length-1-i; j++){
if(a[j]>a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
return a;
}
P67: Java 封装
‘’高内聚,低耦合‘’,
属性私有,get/set
private,protect,public
- 提高程序的安全性,保护数据
- 隐藏代码的实现细节
- 统一接口
- 系统可维护增加了
P68: Java 继承
Java 只有单继承
所有类都默认直接或者间接继承 Object 类
super() 调用父类的构造器,必须在子类构造器的第一行,this() 同理,因此二者不能同时使用。
方法的重写:需要有继承关系,子类重写父类的方法
- 方法名必须相同
- 参数列表必须相同
- 修饰符:范围可以扩大但不能缩小
- 抛出的异常:范围可以缩小但不能扩大
P71: Java 多态
注意事项:
- 方法的多态,属性没有多态
- 父类和子类,有联系 类型转换异常
- 存在条件:继承关系,方法需要重写,父类的引用指向子类对象,Father f = new Son();
- 以下情况不能重写:
- static 方法,属于类
- final 常量
- private 方法
x instanceof y
P75: Java 接口
接口定义规范
使用接口实现多继承
接口中所有定义的方法都是抽象的 public abstract
接口不能实例化,没有构造方法
P78: Java 异常处理
try-catch-finally,(快捷键 ctrl+alt+T)
finally 可以不要,一般用于资源关闭
throw
throws