JAVA笔记一:JAVA八大数据类型

JAVA中的八大数据类型为byte,short, int ,long,float, double, char,boolean。

byte

byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。

在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。byte的默认值是0。byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一。(字节空间:1Byte)

为什么取值范围是[-128, 127]?

计算机中,整型类数据都是用补码来存储的,如:char,short,int,long都是。正数的补码是自身,负数的补码是原码取反加1,在表现上会按负数输出。但浮点型数据不同,它有自己的格式,浮点型数据是按IEEE754标准进行存储的,详情可查阅IEEE754标准 。

最高位为符号位,所以byte的最大整数是01111111,即+127。这时候会出现一个错误理解,我们会觉得byte的最小整数是11111111。但这是补码,我们先把11111111取反得到00000000,再加一,可得到00000001,最后得到结果为-1。所以,byte中最小的整数是10000000,取反加一后可得10000000,结果为-128。

最后可得出结论byte的取值范围是[-128, 127]。

short

short,即短整型数据类型,short是16位带符号的二进制整数,short的取值范围是[-32768, 32767](具体原因与byte相同)。short的默认值是0。Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一。(字节空间:2Byte)

int

int,即整型数据类型,int是32位带符号的二进制整数。int的取值范围是[-2,147,483,648, 2,147,483,647](具体原因与byte相同)。int的默认值是0。(字节空间:4Byte)

long

long,即整型数据类型,long是32位带符号的二进制整数。int的取值范围是[-9,223,372,036,854,775,808, 9,223,372,036,854,775,807](具体原因与byte相同)。long的默认值是0L。("L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。)(字节空间:8Byte)

float、double

float 数据类型是单精度、32位、符合IEEE 754标准的浮点数。(字节空间:4Byte)
double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数。(字节空间:8Byte)
浮点数的默认类型为double类型。
float的默认值是0.0f,double的默认值是0.0d
关于float和double的取值范围和精度可以看这篇文章,大佬写的很详细
链接: Java中float/double取值范围与精度.
结论为:在这里插入图片描述

char

char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。默认值是(字节空间:2Byte)

char类型赋值:

char a = 'a';  //任意单个字符,加单引号。
char a = '好';//任意单个中文字,加单引号。
char a = 123;//整数。0~65535。十进制、八进制、十六进制均可。输	出字符编码表中对应的字符。

char类型运算

char m = ‘a’;
char m = ‘a’ + ‘b’;//char类型相加,提升为int类型,输出对应的字符。
int m = ‘a’ + ‘b’;//结果是195。//195没有超出int范围,直接输出195。
char m = ‘a’ + b;//会报错。//因为b是一个赋值的变量。
char m = 197;//输出字符编码表中对应的字符。
char m = ‘197’;//会报错。//因为有单引号,表示是字符,只允许放单个字符。
char m = ‘a’ + 1;//输出结果是b。//提升为int,计算结果98对应的字符是b。

boolean

boolean是一种表示逻辑值的简单类型,称为布尔型。它的值只能是真或假这两个值中的一个。默认值是false(字节空间:1Byte)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值