974 字
5 分钟
Java 变量与基本数据类型
一、字段和变量
变量(variable)是一个存储位置,它拥有一个类型,该类型可以是基本类型或引用类型。简单来说:变量 = 程序运行过程中用于保存数据的一个命名存储空间。
字段(field)是作为类或接口成员的变量。字段必须满足:
- 是变量
- 属于某个 class 或 interface
- 定义在类的成员位置
1. Bicycle 类示例
以 Bicycle 类为例:
class Bicycle {
static int cadence = 0; int speed = 0; int gear = 1;
void changeCadence(int newValue) { cadence = newValue; }
void changeGear(int newValue) { gear = newValue; }
void speedUp(int increment) { speed = speed + increment; }
void applyBrakes(int decrement) { speed = speed - decrement; }
void printStates() { IO.println("cadence:" + cadence + " speed:" + speed + " gear:" + gear); }}2. 四种变量类型
- 实例变量(非静态字段)——对象将自身状态存储在”非静态字段”中,即没有使用
static关键字声明的字段。非静态字段也称为实例变量,因为它们的值对于类的每个实例(每个对象)都是唯一的 - 类变量(静态字段)——使用
static关键字声明的字段;这告诉编译器,无论类被实例化多少次,该变量都只有一个副本 - 局部变量——类似于对象将状态存储在字段中,方法通常会将临时状态存储在局部变量中。没有特殊关键字来指定变量是否为局部变量,这种判断完全取决于声明位置——即方法的左大括号和右大括号之间。因此局部变量仅对声明它们的方法可见,类的其他部分无法访问它们
- 参数——参数始终被归类为”变量”,而不是”字段”
二、Java 基本数据类型(Primitive Types)
1. 概述
Java 是静态类型语言:所有变量使用前必须声明类型和名称。基本数据类型由语言预定义,使用保留关键字命名,共八种,不共享状态。
2. 八种基本数据类型
| 类型 | 位数 | 范围 / 说明 | 备注 |
|---|---|---|---|
byte | 8 位 | -128 ~ 127 | 适用于节省内存的大型数组 |
short | 16 位 | -32768 ~ 32767 | 适用于节省内存场景 |
int | 32 位 | -2³¹ ~ 2³¹-1 | 默认整数类型 |
long | 64 位 | -2⁶³ ~ 2⁶³-1 | 数值后加 L 或 l |
float | 32 位 | 单精度浮点数 | 不适合精确计算(如货币),推荐 BigDecimal |
double | 64 位 | 双精度浮点数 | 默认浮点类型 |
boolean | — | 仅 true 或 false | 布尔类型 |
char | 16 位 | '\u0000' ~ '\uffff' | Unicode 字符 |
3. 默认值
未初始化的字段自动获得默认值:
- 数值类型:
0(long为0L) boolean:falsechar:'\u0000'
4. 字面量(Literals)
字面量是直接在代码中表示固定值的写法:
- 整数字面量——默认
int,加L/l为long,支持下划线分隔(如1_000_000) - 浮点字面量——默认
double,加F/f为float - 字符字面量——单引号,如
'C' - 布尔字面量——
true、false
5. 使用建议
- 优先使用
int处理整数 - 大整数使用
long - 浮点计算优先使用
double - 节省内存时考虑
byte、short、float - 精确值避免使用
float或double(应使用BigDecimal)
总结
变量是程序运行时的命名存储空间,字段是作为类成员的变量。Java 共有四种变量(实例变量、类变量、局部变量、参数)和八种基本数据类型。记住两个关键点:
- 字段有默认值,局部变量必须显式初始化
- 精确计算用
BigDecimal,不要用float/double
分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 50 天
部分内容可能已过时