首页 > 技术文章 > java:变量,常量和final关键字--基础篇

wangjiachun2017 2019-01-03 22:43 原文

变量的本质:

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

例如:车位;变量就相当于车位,车位是确定的,但车位里具体停放什么车辆是未知的

变量声明:

格式为:   

type varName [svalue][,varName[svalue]...];
//[]中的内容为可选,可有可无
//数据类型   变量名   [初始值][,变量名[初始值]...];

Java中,每一个变量属于一种类型(type,在声明变量时,变量所属的类型位于变量名之前,Java是一种强制类型语言,每个变量都必须声明其数据类型,变量的数据类型决定变量占据存储空间的大小,变量是程序中最基本的存储单元

【示例1-1】声明变量

double dou;
long lon;
int age;

不同的数据类型的常量会在内存中分配不同的空间。

注意事项:

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

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

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

   4.变量名必须是一个以字母开头的由字母或数字构成的序列

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

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

个人建议

   不提倡这种“一行声明多个变量”的风格,因为逐条声明变量可提高程序的可读性。声明变量需初始化才能使用。

需要注意在Java中声明变量时,“字母”和“数字”的定义非常广泛,字母包括‘A~Z’,‘a~z’或某种语言中代表字母的任何Unicode字符

知识扩展:如果想知道哪些Unicode字符属于Java中的字母,可以使用Character类中的isJavaIdentifierStartisjavaidentifierpart方法进行监测

变量分类:

局部变量(local variable:方法或语句块内部定义的变量。生命周期是从声明的位置开始到方法或语块执行完毕为此。

【示例2-1】局部变量

public static void main(String[] args) {
    int age;//局部变量:只能在mian方法中使用
    {
        String name;//局部变量:语句块,只能在语句块中使用
    }
}

局部变量在使用之前必须先声明,初始化(赋初值)再使用

【示例2-2

int i;//必须初始化,否则i+5将会报错
int j = i + 5;

成员变量(也叫实例变量member variable:方法外部,类的内部定义的变量,从所于对象,生命周期伴随对象始终。(没有被static修饰),如果对象没有初始化,它会自动初始化成该类型的默认初始值。

 

实例变量默认初始值

boolean

false

char

/u0000(null)

byte

(byte)0

short

(short)0

int

0

long

0L

float

0.0f

double

0.0d

【示例2-3】成员变量

public class TextCsLoacd{
    int a;//成员变量
    public static void main(String[] args) {
        System.out.println("aaa");
    }
}

静态变量(类变量static variable:使用static定义。从属于类,生命周期伴随类的始终,丛类的加载到卸载。

【示例2-4】静态变量

public class TextCsLoacd{
    static int a;//静态变量,从属于类
    public static void main(String[] args) {
        System.out.println("aaa");
    }
}

常量(Constant):常量通常指一个固定的值

【示例1-1

String name = "张三";//中"张三"就是常量

常量命名规范:

  1. 常量:大写字母和下划线:MAX_VALUE;
  2. 类名:首字母大写和驼峰原则:Man,GoodMan;
  3. 方法名:首字母小写和驼峰原则:run(),runRun();

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

关键字final表示这个变量只能赋值一次,一旦被赋值之后就不能再更改,

java中经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字static final 设置一个类常量。

【示例1-2

public class TextCsLoacd {
    public static final int NAME_AGE = 20;
    public static void main(String[] args) {
        
    }
}

需要注意:类常量的定义位于main方法的外部。因此,在同一个类的其他方法中也可以使用这个类常量。而且,一个类常量被声明为public时,那么其他类的方法也可以使用这个类常量。

推荐阅读