1. Java中的变量有四种:实例变量(成员变量)、静态变量、局部变量、参数
2. 任何变量名称都是以任意长度的Unicode编码的字符组成的
3. 基本类型:byte——8比特带符号、short——16比特带符号、int——32比特带符号、 long——64比特带符号、float——32比特带符号注意后面的f,如果没有f,是一个double类型,是不能赋值给float的、double——64比特带符号、boolean——布尔值,只有true,false两个取值、 char——16比特Unicode字符
4. 每一个基本类型都有默认值
5. 按照优先级:
• 后置运算符:++, --
• 单运算符: ++(前置),--(前置),+,-,!,~
• 乘除运算:*(乘法),/(除法),%(取余数)
• 加减运算:+,-
• 移位运算:<<,>>,>>>
• 关系运算:<,>,>=,<=,instanceof
• 关系运算:==,!=
• 按位与:&
• 按位异或:^
• 按位或:|
• 逻辑和:&&
• 逻辑或:||
• 三元操作:? :
• 赋值:=,+=,-=,*=,/=,%=,&=,^=,|=,<<=,>>=,>>>=
6. Switch——与if-else类似,只能作用于long以外的整型、枚举类型以及String上
7. 修饰符:static final,可以和访问限制符换位置
8. 程序内存分为Heap 堆和Stack栈,局部变量、方法调用消耗stack,实例、数组消耗heap, Stack内存是连续的,分配释放速度很快,stack内存数量有限,windows默认2MB,Linux默认1MB. Heap内存不连续,每次找足够大的内存区分配,易产生碎片,可造成总空闲内存足够,但是无法分配情况
9. String 不可改变