Java基本数据类型

Java基本数据类型

Java 的两大数据类型:

  • 内置数据类型
  • 引用数据类型

一、 内置数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
整数:byte、short、int、long
小数:double、float
字符:char
布尔:boolean

  • byte

二进制位数:8 (1字节=8位=127个数字)
包装类:java.lang.Byte
最小值:Byte.MIN_VALUE=-128(-2^7)
最大值:Byte.MAX_VALUE=127(2^7-1)
默认值:0
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一
例子:byte a = 100,byte b = -50。

  • short

二进制位数:16 (2字节=16位=32757个数字)
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768(-2^15)
最大值:Short.MAX_VALUE=32767(2^15 - 1)
Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是 0;
例子:short s = 1000,short r = -20000。

  • int

二进制位数:32 (4字节=32位)
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648(-2^31)
最大值:Integer.MAX_VALUE=2147483647(2^31 - 1)
一般地整型变量默认为 int 类型;
默认值是 0 ;
例子:int a = 100000, int b = -200000。

  • long

二进制位数:64 (8字节=64位)
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808(-2^63)
最大值:Long.MAX_VALUE=9223372036854775807(2^63 -1)
这种类型主要使用在需要比较大整数的系统上;
默认值是 0L;
例子: long a = 100000L,Long b = -200000L。
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

  • float

二进制位数:32 (4字节=32位)
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45(
最大值:Float.MAX_VALUE=3.4028235E38
float 在储存大型浮点数组的时候可节省内存空间;
默认值是 0.0f;
浮点数不能用来表示精确的值,如货币;
例子:float f1 = 234.5f。

  • double

二进制位数:64 (8字节=64位)
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324
最大值:Double.MAX_VALUE=1.7976931348623157E308
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
默认值是 0.0d;
例子:double d1 = 123.4。

  • char

二进制位数:16 (2字节=16位
包装类:java.lang.Character
最小值:Character.MIN_VALUE=0(\u0000)
最大值:Character.MAX_VALUE=65535(\uffff)
char 数据类型可以储存任何字符;
例子:char letter = 'A';。

  • boolean

二进制位数:占一位=八分之一字节
boolean数据类型表示一位的信息;
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false;
例子:boolean one = true。

二、 引用类型

在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
对象、数组都是引用数据类型。 所有引用类型的默认值都是null。 一个引用变量可以用来引用任何与之兼容的类型。 例子:Site site = new Site("Runoob")。

String

自动类型转换:

整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double

数据类型转换必须满足如下规则:

  1. 不能对boolean类型进行类型转换。

  2. 不能把对象类型转换成不相关类的对象。

  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换

  4. 转换过程中可能导致溢出或损失精度,例如:
    int i =128;
    byte b = (byte)i;
    因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为byte 类型时,值 128 时候就会导致溢出。

  5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
    (int)23.7 == 23; (int)-45.89f == -45

int a=9;
long b=9;
a=b;//报错
b=a;//不报错,自动类型转换
a=(int)b;//强制类型转换

在这里插入图片描述

posted @ 2020-12-17 12:43  Aimee_拾壹  阅读(78)  评论(0)    收藏  举报