JAVA的基本数据类型-CSDN博客

120 阅读4分钟
JAVA的数据类型

JAVA的数据类型主要分为以下两类:

(1)基本数据类型
基本数据类型描述
byte/short/int/long用于描述整数数据的,如:66
float/double用于描述小数数据的,如 3.14
boolean用于描述真假信息的,如: true 和 false
char用于描述字符数据的,如: ‘a’
(2)引用数据类型

数组、类、接口、枚举以及标注

单个字节表示的整数范围

在计算机中单个字节表示8位二进制,,描述的整数范围是:
对于非负数来说,描述的范围是: 0000 0000 ~ 0111 1111 => 0~127 =>0~2的7-1次方

推导过程:
0000 0000 => 0
0111 1111 => 1∗26+1∗25+1∗24+1∗23+1∗22+1∗21+1∗20
========> 64 + 32 + 16 + 8 + 4 + 2 +1
========>127

对于负数来说,描述的范围是: 1000 0000 ~ 1111 1111 => -128 ~ -1 => −27 ~ −20

1000 0000 => 按位取反: 0111 1111
=>再加1: 1000 0000
=>转换为十进制整数:128
=>添加负号:-128

1111 1111 =>按位取反: 0000 0000
=>再加1:0000 0000
=>转换为十进制整数: 1
=>添加负号: -1

综上所述:对于单个字节所能描述的十进制整数范围是: -128 ~ 127
常见进位制转换>>

整数类型

在JAVA语言中用于描述整数数据的关键字有: byte、short、int、long,推荐使用int类型

数据类型在内存空间表示的整数范围表示的整数范围
byte占1个字节−27 ~ 27−1-128 ~ 127
short占2个字节−215 ~ 215−1-32768 ~ 32767
int占4个字节−231 ~ 231−1正负二十一亿之间
long占8个字节−263 ~ 263−1比int类型还大的数

注:
在程序中直接写出的整数数值叫做直接量/常量/字面值,默认情况下为int类型,如:120.
如希望描述超过int类型的直接量数据,则需要在直接量后面加上l或L,(避免与数字1混淆,推荐大写L)。

当long类型都不足以描述时,可以使用java.math.BigInteger类型加以描述。

浮点类型

在JAVA语言中用于描述小数数据的关键字有:floatdouble,推荐使用double类型。

float类型在内存中占4个字节,叫做单精度浮点型,通常小数点后取到7位。
double类型在内存中占8个字节,叫做双精度浮点型,通常小数点后取到14位。

注:
在程序中直接写入的小数数值叫做直接量,默认情况下为double类型,如:3.14
若希望描述的小数数据是float类型,则需要在直接量的后面加上f或者F。
由于float类型和double类型都无法实现精确运算,因此可以使用java.math.BigDecimal类型加以描述。

布尔类型

在Java语言中用于描述真假信息的关键字有:boolean类型,数值只有:true 和 false。
其中boolean类型所占内存空间的大小没有明确规定,按照分析来看一个二进制位足以表示,但通常情况下看做1个字节来对待。

字符类型char

在Java语言中用于描述单个字符信息的关键字有:char类型,通常使用”括起来,’a’,’1’。
其中char类型所占内存空间的大小为2个字节,通常描述字符之外还有描述汉字,如:’中’
实际开发中通常使用String类型描述多个字符组成的整体,叫做字符串,使用”“括起来

基本数据类型之间的转换

在JAVA语言中数据类型之间的转换形式有:自动类型转换强制类型转换
其中自动类型转换主要指从小范围向大范围的转换过程。
其中强制类型转换主要指从大范围向小范围转化的过程。
语法格式:
目标类型 变量名 = (目标类型)源类型的变量名;
例:

short s2 = 200;
byte b1 = (byte)s2;