变量的数据类型
阅读 (113788)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);
}
}
运行结果: