带你细究java中的数据
带你细究java中的数据
一、基础知识
1、计算机中的数据
(1)计算机只能处理数据:程序=数据(变量)+算法(处理过程)
(2)任何事物都必须转换为数据交给计算机处理
- 时间:转换为long数据来处理
- 字符:16位无符号整数unicode
2、基本类型
(1)整数:有符号数(补码)
byte 8位补码
short 16位补码
int 32位补码
long 64位补码
(2)避免补码的超范围运算(溢出问题)
byte b = 120;
b = 129;//编译错误,超过范围
(3)字面量(直接量)
直接写出的值,常数
如:5 6 ‘中’ true false 3.14
(4)变量:有字母定义,值可以改变,如int i
(5)浮点数:float double (IEEE 754标准)
- float 32位浮点数,精度不高,很少使用 double
- 64位浮点数,精度高,是float的两倍,常用
(6)char 字符类型:字符是一个整数
char c = '3';
int n = c-'0';//(48+3)-48 = 3
c-'0'表达式可以将1位数字字符转换为数字
(7)数据类型转换
byte b =-1;
System.out.println(Integer.toHexString(b));
//System.out.println(Integer.toHexString((int)b));
3、强制类型转换
(1)超范围转换,会发生溢出现象
(2)小数部分会发生精度损失,小数点位数变短
二、数组相关知识
1、数组
(1)数组类型一致的一组变量
(2)数组语法
数组变量(数组类型变量)
数组变量通过引用地址引用了数组(数组对象)
数组(数组对象)
数组就是个体,是一个整体
数组元素的个数
数组的长度length
数组元素范围
0 1 2 3 4 ... length-1
数组元素
是数组中的每个变量,使用[下标]访问]
2、对象数组:元素是对象的数组,实际上元素是引用类型变量
Cell[] cells = new Cell[4];//创建数组,但元素是null
Cell[] line = new Cell[10];//创建数组,但元素是null
cells = new Cell[]{new Cell(0,4),new Cell(0,3),new Cell(0,5),new Cell(1,4)}
3、二维数组:本质是一维数组