一、Java的实现机制:
1.1 虚拟机机制
Java虚拟机特点:多线程,动态连接,异常处理。
程序编译执行过程:.Java源程序——Java编译器——生成字节码文件.class——JVM Java解释器——操作系统。
1.2 垃圾回收机制
系统自动回收不再使用的内存,提高安全性。
二、语言基础:
1.1 数据类型定义了数据的性质、取值范围、存储方式以及所能进行的操作。包括基本数据类型和引用类型。
基本数据类型:8种基本类型
- 整型:byte shortintlong
- 浮点型(实型):float double
- 布尔型:boolean
- 字符型:char
1.1.1 整型:
进制:十进制、八进制、十六进制、二进制转换
占用字节:byte:1short:2int:4long:8
整数隐含 int 型。
1.1.2 浮点型
占用字节:float:4double:8
浮点数默认为 double 型。
1.1.3 boolean
值:true false 不能与其他类型相互转换
1.1.4 字符型
char:2个字节,Java中字符使用16位的Unicode码表示。
转义字符\
1.2 变量和常量
变量分为局部变量,成员变量;
常量可使用final 关键字声明,常量标识符 一般用大写字母表示。如final int MIN = 0;
1.3 运算符和表达式
1.3.1 算术运算符
一元运算符:+-++--
二元运算符:+-*/%
1.3.2 位运算符
~非^异或&与|或>>右移<<左移>>>补零右移
1.3.3 关系运算符
==!=>=<=><
1.3.4 布尔运算符
与&或 |非 !异或^短路与 &&短路或 ||
1.3.5 三目运算符: 表达式?表达式1:表达式2
1.3.6 字符串合并 "+"
1.3.7 组合运算符 如 += 会将右边的值强制转换为左边的类型参加运算
数据类型之间运算的转换:
容量小的向容量大的转换,类型提升。byte short 和char之间运算会自动转换为int型在进行运算。
大转小需要进行强制类型转换,会损失精度。
运算符的优先级和结合顺序:
注意: 一元运算符如--++ 自右向左
System.out.println((int)(char)(byte)-1); 输出结果为 65535
public static void main(String[] args){
final String pig = "length: 10";
final String dog = "length: " + pig.length();
System.out.println("Animals are equal: " + pig==dog); //输出flase 因为+号优先级高于==
}
1.4 流程控制
1.4.1 选择语句
case 语句没有顺序,从case执行,以break结束
条件满足时 则执行语句,直到遇见break
以default语句结束,default语句放在最后可以不要break
switch语句不适合判断区间和布尔型