【Java基础知识】Java中的基本数据类型

大家好,我是代码界的小白,半跨计算机选手。


依稀记得微博一面的时候,面试官就问了这个问题,让我讲一下Java中的基本数据类型,并说一下每一个数据类型的占据多少字节。


Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte

  • byte 数据类型是8位、有符号的,以二进制补码表示的整数;

  • 最小值是 -128(-2^7)

  • 最大值是 127(2^7-1)

  • 默认值是 0

  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;

  • 例子:byte a = 100,byte b = -50。


short

  • short 数据类型是 16 位、有符号的以二进制补码表示的整数

  • 最小值是 -32768(-2^15)

  • 最大值是 32767(2^15 - 1)

  • Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;

  • 默认值是 0

  • 例子:short s = 1000,short r = -20000。


int

  • int 数据类型是32位、有符号的以二进制补码表示的整数;

  • 最小值是 -2,147,483,648(-2^31)

  • 最大值是 2,147,483,647(2^31 - 1)

  • 一般地整型变量默认为 int 类型;

  • 默认值是 0

  • 例子:int a = 100000, int b = -200000。


long

  • long 数据类型是 64 位、有符号的以二进制补码表示的整数;

  • 最小值是 -9,223,372,036,854,775,808(-2^63)

  • 最大值是 9,223,372,036,854,775,807(2^63 -1)

  • 这种类型主要使用在需要比较大整数的系统上;

  • 默认值是 0L

  • 例子:long a = 100000L,Long b = -200000L。"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。


float

  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;

  • float 在储存大型浮点数组的时候可节省内存空间;

  • 默认值是 0.0f

  • 浮点数不能用来表示精确的值,如货币;

  • 例子:float f1 = 234.5f。


double

  • double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;

  • 浮点数的默认类型为 double 类型;

  • double类型同样不能表示精确的值,如货币;

  • 默认值是 0.0d

  • 例子:

    double   d1 = 7D ; double   d2 = 7.; double   d3 = 8.0; double   d4 = 8.D; double   d5 = 12.9867;

    7 是一个 int 字面量,而 7D,7. 和 8.0 是 double 字面量。


boolean

  • boolean数据类型表示一位的信息;

  • 只有两个取值:true 和 false;

  • 这种类型只作为一种标志来记录 true/false 情况;

  • 默认值是 false

  • 例子:boolean one = true。


char

  • char 类型是一个单一的 16 位 Unicode 字符;

  • 最小值是 \u0000(十进制等效值为 0);

  • 最大值是 \uffff(即为 65535);

  • char 数据类型可以储存任何字符;

  • 例子:char letter = 'A';。

附表1 Java基本数据类型字节和默认值


java和C中基本数据类型的所占字节数对比(包括32位机器和64位机器对比)

数据类型 32位计算机 64位计算机
byte 1 1
char 2 2
int 4 4
long 4 8
float 4 4
double 8 8
char*(以及其他指针) 4 8

以上长度单位是字节 byte,一字节等于 8 bit。(下面java也一样)

注意:c语言中 long 和 char* 取决于机器字长,并且长度与机器字长等长。

数据类型 32位计算机 64位计算机
byte 1 1
char 2 2
int 4 4
long 8 8
float 4 4
double 8 8
引用 4 8

注意:java实现了平台无关,所以所有的基本数据类型字长和机器字长无关,即32位和64位一样,但是引用(地址)与机器字长有关


引用类型

  • 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。

  • 对象、数组都是引用数据类型。

  • 所有引用类型的默认值都是null。

  • 一个引用变量可以用来引用任何与之兼容的类型。

  • 例子:Site site = new Site("Runoob")。

推荐阅读:可关注公众号








#Java##学习路径#
全部评论
欢迎大家关注哈
点赞 回复 分享
发布于 2021-11-01 21:44

相关推荐

09-19 14:12
武汉大学 golang
并没有发笔试,只是顺延了两次,去看官网发现流程结束了
无敌忍耐王:三个工作日没人捞就自动结束了
投递美团等公司10个岗位
点赞 评论 收藏
分享
牛客40297450...:不是研究生强,是你强
点赞 评论 收藏
分享
评论
3
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务