共计 2046 个字符,预计需要花费 6 分钟才能阅读完成。
1、数据类型
Java 是一种强类型语言,对不同数据结构进行了严格的区分,对每一种数据类型都做了明确定义,也同时规定了每一种数据类型的变量在内存中占用空间的大小。
1.1、比特位
比特位 (bit) 是计算机当中最小的存储单位,由于机器码只识别 1 与 0,所以每一位的 1 与 0 均为一个比特位
1.2、字节
字节是计算机当中存储数据的基本单位,每种数据类型都会占用一定的空间。
1.2.1、字节组成规则
在计算机当中如果使用 bit 来计算数据过于冗余复杂,所以以 8 个比特位组成一个新的单位——字节,作为数据存储的基本单位
1.2.2、常见的数据存储单位之间的转换
1B(字节)= 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1.3、数据类型分类
数据类型分为基本类型与引用类型,引用类型包括:数组、类、接口,在面向对象后期会全部介绍完毕。这里着重介绍基本数据类型。
1.3.1、整数型
int 占用 4 个字节 (整数的默认值)
byte 占用 1 个字节
short 占用 2 个字节
long 占用 8 个字节
注意:long 类型在赋值时,需要在值后加入字母 l(L)区分其是一个长整型
如 int i = 100; short s = 66; long l = 100L;
/* | |
数据类型: | |
整数:(精确) | |
byte: 占用 1 个字节 | |
short: 占用 2 个字节 | |
int: 占用 4 个字节(默认) | |
long: 占用 8 个字节, 使用时必须在末尾加上一个小写字母 l 或者大写字母 L | |
*/ | |
public class VarDemo03{public static void main(String[] args){ | |
// 整数 byte | |
byte b = 100; | |
System.out.println("b="+b); | |
// 整数 short | |
short s = 10000; | |
System.out.println("s="+s); | |
// 整数 int | |
int i = 1600000000; | |
System.out.println("i="+i); | |
// 整数 long | |
long l = 6000000000L; | |
System.out.println("l="+l); | |
} | |
} |
运行结果:
1.3.2、浮点数型
double 占用 8 个字节 (小数的默认值)
float 占用 4 个字节
注意:float 类型在赋值时,需要在值后加入字母 f(F)区分其是一个浮点型
如 double d = 100.0; double d2 = 10.1; float f = 100.0F;
/* | |
数据类型: | |
小数:(不精确, 近似值) | |
float: 占用 4 个字节, 使用时必须在末尾加上一个小写字母 f 或者大写字母 F | |
double: 占用 8 个字节(默认) | |
*/ | |
public class VarDemo04{public static void main(String[] args){ | |
// 小数 double | |
double d = 3.14; | |
System.out.println("d="+d); | |
// 小数 float | |
float f = 2.6f; | |
System.out.println("f="+f); | |
// 小数是一个不精确的数 | |
System.out.println("f-2="+(f-2));//0.5999999 | |
} | |
} |
执行结果:
1.3.3、字符型
char 占用 2 个字节,必须使用’’包裹,且不能为空。
如:char c =‘a’; char c2 =‘中’; char c3 =‘(空格)’; char c4 =‘$’
char c1=’\’; char c5=’’’;
/* | |
数据类型: | |
字符: | |
char: 占用 2 个字节 | |
注意事项: | |
字符不能为空 | |
字符实际存储的是一个数值 | |
想把具有特殊含义 ', 转换成普通的字符, 用转义字符 \' | |
想把普通字符 t, 变成一个具有特殊含义的字符, 用转义字符 \t | |
*/ | |
public class VarDemo05{public static void main(String[] args){ | |
// 字符 | |
char c = 'a'; | |
System.out.println("c="+c); | |
// 转义字符 | |
char c1 = '\''; | |
System.out.println("c1="+c1); | |
char c2 = '\t'; | |
System.out.println("c2="+c2+"Hello"); | |
System.out.println('\\'); | |
// 字符实际存储的是一个数值 | |
System.out.println("c+1="+(c+1)); | |
} | |
} |
运行结果:
1.3.4、布尔型
布尔值是我们比较陌生的类型,它代表一些条件成立与不成立的判断。只有两个值 true 与 false。
boolean 占用 1 个字节
如:boolean b = true; boolean b2 = false;
/* | |
数据类型: | |
布尔: | |
boolean:(true,false)占用 1 个字节 | |
*/ | |
public class VarDemo06{public static void main(String[] args){ | |
// 布尔 | |
boolean b1 = true; | |
System.out.println("b1="+b1); | |
boolean b2 = false; | |
System.out.println("b2="+b2); | |
} | |
} |
运行结果:
