java是一门强类型语言体现在
1.所有的变量必须先声明后使用
2.指定类型的变量只能接收类型与之匹配,在编译过程中就可以发现错误,从而保证程序的健壮性
标识符 用来给程序中变量 , 类、方法命名的符号,必须以字母下划线$开头
关键字都是小写
java 类型 基本类型 boolean
数值类型 整数类型
浮点类型
引用类型 类 接口 数组 null类型
char表示字符型 实际上字符型也是一种整数类型 相当于无符号的整数类型
引用类型就是对一个对象的引用 对象包括 实例和数组两类 引用类型变量实际就是一个指针
二进制数用 0b/0B表示
十六进制数用 0x/0X 表示
java 浮点数使用二进制数据的科学计数法来表示浮点数,因此不可能精确的表示浮点数
java提供了三个特殊的浮点数值 正无穷大 负无穷大 非数 用于表示溢出和出错
所有的正无穷和正无穷都相等 负无穷和负无穷都相当
NAN和任何数值都不相等 包括 NAN
java会自动把和浮点数运算的0 转化为0.0 如果是一个整数处于0 将会出现异常
java 1.7 后可以在数字下使用_表示分割符 1_0000_1111 ;
java 规范并没有强制指定Boolean类型变量所占有的内存空间 由于很多计算机内存允许分配的最小内存空间是字节(8位),因此大部分时候还是占一个8位
3.5.3 表达式类型的自动提升
当一个算数表达式包含多个基本类型的值时,整个算数表达式的数据类型将发生自动提升
所有的byte short char 类型将被提升到Int 类型
所有的算数表达式都将提升表达式中最高的操作级相同的类型
常量池 是指在编译期就被确定,并被保存在编译的.class文件中的一些数据 包括类 方法 接口中的常量 也包括字符串中的直接量