补充Day2:数据类型
进制
- 二进制:0b开头
- 十进制
- 八进制:0开头
例:010- 十六进制:0x开头
例:0x10
浮点数
- 浮点数的值是离散的,可能会取一个大约的接近的值,并且会舍去一部分数,即产生误差
- 最好避免使用浮点数进行比较
类型转换
运算中,不同类型的数据先转换为同一类型,然后再进行计算
自动类型转换
- 不同类型的数据进行计算时,会将低容量的类型转换为高容量的类型
低 ------------------------------------------------ 高 byte,short,char -> int -> long -> float -> double
强制类型转换
格式:(类型名)变量名
注意
- 所有字符的本质还是数字,根据Unicode表进行编码
- 不能对布尔值进行类型转换
- 转换时可能存在精度问题或者内存溢出(操作比较大的数据时)
- JDK特性:数字之间可以用下划线分割,如10_0000_0000
附:
int a=1000000000; int b=20; int c=a*b; // 此处计算时会溢出 long d=a*b; // 先用int类型计算,计算后溢出,再赋值给d,所以结果还是不对 long e=(long)a*b; // 正解
变量与常量
变量
- 每个变量都必须声明其类型
- 变量是程序中最基本的储存单元,包括变量名,变量类型以及作用域
- 变量类型可以是基本类型,也可以是引用类型
- 变量名必须是合法标识符
- 变量声明是一条完整的语句,每个声明都必须以分号结尾
- 格式:数据类型 变量名=值;
变量作用域
- 类变量:(格式)static 数据类型 变量名=值;
可以在多个方法中使用 - 局部变量:只能在所在方法内使用,且必须声明和初始化值
- 实例变量:从属于对象,如果不自行初始化,则默认值
默认值:基本类型:0或0.0,布尔值:false,其他:null
变量命名规范
- 所有名字:见名知意
- 方法名,类成员变量与局部变量:首字母小写与驼峰原则,如 monthSalary
- 常量:大写字母与下划线,如 MAX_VALUE
- 类名:首字母大写与驼峰原则,如 MainTain
常量
- 初始化后不能再改变值
- 常量名一般用大写表示
- 格式:final 常量名=值;
final 类型名 常量名=值;
如:final double PI=3.14;(修饰符不存在先后顺序)