变量与数据类型
变量
变量组成
类型 变量名 = 值;
int num = 100;
命名规则
- 可用字母、数字、下划线、美元符,但必须以字母、下划线或美元符开头
- 中间不能有空格
- 严格区分大小写
- 不能使用关键字
- 推荐驼峰命名,如
totalNum
常量
声明规则
- 使用
final 关键字修饰
- 声明后必须赋值,赋值后不可改变
- 常量名建议全部大写,单词间用下划线分隔
final double PI = 3.1415926;
常量类型
| 类型 |
示例 |
| 静态常量 |
public static final String SELECT_USERS_ALL = "静态常量"; |
| 成员常量 |
final String WATER_PATTERN = "成员常量";(类体中,方法外) |
| 局部常量 |
final double PI = 3.1415926;(方法体或语句块中) |
数据类型
基本数据类型
整型
| 类型 |
占用空间 |
取值范围 |
| byte |
1 字节 |
-128 ~ 127 |
| short |
2 字节 |
-215 ~ 215-1 |
| int |
4 字节 |
-231 ~ 231-1 |
| long |
8 字节 |
-263 ~ 263-1 |
浮点型
float f1 = 12.3f; // 单精度
double d3 = 2.6e2; // 双精度(默认)
字符型
char c = 'a';
char c = '\n'; // 转义字符
char c = '\u0061'; // Unicode 编码
布尔型
boolean b = true; // true 和 false 是保留字
引用数据类型
String str2 = "HelloWorld"; // 双引号括起来
变量作用域
变量分类
public class Test{
static int a = 333; // 静态变量(类属性/变量)
int b = 444; // 成员变量(实例属性/变量)
public static void main(String[] args) {
testFuc(888);
}
public static void testFuc(int num){
int c = 555; // 局部变量
Test t = new Test();
t.b = 666;
a = num;
}
}
对比
| 特性 |
成员变量 |
局部变量 |
| 作用域 |
整个类有效 |
方法或语句块内 |
| 存储位置 |
堆内存 |
栈内存 |
| 生命周期 |
随对象的创建而存在,随对象消失而消失 |
随方法调用而存在,调用结束自动释放 |
| 初始值 |
有默认初始值 |
没有默认值,使用前必须赋值 |
实例属性 vs 类属性
- 实例属性(不用
static):随实例对象的存在而存在
- 类属性(
static 修饰):随类的存在而存在