共计 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);
}
}
运行结果: