1:莱布尼兹(奥地利的数学家)发明的二进制 2:bit(位):一个0或者一个1。 Byte(字节):是数据存储的最小单位。 1 Byte = 8 bit 1KB = 1024 Byte 3:Java程序运行的阶段: 1:编码:写代码 2:编译:编译器将源代码编译成字节码(Javac.exe 是编译器 ,用于编译源代码) 3:运行:字节码运行在机器上( Java.exe 是解释器,用于解释字节码) 4:常量: 1:字符串常量:“asd” 2:整数常量:100、200 3:浮点数常量:1.23、3.14 4:字符常量(必须是单个字符):‘a’、'A'、‘中’ 5:Boolean常量:true 、false 6:空常量:null 5:变量: 数据范围和内存占用不一定相关,例如:float 比 long 表示的范围大,但是他们都占用4个字节。 浮点数中默认位double。整数默认位int。 float和long定义时:F 和 L 后缀不要丢掉,因为有默认类型。 对于byte, short ,char : 三种数据类型在运算时,首先会提升为 int 然后计算。 byte num = 30; // 不报错,30没有超出byte的范围,隐士转换。 byte num = 128; // 报错。128超出了byte的范围,无法隐士转换。 short a = 5 ; short b = 8; short c = a + b ; // 右侧相加后变成Int ,无法转换为 short。 short c = 5 + 8 ; // 右侧全部是常量。编译时直接变成13。(“编译器的表达式优化”,如果有变量就不优化了) 6:方法重载: 1:方法名称相同 2:参数列表不同 3:和返回值无关 7:数组 定义以后,不能修改长度 8:默认值 字符类型 默认值为:‘u0000’ 。打印不可见。 9:Java内存划分 10:内存(初步理解): 类加载时:将class文件加载到方法区域。 运行时:main方法进栈,调用的方法以此进栈。用到的实体的成员和方法放在堆内存中运行。 成员变量直接在堆中,成员方法在堆中保存的是方法区的方法地址。 栈中的地址指向堆,堆中存放的地址指向方法区。 11:IDEA 统一重命名 选中名称 , Shift + F6 。