欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

33.Java局部变量

程序员文章站 2022-04-29 12:46:59
...

在编写程序时,通常需要使用一个“别名”来表示某种类型的可变值,这就是“变量”。

 

我们在前面的程序中已经在很多的地方用到了“变量”。比如,在前面的Student类中,就定义了变量“name”、“sex”等。


另外,在定义变量的时候,有几个地方需要注意:变量名称区分大小写;变量名称不能重复等。

 

根据变量的作用范围,Java将变量分为了局部变量和全局变量。这里先说说局部变量。

 

变量可以被定义为只在某个程序块或只在方法体内部有效,这种类型的变量通常被称为“局部变量”。

 

局部变量的作用范围有限,只在相应的方法体内或程序块内有效,超出程序块,这些变量都无效。


所谓程序块,就是用“{”和“}”包含起来的代码块。它是一个单独的模块,和方法有点类似,但不像方法一样可以用方法名来调用。

 

在这个程序块中的变量也是局部变量,即使这个程序体处于类的定义中。

 

先看下面一段代码示例:

 

public class Block {
 static int j = 4;
 {
  int i = 4;
 }

 public void printit() {
  System.out.println(i);// 出错,因为i是局部变量,不能用于变量所在的“局部”的范围之外
 }
}

 

其中的变量i就是局部变量,它只在自己所处的代码块起作用。

 

声明变量的时候,首先需要指明该变量的数据类型。变量类型后面,跟着此变量的名称,它的名称必须是一个符合Java命名规范的标识符。然后,可以给这个变量赋一个值,当然,这个值的数据类型必须和变量的数据类型一致。

 

可以同时声明几个同一数据类型的变量,变量之间用“,”隔开:
int i,j,k;


局部变量的另外一种情况是,此变量定义在方法中,此时,此变量的作用范围只局限于此方法体内。

 

看下面这个示例:

 

public class Test
{
 static int j = 4;
 {
  int i = 4;
 }

 public void a() {
  int k = 100;
 }

 public void b() {
  System.out.println(k);// 出错,k的作用范围只局限于方法a中。
 }
}

因为变量k是定义在方法a中的,所以它的作用范围只局限在方法a中。在方法b中试图使用这个变量,在编译的时候将会报错。


局部变量在方法或代码块执行时创建,方法或代码块执行结束时销毁。


局部变量在使用前必须初始化。这点必须注意。初始化即给这个变量赋值。基本上现在完善的IDE,在你编写好代码后,会自动检查未初始化的局部变量,并以警告的方式来提醒你,给这个局部变量赋值!