目录
数据类型
基本数据类型
自动类型转换
表达式的自动类型转换
强制类型转换
计算机中表示数据的最小单元
- 计算机中表示数据的最小单元:一个字节(byte,简称B,是使用8个二进制位组成的)
- 字节中的每个二进制位就称为位(bit,简称b),1B=8b
十进制转二进制
- 除二取余法
字符在计算机中的存储方式
- 采用ASCII编码存储
- ASCII编码表:即美国信息交换标准编码,规定了现代英语、数字字符、和其他西欧字符对应的数字编号。
char ch = 'a' ;
记住常用的A(65) ~Z、a(97)~z和0(48)~9
图片数据-彩色图
- 图片就是无数个像素点组成的
- 每个像素点的数据:用0~255*255*255表示其颜色
声音数据本质上也是由二进制的形式进行存储的
数据类型
基本数据类型
- 基本数据类型:4大类8种。
数据类型 | 内存占用(字节数) | 数据范围 | |
---|---|---|---|
整型 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2147483648~2147483647(10位数,大概21亿多) | |
long | 8 | -9223372036854775808~9223372036854775807(19位数) | |
浮点型(小数) | float | 4 | 1.401298E-45到3.4028235E+38 |
double(默认) | 8 | 4.9000000 E-324到1.797693 E+308 | |
字符型 | char | 2 | 0-65535 |
布尔型 | boolean | 1 | true, false |
注意:任意写一个整型字面量,要使它为long类型,则需要在后面加上L(默认为int);而要使小数字面量类型为float,则在后面加上F(默认为double)。
- 引用数据类型 —— String (后续再详解)
自动类型转换
- 类型范围小的变量,可以直接赋值给类型范围大的变量。
byte -> int
自动转换类型的其他形式
表达式的自动类型转换
- 在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。
byte 、short、char → int → long → float → double
注意:
- 表达式的最终结果类型由表达式中的最高类型决定。
- 在表达式中,byte、short、char是直接转换成int类型参与运算的。
强制类型转换
类型范围大的数据或者变量,直接赋值给类型范围小的变量,会报错。
int a = 20;
byte b = a; //会报错
强制类型转换
强行将类型范围大的变量、数据赋值给类型范围小的变量。
数据类型 变量2 = (数据类型)变量1、数据 ;
int a = 20;
byte b = (byte) a;
执行原理
- 强制类型转换可能造成数据(丢失)溢出;
- 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回
END
学习自:黑马程序员——JavaSE入门课程