变量和常量的认识

变量的本质

变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。

Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。

变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。

变量的声明

格式为:

type varName [=value][,varName[=value]…];
//[]中的内容为可选项,即可有可无
数据类型 变量名 [=初始值] [,变量名 [=初始值]…];
【示例】 声明变量:
double salary;
long earthPopulation;
int age;

不同数据类型的常量会在内存中分配不同的空间,如图2-1所示。

在这里插入图片描述

图2-1 声明变量的内存示意图

注意事项

每个变量都有类型,类型可以是基本类型,也可以是引用类型。

变量名必须是合法的标识符

变量声明是一条完整的语句,因此每一个声明都必须以分号结束

【示例】在一行中声明多个变量

int i ,j; // 两个变量的数据类型都是int

建议

不提倡这种"一行声明多个变量"风格,逐一声明每一个变量可以提高程序可读性。

【示例】可以将变量的声明和初始化放在同一行中

int age = 18;
double e = 2.718281828;

变量的分类

从整体上可将变量划分为局部变量、成员变量(也称为实例变量)和静态变量。
在这里插入图片描述

· 局部变量(local variable)

方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。
【示例】局部变量

public void test() {
int i;
int j = i+5 ; // 编译出错,变量i还未被初始化
}

public void test() {
int i;
i=10;
int j = i+5 ; // 编译正确
}

· 成员变量(也叫实例变量 member variable)
方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。在这里插入图片描述
【示例】实例变量的声明

public class Test {
int i;
}
· 静态变量(类变量 static variable)

使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值,如表 2-3所示。

示例:变量的声明并赋值

public class LocalVariableTest {
public static void main(String[ ] args) {
boolean flag = true; // 声明boolean型变量并赋值
char c1, c2; // 声明char型变量
c1 = ‘\u0041’; // 为char型变量赋值
c2 = ‘B’; // 为char型变量赋值
int x; // 声明int型变量
x = 9; //为int型变量赋值
int y = x; // 声明并初始化int型变量
float f = 3.15f; // 声明float型变量并赋值
double d = 3.1415926; //声明double型变量并赋值
}
}
代码:

/**

  • 测试变量
  • @author 某某

*/
public class TestVariable {

int a;            //成员变量, 从属于对象; 成员变量会自动被初始化
static  int  size;   //静态变量,从属于类
 
public static void main(String[] args) {

    {
        int age;        //局部变量,从属于语句块;
        age = 18;
    }
     
    int salary = 3000;    //局部变量,从属于方法

    int gao = 13;
    System.out.println(gao);

    int i;
//    int j = i + 5; // 编译出错,变量i还未被初始化
     
}

}

常量(Constant)

常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。

在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。

声明格式为:
final type varName = value;
【示例】常量的声明及使用

public class TestConstants {
public static void main(String[] args) {
final double PI = 3.14;
// PI = 3.15; //编译错误,不能再被赋值!
double r = 4;
double area = PI * r * r;
double circle = 2 * PI * r;
System.out.println("area = " + area);
System.out.println("circle = " + circle);
}
}
为了更好的区分和表述,一般将1、2、3、’a’、’b’、true、false、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量。

建议

变量和常量命名规范(规范是程序员的基本准则,不规范会直接损害你的个人形象):

1、所有变量、方法、类名:见名知意

2、类成员变量:首字母小写和驼峰原则: monthSalary

3、局部变量:首字母小写和驼峰原则

4、常量:大写字母和下划线:MAX_VALUE

5、类名:首字母大写和驼峰原则: Man, GoodMan

6、方法名:首字母小写和驼峰原则: run(), runRun()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值