变量与基本数据类型

变量

就是申请内存来存放指定值。也就是或,当创建变量时,需要在内存中申请空间

数据类型就规定了内存空间只能存放什么类型的数据

因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符

Java的两大数据类型

  内置数据类型

  引用数据类型

内置数据类型

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

byte:

  byte数据是1个字节(8位)、有符号的。以二进制补码表示的整数

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

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

  默认值是0

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

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

short:

  short数据是2个字节(16位)、有符号的以二进制补码表示的整数

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

  最大值是 32767(3^15 -1)

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

  默认值为0

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

int:

  int类型是4个字节(32位)、有符号的以二进制补码表示的整数

  最小值是 -2147483648(-2^31)

  最大值是 2147483648(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数据类型是单精度,4个字节(32位),符合IEEE 754标准的浮点数

  float在储存大型浮点数组的时候可接受内存空间

  默认值是0.0f

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

  例子:float f1 = 234.5f

double

  double数据是双精度,8个字节(64位)、符合IEEE 754标准的浮点数

  浮点数的默认类型是double类型

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

  默认值是0.0d

  例子:double d1 = 123.4

boolean:

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

  只有两个取值:true和false

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

  默认值是false

  例子:boolean one = true

char:

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

  最小值是 \u0000(即为0)

  最大值是 \uffff(即为65.535)

  例子:char letter = ‘A’

字符串与其它数据类型拼接,结果都是字符串类型

数据类型转换

  就是把一种数据类型转化为另一种数据类型

整形、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据线转换为同一类型,再运算

低-------------------------------------------------------------------->高

byte、short、char -> int -> long -> float -> double

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

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

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

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

  4.转换过程中可能导致溢出或损失精度

  5浮点数到整数的转化是通过舍弃小得到,而不是四舍五入.

自动类型转换

  必须满足转换前的数据类型的位数要低于转换后的数据类型

  JVM在运算时,识别的最小数值类型为int

强制类型转换

    b = (byte)a

    不建议使用,会造成数据的“溢出”,造成数据的不正确性

数据类型总结图

猜你喜欢

转载自www.cnblogs.com/Cccc4/p/12308361.html