Java基础(002)-基本数据类型
|1961字|456阅读
java基本数据类型
1八种基本数据类型
Java有八种基本数据类型
- int型:int:32 位、最常用,-2^31-1~2^31 (21 亿)
-
byte型: byte:8 位,用于表示最小数据单位,如文件中数据,-128~127
byte是一个字节保存的,有8个位,即8个0、1。
8位的第一个位是符号位,
也就是说0000 0001代表的是数字1 1000 0000代表的就是-1
所以正数最大位0111 1111,也就是数字127, 负数最大为1111 1111,也就是数字-128
在计算机中,如果我们用1个字节表示一个数,一个字节有8位,超过8位就进1,在内存中情况为(100000000),进位1被丢弃。
⑴一个数为正,则它的原码、反码、补码相同
⑵一个数为负,补码为:负数的绝对值的反码加1
-
1的原码为 10000001
-
1的反码为 11111110 + 1
-
1的补码为 11111111
10 原码:0000 1010 它在计算机中的存储就是 0000 1010,
-10 绝对值10 原码: 0000 1010 反码: 1111 0101 再加1后:1111 0110,此为-10补码,
好的,计算机中的1111 0110就是代表-10了。
-128 绝对值128的二进制表示:1000 0000 按位取反 0111 1111 加1后:1000 0000,
也就是说 -128在计算机中的表示就是 1000 0000 了,
- byte类型 最大值 127对应原码: 01111111
- byte类型 0对应的原码: 00000000
- byte类型 -1对应的补码: 11111111
- byte类型 最小值-128对应补码: 10000000
-
- short型: short:16 位,很少用,-32768 ~ 32767
- long: long:64 位、次常用 注意事项: int i=5; // 5 叫直接量(或字面量),即 直接写出的常数。 整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 L或 l。 小于 32 位数的变量,都按 int 结果计算。 强转符比数学运算符优先级高。见常量与变量中的例子。
- float型: float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。
- double型: double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾 注意事项: 二 进 制 浮 点 数 : 1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方) 尾数: . 1010100010 指数:1010 基数:2 浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f;double 类型可不写后缀,但在小数计算中一定要写 D 或 X.X float 的精度没有 long 高,有效位数(尾数)短。 float 的范围大于 long 指数可以很大。 浮点数是不精确的,不能对浮点数进行精确比较。
- char型:字符类型(char):char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535) 。 注意事项: 不能为 0个字符。 转义字符:\n 换行 \r 回车 \t Tab 字符 \" 双引号 \\ 表示一个\ 两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。
- boolean型:布尔类型(boolean):true 真 和 false 假。
2类型转换:
char--> 自动转换:byte-->short-->int-->long-->float-->double
<br>强制转换:①会损失精度,产生误差,小数点以后的数字全部舍弃。②容易超过取值范围。
3记忆
- 8位:Byte(字节型)
- 16位:short(短整型)、char(字符型)
- 32位:int(整型)、float(单精度型/浮点型)
- 64位:long(长整型)、double(双精度型)
- 最后一个:boolean(布尔类型)
|1961字|456阅读