java基本数据类型

Java基本数据类型

##1.Java的两大数据类型:
(1).基本数据类型
(2).引用类型
Java语言提供了八种基本数据类型。六种数字类型(四个整数型,两个浮点型),一
种字符类型,还有一种布尔型。

2.数字类型:
(1).byte:
byte 数据类型是8位(1bit=8位字节)、有符号的,以二进制补码表示的整数;
最小值是 :-128(-2^7);
最大值是 :127(2^7-1);
默认值是 :0;
内存大小(字节):1;
内存位数:2;
例子:byte a = 100,byte b = 50。
A1:一个bit有8个位数,第一位数是符号位(+、-),后面7位是数据位,一个格子和旁边的一个格子临界点拥有两个可能且符号位占了一个位,所以2^7。
在这里插入图片描述
(2).short:
short 数据类型是 16 位、有符号的以二进制补码表示的整数
最小值是 :-32768(-2^15);
最大值是 :32767(2^15-1);
Short 数据类型可以节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是 :0;
内存大小(字节):2;
内存位数:16;
例子:short s = 100,short r = 200。

(3).int:
int 数据类型是32位、有符号的以二进制补码表示的整数,没有数据转换默认为int数据类型;
最小值是 :-2,147,483,648(-2^31);
最大值是 :2,147,483,647(2^31-1);
一般地整型变量默认为 int 类型;
默认值是 :0 ;
内存大小(字节):4;
内存位数:32;
例子:int a = 1000, int b = 2000。
A1:打印结果为63,打开计算器选择“OCT”77,八进制转换“DEC”为63。
.十六进制数:0xF。
.八进制数:0开头。
.二进制数:0b开头。
byte、short、int、long都使用这种进制,其中byte数值不能大于最大值。

在这里插入图片描述
(4).long:
long 数据类型是 64 位、有符号的以二进制补码表示的整数;
最小值是 :-9,223,372,036,854,775,808(-2^63);
最大值是 :9,223,372,036,854,775,807(2^63-1);
这种类型主要使用在需要比较大整数的系统上;
默认值是 :0;
内存大小(字节):8;
内存位数:64;
例子: long a = 100000L,Long b = 200000L。
注意:"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所
以最好大写。
A1:long整数类型报错原因,java中默认输入数字为int类型,数字已经超出int类型值,所以在数字后面加大写“L”表明是long类型。

在这里插入图片描述
3.浮点数:(小数)
(1).float:
float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
float 在储存大型浮点数组的时候可节省内存空间;
最小值是 :-3.4028236692093846346337460743177e+38(-2^128);
最大值是 :3.4028236692093846346337460743177e+38(2^128);
默认值是 :0.0f;
内存大小(字节):4;
内存位数:32;
A1:单精度:float类型(32位):1bit(符号位)、 8bits(指数位)、23bits(尾数位)。
B1:1bit(符号位):最高位,0代表正数,1代表负数。
B1:8bits(指数位):其中第一位是指数符号位,第二是指数数据位,所以只有7个数据位,2^7。
B3:23bits(尾数位):用来记录小数的详细精度,小数转换为二进制的精度,最多能保存23位二进制小数=2^23,所以超出范围的会进行保留近似值,意味着小数不一定是精确值。

在这里插入图片描述
B4:计算机小数的二进制计数法“E”代表10^的次方。
在这里插入图片描述
浮点数不能用来表示精确的值,如货币;
例子:float f1 = 234.5f。
A2:单单设置小数系统会报错,因为系统默认小数为double类型,所以要在后面加修饰符“f”代表float类型。
在这里插入图片描述
(2).double:
double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
最小值是 :1.797693134862315907729305190789e+308(-2^1024);
最大值是 :1.797693134862315907729305190789e+308(2^1024);
默认值是 :0.0d;
内存大小(字节):8;
内存位数:64;
例子:double d1 = 123.4。
A1:双精度:Double类型(64位):1bit(符号位)、 11bits(指数位)、52bits(尾数位)。
B1:1bit(符号位):最高位,0代表正数,1代表负数。
B1:11bits(指数位):其中第一位是指数符号位,第二是指数数据位,所以只有10个数据位,2^10=1024。
B3:52bits(尾数位):用来记录小数的详细精度,小数转换为二进制的精度,最多能保存52位二进制小数=2^52,所以超出范围的会进行保留近似值,意味着小数不一定是精确值。
B4:无论是float(单精度)还是double(双精度)但是近似值。
在这里插入图片描述
A2:精度丢失:所以float和double不能用来表示精确的值,如货币、高级科学研究等等数据要求高的用途。
在这里插入图片描述
A3:double情况下的小数不用加修饰符,默认小数为double类型可加可不加。
在这里插入图片描述
4.布尔型:
(1).boolean:
boolean数据类型表示一位的信息;
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 :false;
例子:boolean one = true。
A1:true、false两种状态在计算机中可以用一位来存放,可以用0表示(假)、1表示(真),但是计算机中分配最小单位是一个字节,所以往往会一个位数分配一个字节。
5.字符型:
(1).char:
char类型是一个单一的 16 位 Unicode 字符;
最小值是 :\u0000(即为0);
最大值是 :\uffff(即为65,535);
默认值是 :u0000’
内存大小(字节):2;
内存位数:16;
char 数据类型可以储存任何字符;
例子:char letter = ‘A’;
A1:char字符型编码属于Unicode字符国际编码,大小2个字节,位数为16位且没有符号位。
A2:出现中文原因Unicode编码包含了国际大多数语言的编译,65535每一个都对应一个编码。
在这里插入图片描述
A3:java中String属于类,引用数据类型。
在这里插入图片描述
(个人理解望指正)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值