1.数据类型
1.1数据类型的作用
数据类型用来声明变量,程序在运行过程中根据不同的数据类型分配不同大小的空间
语言类型的分类:强类型语言、弱类型语言
强类型语言:要求变量的使用要严格符合规定 所有变量都必须先定义后使用
2.java数据类型的分类
- 基本数据类型(primitive type)(四类八种)
- 引用数据类型(reference type) 类、接口、数组
.
- 浮点数拓展
浮点型数据实际上在内存中存储的时候大部分情况下都是存储了数据的近似值
- 最好完全使用浮点数进行比较
- 在财务方面:java.math.BigDecimal
- java中规定,任何一个浮点数据默认被当做double来处理,如果想让这个浮点型字面量被当做float类型来处理,那么需在字面量后添加F/f。
- 字符拓展
- 所有字符本质还是数字
- 编码 Unicode 表:(a=97 A=65)2字节 0-65536
- ASCII码’a’—->97 ‘A’—->65 ‘0’—->48
- 需要记住:
- ASCII
- ISO-8859-1(国际组织制定)
- GB2312
- GBK
- GB18030
- Big5(台湾使用)繁体中文
- unicode(utf-8 utf16 utf)
byte、shout、char、做混合运算的时候,各自先转换成int再做运算
多种数据类型做混合运算的时候,最终的结果类型是“最大容量”对应的类型
3.计算机存储单位
计算机只能识别二进制。
1byte(字节)=8bit(比特)
1kb=1024byte
取值范围
byte:[-128~127]
shout:[-32768~32767]
int:[-2147483648~2147483647]
char:[0~65535]
4.基本数据类型的转换
- 八种基本数据类型中,除 boolean 类型不能转换,剩下七种类型之间都可以进行转换;如果整数型字面量没有超出 byte,short,char 的取值范围,可以直接将其赋值给
byte,short,char 类型的变量 - 小容量向大容量转换称为自动类型转换,容量从小到大的排序为: byte < short(char) <int < long < float < double, 其中 short 和 char 都占用两个字节,但是 char 可以表示更大的正整数
- 大容量转换成小容量,称为强制类型转换,编写时必须添加“强制类型转换符”,但
运行时可能出现精度损失,谨慎使用 - byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算
多种数据类型混合运算,各自先转换成容量最大的那一种再做运算
