变量与数据类型
844字约3分钟
2024-08-09
变量
变量就是初中数学的代数的概念,例如一个简单的方程,x
,y
都是变量
在 Java
中,变量必须先定义后使用,在定义变量的时候,可以给它一个初始值
在 Java
中,变量分为两种:基本类型的变量和引用类型的变量
基本数据类型
计算机内存的最小存储单元是字节(byte
),一个字节就是一个 8
位二进制数,即 8
个 bit
。它的二进制表示范围从 00000000~11111111
,换算成十进制是 0~255
,换算成十六进制是 00~ff
基本数据类型是 CPU
可以直接进行运算的类型。Java
定义了以下几种基本数据类型:
整数类型:
byte
,short
,int
,long
浮点数类型:
float
,double
字符类型:
char
布尔类型:
boolean
类型 | 字节 | 表示范围 | 包装类 |
---|---|---|---|
byte(字节型) | 1 | -128~127 | Byte |
short(短整型) | 2 | -32768~32767 | Short |
int(整型) | 4 | -2147483648~2147483647 | Integer |
long(长整型) | 8 | -9223372036854775808 ~ 9223372036854775807 | Long |
float(浮点型) | 4 | -3.4E38~3.4E38 | Float |
double(双精度型) | 8 | -1.7E308~1.7E308 | Double |
char(字符型) | 2 | 从字符型对应的整型数来划分,其表示范围是0~65535 | Charater |
booealn(布尔型) | 1 | true或false | Boolean |
整型
对于整型类型,Java
只定义了带符号的整型,因此,最高位的 bit
表示符号位(0
表示正数,1
表示负数)
浮点型
浮点类型的数就是小数,因为小数用科学计数法表示的时候,小数点是可以“浮动”的,如 1234.5
可以表示成 12.345x10^2
,也可以表示成 1.2345x10^3
,所以称为浮点数。
float f1 = 3.14f;
float f2 = 3.14e38f; // 科学计数法表示的3.14x10^38
double d = 1.79e308;
double d2 = -1.79e308;
double d3 = 4.9e-324; // 科学计数法表示的4.9x10^-324
对于 float
类型,需要加上 f
后缀。
浮点数可表示的范围非常大,float
类型可最大表示 3.4x10^38
,而 double
类型可最大表示 1.79x10^308。
布尔类型
布尔类型 boolean
只有 true
和 false
两个值,布尔类型总是关系运算的计算结果。
Java
语言对布尔类型的存储并没有做规定,因为理论上存储布尔类型只需要 1 bit
,但是通常 JVM
内部会把 boolean
表示为 4
字节整数
字符类型
字符类型 char
表示一个字符。Java
的 char
类型除了可表示标准的 ASCII
外,还可以表示一个 Unicode
字符
char a = 'A';
char zh = '中';
引用类型
引用类型最常用的就是 String
字符串
String s = "hello";
常量
定义变量的时候,如果加上 final
修饰符,这个变量就变成了常量:
final double PI = 3.14; // PI是一个常量
double r = 5.0;
double area = PI * r * r;
PI = 300; // compile error!
常量在定义时进行初始化后就不可再次赋值,再次赋值会导致编译错误。
常量的作用是用有意义的变量名来避免魔术数字(Magic number
),例如,不要在代码中到处写 3.14
,而是定义一个常量。如果将来需要提高计算精度,我们只需要在常量的定义处修改,例如,改成 3.1416
,而不必在所有地方替换 3.14
根据习惯,常量名通常全部大写