变量与数据类型
约 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
根据习惯,常量名通常全部大写