数据
变量类型
成员变量 | 局部变量 | 静态变量 | |
---|---|---|---|
定义位置 | 在类中,方法外 | 方法中或者方法的形参 | 在类中,方法外 |
初始化值 | 有默认初始化值 | 无,先定义,赋值后才能使用 | 有默认初始化值 |
调用方法 | 对象调用 | 对象调用,类名调用 | |
存储位置 | 堆中 | 栈中 | 方法区(JDK8 以后移到堆中) |
生命周期 | 与对象共存亡 | 与方法共存亡 | 与类共存亡 |
别名 | 实例变量 | 类变量,静态成员变量 |
静态变量只有一个,成员变量是类中的变量,局部变量是方法中的变量
数据类型
基本类型
Java 语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型
byte:
- byte 数据类型是 8 位、有符号的,以二进制补码表示的整数,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 位 4 字节、有符号的以二进制补码表示的整数
- 最小值是 -2,147,483,648(-2^31)
- 最大值是 2,147,483,647(2^31 - 1)
- 一般地整型变量默认为 int 类型
- 默认值是
0
- 例子:
int a = 100000, int b = -200000
long:
- long 数据类型是 64 位 8 字节、有符号的以二进制补码表示的整数
- 最小值是 -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 = 123.4
boolean:
- boolean 数据类型表示一位的信息
- 只有两个取值&