认识二进制
- 十进制
- 每一位可以是0~9这10个值,到10进位。一百用十进制表示就是100,十就是10。
- 二进制
- 每一位可以是1和2这两个值,到2进位。一百用二进制表示就是1100100,十就是1010。
- 十六进制
- 每一位可以是0~F这16个值,到16进位。一百用十六进制表示就是64,十就是A。
- bit和byte
- 一个二进制的位叫做一个bit。网络带宽中的单位,都是bit。(例如电信宽带所说的100M宽带指的就是100Mbit,实际下载速度要除以8,变成字节,也就是byte。)
- 八个二进制的位,组成一个byte(字节)。硬盘等存储的单位,都是byte。
- byte是计算机中基本的衡量存储的单位,计算机在对外使用时不会用bit作为划分存储的单位。(文件大小之类的都是byte,不会说是bit)
数字的基本数据类型
- 整数类型
- byte占用1个byte,值域是 -128~127
- short占用2个byte,值域是 -32768~32767
- int占用4个byte,值域是-2147483648~2147483647 Java中整数缺省是int类型。
- long占用8个byte,值域是-9223372036854774808~9223372036854774807
- 浮点(小数)类型
- float占用4个byte,有精度,值域复杂 +-340282346638528859811704183484516925440
- double精度是float的两倍,占用8个byte。Java中浮点数缺省是double类型。
- 符号位
- 符号位即八位字符的第一位,1为负,0为正。
- 八位字符也就是一个byte(字节),原本最大代表255,但是第一位是符号位,因此大小减了一半,最大为127。
布尔和字符数据类型
- boolean占用1个byte,值域是true,false。
- char占用2个byte,值域是所有字符。
代码示例:
public class PrimaryTypes { public static void main(String[] args) { // 整数类型 byte short int long byte byteVar = 99; System.out.println(byteVar); short shortVar = -30000; System.out.println(shortVar); int intVar = 300000; System.out.println(intVar); long longVar = 99; long bigLongVar = 9999999999999999L; System.out.println(bigLongVar); // 浮点类型 float(f/F) double double精度是float的两倍 float floatVar = 100.1111111f; System.out.println(floatVar); double doubleVar = 100.1111111; System.out.println(doubleVar); // 布尔类型 true false boolean condition = true; boolean fcondition = false; System.out.println(condition); // 字符类型 字符用单引号 字符串用双引号 char ch = 'A'; System.out.println(ch); } }