Java后端-基础-命名规范变量数据类型-2
背景
本文是《Java 后端从小白到大神》修仙系列第二篇
,正式进入Java后端
世界,本篇文章主要聊Java基础
。若想详细学习请点击首篇博文,我们开始把。
文章概览
- 命名规范
- 变量
- 数据类型
1. 命名规范
类型 | 规范 | 示例 |
---|---|---|
类名 | 大驼峰,名词 | PaymentService |
方法名 | 小驼峰,动词 | calculateTotal() |
布尔方法 | is/has/can 开头 | isValid() |
常量 | 全大写+下划线 | MAX_RETRY_COUNT |
2. 变量
1. 局部变量(Local Variables)
-
声明位置:在方法、构造器或代码块内部声明。
-
作用域:从声明处开始到所属代码块结束。
-
生命周期:方法/代码块执行期间存在。
-
默认值:无默认值,必须显式初始化。
-
示例:
2. 实例变量(Instance Variables)
-
声明位置:在类中声明,但在任何方法、构造器或代码块之外。
-
作用域:整个类内部(非静态上下文中)。
-
生命周期:与对象实例共存亡(对象创建时初始化,垃圾回收时销毁)。
-
默认值:有默认值(如
int
为0
,对象引用为null
)。 -
示例:
3. 类变量(静态变量,Static Variables)
-
声明位置:在类中声明,使用
static
修饰。 -
作用域:整个类(包括静态和非静态上下文)。
-
生命周期:类加载时初始化,程序结束时销毁。
-
默认值:与实例变量相同。
-
示例:
4. 参数变量(Parameters)
-
声明位置:方法或构造器的参数列表中。
-
作用域:仅限于方法或构造器内部。
-
生命周期:方法调用期间存在。
-
默认值:由调用者传入值。
-
示例:
5. final
变量
- 特点:一旦赋值后不可修改(常量),引用类型则为内存地址不变(内部数据可变)。
- 适用场景:
- 类常量:
public static final double PI = 3.14159;
- 方法参数:
void process(final int value) { ... }
- 局部常量:
final int MAX_RETRIES = 3;
- 类常量:
6. 枚举变量(Enum)
-
特点:预定义一组命名常量。
-
示例:
7. 资源变量(Try-with-Resources)
-
特点:在
try
语句中声明,自动管理资源关闭。 -
示例:
8. 变量作用域对比表
变量类型 | 声明位置 | 作用域 | 生命周期 | 默认值 |
---|---|---|---|---|
局部变量 | 方法/代码块内 | 代码块内部 | 方法/代码块执行期间 | 无 |
实例变量 | 类内部(非静态) | 类内部(非静态上下文) | 与对象实例共存亡 | 有 |
类变量 | 类内部(静态) | 整个类及类实例 | 类加载到程序结束 | 有 |
参数变量 | 方法/构造器参数列表 | 方法/构造器内部 | 方法调用期间 | 传入值 |
9. 关键注意事项
-
默认值规则:
- 实例变量和类变量有默认值。
- 局部变量必须显式初始化,否则编译错误。
-
变量隐藏(Shadowing):
-
局部变量或参数变量可能与实例变量同名,此时使用
this
访问实例变量。
-
-
类型转换:
-
基本类型:自动转换(小范围→大范围)或强制转换。
-
引用类型:向上转型(安全)、向下转型(需类型检查)。
-
3. 数据类型
1. 基本数据类型(Primitive Types)
Java 的 8种基本数据类型,直接存储值:
类型 | 大小(位) | 默认值 | 取值范围/描述 |
---|---|---|---|
byte |
8 | 0 | -128 到 127 |
short |
16 | 0 | -32,768 到 32,767 |
int |
32 | 0 | -2³¹ 到 2³¹-1 |
long |
64 | 0L | -2⁶³ 到 2⁶³-1 |
float |
32 | 0.0f | IEEE 754 单精度浮点数 |
double |
64 | 0.0d | IEEE 754 双精度浮点数 |
char |
16 | ‘\u0000’ | Unicode 字符(0 到 65,535) |
boolean |
1(实际) | false | true 或 false |
- 示例:
2. 引用数据类型(Reference Types)
存储对象的引用(内存地址),包括以下类型:
类型 | 描述 | 示例 |
---|---|---|
类类型 | 用户定义的类或Java内置类 | String , ArrayList |
接口类型 | 用户定义的接口 | List , Runnable |
数组类型 | 基本类型或引用类型的数组 | int[] , String[][] |
枚举类型 | 使用 enum 定义的枚举 |
enum Day { MON, TUE } |
Lambda表达式 | 函数式接口的实现 | Runnable r = () -> {}; |
- 示例:
总结
Java基础,需要熟练掌握。
文章作者 会写代码的小郎中
上次更新 2025-02-23
许可协议 CC BY-NC-ND 4.0