Java中的数据类型,分为引用类型和基本数据类型。基本类型又分为8种,今天为大家介绍这8种基本数据类型:
1.整数类型 整数类型有byte,short,int,long,都是有符号(补码)整数(即能表示负数). 整数字面量(127-128)默认是int类型,如果不超出声明类型的范围,则可以给出小类型直接赋值(不需要强记,在编写程序过程中会逐渐理解)。 使用整数类型要注意取值范围,(-128~127)之间的整数字面量可以直接赋值给byte类型,Java会自动处理符号位,同理,short类型也是一样的(极少使用)。 Java底层byte,short按照32位计算(注意int类型范围也是32位)。 注:long类型的字面量需要使用“L”,"l"后缀,否则编译不通过。注意如下所示,因为整数值的默认字面量是int类型,12123123123明显超出int的范围,所以会编译错误,但如果在后面加了后缀“L”则表示该数是long类型的。 2.浮点数类型 用于表示小数的数据类型。浮点数原理:二进制科学计数法。 10进制浮点数科学计数法:219345=2.19345*(10^5) 2进制浮点数科学计数法:10111=1.0111*(2^100) 以2.19345*(10^5)为例介绍如下概念: 尾数:.19345 指数:5 基数:10 float类型共32位(与int相同),其中1位为符号位,指数8位,尾数23位。需要强调的是float的精度是23位(即能精确表达23位的数,超过就被截取了)。 小树是以尾数长度来表示精确度的,比如pi=3.14,它的精度是2位,pi=3.1415,它的精度就为4位。 比较有趣的是int的精度比float要大,因为int的精度是31位,大于float。 float类型因为精度过低,所以一般我们更常用double类型。 double类型能表示64位,其中1位符号位,11位指数,52位尾数(不用记存储格式,知道一般小数用double表示就足够了)。 double精度比int准确,能表示的范围比float大,但是不如long。 需要注意一点,浮点数的字面量默认是double。 3.字符类型char 字符类型是一个16位无符号整数,是一个2进制数,这个数值是一个字符的Unicode编码值。 编码是什么?在计算机中不能写字,只能用0和1表示数,那么我们人为做了规定,某个数除了表示一个数,还可以表示成一个字符。一个10进制数65代表的字符就是大写字母A 这一切都是为了尽可能的按人的习惯显示和输出,在计算机内部永远是0和1存储和运算的。 char类型是无符号的16位整数,最小值为0,最大值为65535=2^16-1,在程序中为一个字符赋值,字符字面量使用单引号,可以为char赋值的有字符、数字、符号。 需要注意的是:并不是所有字符都可见,比如/u0000,它一般作为C++中字符串的结束字符,不是"0",如下所示,控制台显示的小方框代表字符不可见。 4.boolean布尔类型 表达:真(true)/假(false)。 一般用于判断语句块中:
(责任编辑:yang) |