Java语言基础(二)-变量与常量

本文详细介绍了Java语言中的变量与常量概念,包括它们的定义、命名规则、声明方式及其有效范围等内容。

1、变量与常量

在程序执行的过程中,值不能改变的值称之为常量,值能被改变的称之为变量。常量与变量的命名都必须使用合法的标识符,下面将主要介绍标识符与关键字、变量与常量的命名。

1.1标识符和关键字
1.1.1标识符

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

//合法标识符;
name
user_age
$page

//不合法标识符;
4word
String
User name

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

1.1.2关键字

关键字是java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用,之前所说的int,boolean等都是关键字。java语言中的关键字如下所示。

  • abstract:表明类或者成员方法具有抽象属性;
  • assert:用来进行程序调试;
  • boolean:基本数据之一,布尔类型;
  • break:提前跳出一个块;
  • byte:基本数据之一, 字节类型;
  • case:用在switch语句中,表示其中的一个分支;
  • catch:用在异常处理中,用来捕捉异常;
  • char:基本数据之一,字符类型;
  • class:类;
  • const:保留关键字,没有具体意义;
  • continue:回到一个块的开始处;
  • default:默认,例如在switch语句中,表明一个默认的分支;
  • do:用在do—while循环结构中;
  • double:基本数据之一,双精度浮点数类型;
  • else:用在条件语句中,表明当条件不成立时的分支;
  • enum:枚举;
  • extends:表明一个类型是另一个类型的子类型,这里常见的类型有类和接口;
  • final:用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变;
  • finally:用于处理异常情况,用来声明一个基本肯定会被执行到的语句块;
  • float:基本数据之一,单精度浮点数类型;
  • for:一种循环结构的引导词;
  • goto:保留关键字,没有具体意义;
  • if:条件语句的引导词;
  • implements:表明一个类实现了给定的接口;
  • import:表明要访问制定的类或包;
  • instanceof:用来测试一个对象是否制定类型的实例对象;
  • int:基本数据之一,整数类型;
  • interface:接口;
  • long:基本数据之一,长整数类型;
  • native:用来声明一个方法是由计算机相关的语言(如C/C++等语言)实现的;
  • new:用来创建新实力对象;
  • package:包;
  • private:一种访问控制方式-私有;
  • protected:一种访问控制方式-保护模式;
  • public:一种访问控制方式-公共模式;
  • return:从成员方法中返回数据;
  • short:基本数据之一,短整数类型;
  • static:表明具有静态属性;
  • strictfp:用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE754算数规范;
  • super:摆明当前对象的父类型的引用或者父类型的构造方法;
  • switch:分支语句结构的引导词;
  • synchronized:表明一段代码需要同步执行;
  • this:指向当前实例对象的引用;
  • throw:抛出一个异常;
  • throws:声明在当前定义的成员方法中所有需要抛出的异常;
  • transient:声明不用序列化的成员域;
  • try:尝试一个可能抛出异常的程序块;
  • void:声明当前成员方法没有返回值;
  • volatile:表明两个或者多个变量必须同步的发生变化;
  • while:用在循环结构中;
1.2声明变量

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

//声明int型变量;
int age;
//声明char型变量并赋值;
char ch = 'r';
1.2.1变量的命名

对于变量的命名不是任意的,需要遵循以下规则:
- 变量名必须是一个有效的标识符;
- 变量名不可以使用java中的关键字;
- 变量名不能重复;
- 应选择有意义的单词作为变量名;

1.3声明常量

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

//声明常量的标准语法;
// final 数据类型 常量名称[=值];

常量名通常使用大写字母,是为了清楚的区分正在使用的常量;

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

备注:当定义的final变量属于成员变量时,必须在定义是就设定他的初值,否则会产生编译错误;

1.4变量的有效范围

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

1.4.1成员变量

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

class test{
//声明实例变量x;
int x = 1;
//声明静态变量y;
static int y = 100;
}

在成员变量的类型前面加上关键字static,这样的成员变量称之为静态变量。静态变量的有效范围可以跨类,甚至可以达到整个应用程序之内,对于静态变量,除了能在定义他的类内存取,还能直接以“类名.静态变量”的方法在其他类内使用。

public class A{
public static String text = "我是静态变量";
}
public class B{
System.out.println(A.text);
//输出内容为"我是静态变量";
}
1.4.2局部变量

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

public class test{
//定义成员变量time,赋值为10;
static int time = 10;
public static void main(String[] args){
    //定义局部变量time,赋值为1;
    int time = 1;
    System.out.println("time的值为:"+time);
    }
}
//代码输出结果为:  time的值为:1
//因为成员变量和局部变量都为time,所以成员变量暂时时效,输出结果为局部变量的值;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值