Java中的变量与常量

Java中的变量与常量

1、标识符和关键字

(1)标识符

标识符可以简单地理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。

Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是Java中的保留关键字。

下面是合法标识符:

name
user_age
$page

下面是非法标识符:

4word
String
User name

在Java中标识符中的字母是严格区分大小写的,并且标识符还包括汉字、日文以及其他许多语言中的文字。

(2)关键字

关键字是Java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。例如:

int			public		this		finally		boolean		abstract		continue		float		long		short
throw		throws		return		break		for			static			new				interface	if			goto
default		byte		do			case		strictfp	package			super			void		try			switch
else		catch		implements	private		final		class			extends			volatile	while		synchronized
instanceof	instanceof	char		protected	import		transient		default			double

2、声明变量

在使用变量之前,必须要先声明变量。定义这个变量的数据类型,这样编译器才知道需要配置多少的空间,以及这个变量所能存放的数据类型。

在程序运行的过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。

变量的命名必须是合法的标识符。内存空间内的值就是变量值。在声明变量时可以是没有赋值,也可以是直接赋给初值。例如:

int age;			//声明int型变量
char char1 = 'r';	//声明char型变量并赋值

对于变量的命名并不是随意的,应遵循以下几条规则:

①变量名必须是一个有效的标识符。

②变量名不可以使用Java中的关键字。

③变量名不能重复。

④应选择有意义的单词作为变量名。

3、声明常量

在程序运行过程中一直不会改变的量被称为常量,通常也称为“final常量”。常量在整个程序中只能被赋值一次。

在Java中声明一个常量,除了要指定数据类型外,还需要通过final关键字进行限定。语法如下:

final 数据类型 常量名称[=]

常量名通常使用大写字母,但这并不是必需的。例:

final double PI = 3.1415926D;				//声明double型常量PI并赋值
final boolean BOOL = true;					//声明boolean型常量BOOL并赋值

当定义的final变量属于“成员变量”时,必须在定义时就设定它的初值,否则将会产生编译错误。

例:在项目中创建类Part,在类体中创建变量age与变量PI。在主方法中分别将变量与常量赋值,通过输出信息可测试变量与常量的有效范围。

public class Part {                             //新建类Part
    static final double PI = 3.14;              //声明常量PI,此时如不对PI进行赋值,则会出现错误提示
    static int age = 23;                        //声明int型变量age并进行赋值

    public static void main(String[] args) {    //主方法
        final  int  number;                     //声明int型常量number
        number = 1235;                          //对常量进行赋值
        age = 22;                               //再次对变量进行赋值
        //number = 1236;                        //错误的代码,因为number为常量,只能进行一次赋值
        System.out.println("常量PI的值为:" + PI);              //将PI的值输出
        System.out.println("赋值后number的值为:" + number);    //将number的值输出
        System.out.println("int型变量age的值为:" + age);       //将age的值输出
    }
}

运行结果

4、变量的有效范围

由于变量被定义出来后只是暂时存放在内存中,等到程序执行到某一个点,该变量会被释放掉,也就是说变量是有它的生命周期。

变量的有效范围时指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。

一般根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。

(1)成员变量

在类体中所定义的变量称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为两种,即静态变量和实列变量。例如:

class var{
    int x = 45;
    static int y = 90;
}

其中x为实例变量,y为静态变量(也称类变量)。

如果在成员变量的类型前面加上关键字static,这样的变量称为静态变量。静态变量的有效范围可以跨类,甚至可达到整个应用程序之内。

静态变量,除了能在定义它的类内存取,还能直接以“类名.静态变量”的方式在其他类内使用。

(2)局部变量

在类方法体中定义的变量(方法内部定义,“{”与“}”之间的代码中声明的变量)称为局部变量。局部变量只在当前代码块中有效。

在类方法中声明的变量,包括方法的参数,都属于局部变量。局部变量只在当前定义的方法内有效,不能用于类的其他方法中。

局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会被销毁。

局部变量可与成员变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。

例:在项目中创建类Val,分别定义名称相同的局部变量与成员变量,当名称相同时成员变量将被隐藏。

public class Val{                                       //新建类
    static int times = 3;                               //定义成员变量times
    public static void main(String[] args) {            //主方法
        int times = 4;                                  //定义局部变量times
        System.out.println("times的值为:" + times);    //将times的值输出
    }
}

运行结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值