Java数据类型

2019/06/02 Java

Java数据类型,分为基本数据类型和引用类型。基本数据类型,又细分为8种基本数据类型,分别是byte、short、int、long、float、double、boolean和char。


数据类型的概念

  • 变量就是申请内存空间来存储值。也就是说,创建变量的时候,需要申请内存空间。
  • 内存管理系统根据变量的类型来分配空间,并且分配的空间,只能存储该数据类型。
  • Java的两大数据类型:内置数据类型、引用数据类型。

基本数据类型

基本数据类型有八种,其中包括:四种整数型(byte,short,int,long),两种浮点型(float,double),一种字符类型(char),一种布尔类型(boolean)。

byte

  • byte数据类型是8位,有符号的,以二进制补码表示的整数。
  • 最大值2^7-1(127),最小值-2^7(-128),默认值是0。
  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一。
  • 例子:byte a = 100,byte b = -50。
  • 二进制里,最高位(第一位)表示符号。0表示正,1表示负。

short

  • short 是16位,有符号的,以二进制补码表示的整数。
  • 最大值是2^15-1(32767),最小值是-2^15(-32768),默认值是0.
  • Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一。
  • 例子:short s = 1000,short r = -20000。

int

  • int 是32位、有符号的以二进制补码表示的整数。最左侧的一位是符号位。0代表正数,1代表负数。
  • 最大值是2^31-1(2,147,483,647),最小值是-2^31(-2,147,483,648), 默认值是0。
  • 一般地整型变量默认为 int 类型;
  • 例子:int a = 100000, int b = -200000。

long

  • long 是 64 位、有符号的以二进制补码表示的整数。
  • 最大值2^63-1, 最小值2^63,默认值是0L。最大长度为19位。
  • 这种类型主要使用在需要比较大整数的系统上。
  • 例子: long a = 100000L,Long b = -200000L。”L”理论上不分大小写,但是若写成”l”容易与数字”1”混淆,不容易分辩。所以最好大写。

float

  • float 是单精度、32位、符合IEEE 754标准的浮点数。
  • float 在储存大型浮点数组的时候可节省内存空间。
  • 默认值是 0.0f。
  • 浮点数不能用来表示精确的值,如货币。
  • 例子:float f1 = 234.5f。
  • 进行带有小数的操作,会存在精度丢失的问题,十进制转化二进制,存在转换不完的情况。
  • 整数部分:除2取余,结果为0即可,余数部分组合成二进制数。
  • 小数部分:乘2取整,小数部分为0即可。整数部分组合成二进制数。

double

  • double 是双精度的,64位,符合IEEE 754标准的浮点数。
  • 浮点数的默认类型为double类型。
  • double也不能用来标示精确的值,如货币。
  • 默认值是0.0d。
  • 例子:double d1 = 123.4。
  • 进行带有小数的操作,会存在精度丢失的问题,十进制转化二进制,存在转换不完的情况。
  • 整数部分:除2取余,结果为0即可,余数部分组合成二进制数。
  • 小数部分:乘2取整,小数部分为0即可。整数部分组合成二进制数。

boolean

  • boolean 表示一位的信息。
  • 只有两个取值:true 和 false。
  • 这种类型只作为一种标志来记录 true/false 情况。
  • 默认值是 false。
  • 例子:boolean one = true。

char

  • char 是一个单一的 16 位 Unicode 字符。
  • 最小值是 \u0000(即为0)。
  • 最大值是 \uffff(即为65,535)。
  • char 数据类型可以储存任何字符。
  • 例子:char letter = ‘A’。

引用类型

  • 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、User 等。变量一旦声明后,类型就不能被改变了。
  • 对象、数组都是引用类型变量。
  • 所有引用变量的默认值都是NULL。
  • 一个引用变量可以用来引用任何与之兼容的类型。

Search

    Table of Contents