一、Java特点
- 面向对象
- 平台独立性和可移植性(任何平台可以运行,因为jvm;eclipse/javac编译java代码.class文件,再打包成.jar文件,就可以在Windows、mac、linux任何系统运行,每个系统有不同的JVM实现)
- 容易实现多线程
- 高性能,动态编译执行(通过JVM中的JIT(Just-In-Time)编译器在运行时将热点代码编译成机器码运行,效率高)
二、运行环境
- JDK:开发环境。java开发工具包
- JRE:运行环境
三、基础语法
3.1、基本数据类型
字符类型 | 字节 | 默认值 |
---|---|---|
byte | 8bit | 0 |
short | 16bit | 0 |
int | 32bit | 0 |
long | 64bit | 0L |
float | 32bit | 0.0f |
double | 64bit | 0.0d |
char | 16bit | \u0000 (0)-\uffff (65535) |
boolean | 1bit | false |
3.2、运算符
- 赋值运算符:=,注意,对象赋值的是对象的引用,而不是对象本身
- 算法运算符:+、-、*、/、%,()优先级最高
- 自增自减运算符:++、–
- 比较运算符:<、>、==、<=、>=、!=
- 逻辑运算符:&&、||、!、
- &:按位与,需要两边都转换成二进制,再进行比较运算
- &&:两边都为true才为true,只要左边为false直接返回false,不需要再往后进行计算,效率&&相对于&要快;所以正常比较的话,用&&逻辑与操作
- 按位运算符:&、|、~、异或
- 移位运算符:<<、>>,转换二进制后移位
- 三元运算符:条件表达式?表达式1:表达式2
3.3、流程控制语句
- 条件语句:if…else if、switch() case break;
- 循环语句:for、do……while(至少执行一次)、while
- 跳转语句:nreak、continue、return
四、对象
- 对象的创建和对象的引用
- 类的基本要素:属性和方法
- 构造方法:类中特殊的方法,方法名与类名相同,一个类中可以有多个构造方法,区别在于参数类型和参数个数不一样(多态的表现)
- 方法的重载:
- 方法名称必须相同
- 参数列表不同(参数类型、参数个数、参数类型排序不同)
- 返回类型可以相同也可以不同
- 重载是发生在编译期间,可以根据参数类型选择用哪个方法
- 方法的重写
- @override注解
- 与父类的方法名和参数和返回类型均一致
- 子类方法的访问权限不能低于父类方法的访问权限
- 类的初始化:类是通过构造函数进行初始化(new的操作实际就是调用了构造方法进行了对象的创建)
- 成员的初始化:默认字段的初始化(基本数据类型、String、基本包装类等)和指定数值变量的初始化(int a = 9);
- 构造器的初始化
- 初始化顺序:
- 静态属性
- 静态方法块
- 普通属性
- 普通方法块
- 构造函数
- 方法
五、this和super
- this:表示当前对象,可以调用方法、属性和构造函数(注意:this()当调用构造函数时,需要放在方法的第一行)
- super:表示对父类的引用,可以调用父类的方法、属性和构造函数