1.整数类型
整数类型有byte,short,int,long,都是有符号(补码)整数(即能表示负数).
整数字面量(127-128)默认是int类型,如果不超出声明类型的范围,则可以给出小类型直接赋值(不需要强记,在编写程序过程中会逐渐理解)。(推荐学习:Java视频教程)
使用整数类型要注意取值范围,(-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)。
一般用于判断语句块中:
public class demo{ boolean b=false; if(b==true){ System.out.println("回家睡觉"); }else{ System.out.println("熬夜加班"); } }
更多Java相关技术文章,请访问Java开发教程栏目进行学习!
以上就是Java的八大基本数据类型的详细内容,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)