在Java程序执行过程中,其值不能改变的量称为常量,其值能改变的量称为变量。变量与常量的命名都必须使用合法的标识符。

标识符

标识符可以理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不能是数字,而且,标识符不能是Java中的保留关键字。

合法标识符为:

name

user_name

$name

非法标识符为:

4name

String

User Name

在Java语言中,标识符中的字母是严格区分大小写的。Java语言使用unicode标准字符集,最多可以标识65535个字符,因此,Java语言中的字母不仅包括通常的拉丁文字a、b、c、d等,还包括汉字、日文以及其他许多语言中的文字。

关键字

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

Java关键字

int

public

this

finally

boolean

abstract

continue

float

long

short

throw

throws

return

break

for

static

new

interface

if

goto

super

byte

do

case

strictfp

package

default

void

try

switch

else

catch

implements

private

final

class

extends

volatile

while

synchronized

instanceof

char

protected

import

transient

dafault

double

 

声明变量

变量的使用是程序设计中一个十分重要的环节。定义变量就是要告诉编译器这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。变量的命名必须是合法的标识符。内存空间内的值就是变量值。在声明变量时可以不用赋初值,也可以直接赋初值。

int age;        //声明int型变量
char s = 'a';   //声明char型变量并赋初值

其实,系统的内存可大略分为3个区域,即系统(OS)区、程序(Program)区和数据(Data)区。

java中作为变量名的有 java变量名正确的是_成员变量

当程序执行时,程序代码会加载到内存中的程序区,数据暂时存储在数据区。假设我们上面定义的两个变量定义在方法体中,则程序加载到程序区中。当执行上面的代码时,会在数据区配置空间给出这两个变量。对于变量的命名并不是随意的,应该遵循以下几条规则:

  • 变量名必须是一个有效的标识符
  • 变量名不可以使用Java中的关键字
  • 变量名不能重复
  • 应该选择有意义的单词作为变量名

声明常量

在程序运行过程中一直不会改变的量称为常量,通常也称为“final常量”。常量在整个程序中只能被赋值一次。在为所有的对象共享值时,常量是非常有用的。在Java语言中声明一个常量,除了要指定数据类型外,还需要通过final关键字进行限定。声明常量的标准语法为:

final 数据类型 常量名称[=值]
final int number = 123;
final double PI = 3.1415926;
final boolean BOOL = true;

常量名通常使用大写字母,但这并不是必需的。当定义的final变量属于成员变量时,必须在定义时就设定它的初值,否则会产生编译错误。

public class test {
	
	//声明常量PI
	static final double PI = 3.1415926;
	static int age = 24;

	public static void main(String[] args) {
		
		final int number = 123;			//声明int型常量number并赋值
		age = 24;				//再次对变量进行赋值
		
		System.out.println("常量PI = " + PI);
		System.out.println("number = " + PI);
		System.out.println("age = " + PI);
		
	}

}

java中作为变量名的有 java变量名正确的是_成员变量_02

变量的有效范围

由于变量被定义出来后只是暂存在内存中,等到程序执行到某一个点,该变量就会被释放掉,也就是说变量有它的生命周期。因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。

成员变量

在类体中所定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为两种,即静态变量和实例变量。一般情况下,在成员变量的类型前面加上关键字static,该成员变量就被称为静态变量。静态变量的有效范围可以跨类,甚至可达到整个应用程序之内。对于静态变量,除了能在定义它的类中存取,还能直接以“类名.静态变量名”的方式在其他类中使用。

局部变量

在类的方法体中定义的变量称为局部变量。局部变量只在当前代码块中有效。在类的方法中声明的变量,包括方法的参数都属于局部变量。局部变量只在当前定义的方法内有效,不能用于类的其他方法中。局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会销毁。局部变量可与成员变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效