Java变量
Java基础
变量
- 变量是程序中的基本存储单元
- 包含字母,数字,下划线,$
- 不能以数字开头
- 严格区分大小写
变量类型
- 基本类型:
- int,4byte,一般值都定义为int即可
- short,2byte,
- long,8byte,变量值以L或l作为后缀
- byte,8bit,可以表述-128~127
- float,4byte,小数位可以精确到7位有效,变量值以F或f作为后缀
- double,精度是float的两倍,一般小数定义为double类型即可
- char,2byte,有且仅有一个字符,java中字符统一使用unicode字符集。
- boolean,4byte,值只有true和false
- 引用类型:
- 类(class),
- String类型,与基本类型间只能做拼接运算
- String类型不能自动转换为基本数据类型
- 可以通过Integer.parseInt()强制转换为int类型
- 数组(array),
- 接口(interface),
- 枚举(enum),
- 注解(annotation),
- 记录(record)
变量声明
变量自动类型提升
- 类型容量小的与类型容量大的运算时可以自动转换为容量大的类型
- 提升顺序如下
- byte,short,char > int > long > float > double
- byte,short,char运算时会提升为int
- 强制类型转换:int i1 = (int)12.3
进制转换
- 十进制转二进制,除2取余的逆
- 二进制转十进制,按位乘权值相加
- 任意进制间转换,通过二进制做中转
- 二进制中正数是源码,反码,补码相同
- 负数,则先找对应的正数原码,将符号位变为1,
- 转为反码,将除符号位外的其余位取反
- 转为补码,将反码加1
注意
- 变量必须先声明后使用
- 浮点型变量精度不高,在计算时会出现误差,如0.1+0.2不等于0.3。在金融领域采用BigDecimal类来代替浮点型变量
- 自动类型转换会发生在不同类型的变量运算时,小容量自动转大容量,如果是大容量赋值给小容量则会报错,如float a = 12.3,则会报错,默认12.3是double,除非12.3F则正确
- char声明的变量使用单引号,String声明的变量使用双引号
- 'a'+1+"hello"的运算结果是98hello,a为字符与1可以运算自动转为int,与String进行拼接