Java中变量的范围[带有编码示例]

已发表: 2021-02-05

目录

介绍

程序员在 Java中定义变量的范围,告诉编译器变量可访问或可见的区域。 Java 中变量的范围本质上是静态的。 这意味着我们只需要在编译时声明它。 在本文中,您将了解 Java 变量的范围及其类型。

Java中变量的作用域是什么?

编程语言中使用的每个变量都有一个作用域。 作用域告诉编译器程序中可以访问或使用变量的段。 在 Java 变量的情况下,程序员可以对变量进行词法或静态作用域。

静态范围变量意味着程序员必须在编译时而不是在运行时确定 Java 中变量的范围。 另外,请注意,每个类都是 Java 包的一部分。 这归结为 Java 中变量的两种不同类别的范围

1.具有类作用域的成员变量:成员变量是类的成员,因此在类内部声明,但不在任何方法或函数内部。 因此,我们可以将变量作用域称为类作用域或类级作用域。 程序员在类的花括号 ( {} ) 中声明这些变量以及访问修饰符。 程序员可以在 Java 类的任何地方使用这些变量,但不能在它之外使用。

例子:

公共类 EgOfClassScope {

私人整数 amt = 10;

公共无效 egMethod() {

上午 += 10;

}

公共无效另一个示例方法(){

整数 AmtIncr = amt + 6;

}

}

我们可以看到在类的所有方法中都可以访问“amt”变量。 如果我们使用 public 访问修饰符而不是 private,则该变量将可以从包中的任何位置访问。

修饰符 包子世界

民众 是的 是的 是的

受保护 是的 是的

默认(无
修饰符)

私人的

2.局部作用域或方法作用域:程序员可以在具有较小范围的局部作用域中声明局部变量(假设在方法内)。 程序员不能从 Java 方法之外访问这些变量,即使在同一个类中也是如此。 它们在可访问性方面有限制,并且它们的可见性在 Java 方法的范围结束时结束。

示例 1:

公共类 EgOfMethodScope {

公共无效FirstMethod(){

整数工资 = 6000;

}

公共无效第二方法(){

// 这会遇到一个编译时错误,说:area cannot be resolve to a variable

工资 = 工资 + 2000;

}

}

它是方法范围的示例。 在这里,我在 FirstMethod(){....} 中创建了变量“salary”。 因此,它的作用域在 FirstMethod() 的末尾结束。 因此,在 SecondMethod() 中使用此变量将产生错误,因为变量“salary”超出范围。

示例 2:

类 EgOfMethodScope2

{

私人int g;

公共无效集G(int g)

{

这个.g = g;

}

}

在这里,我们使用 'this' 关键字来区分本地范围和类变量的范围。 程序员使用这个关键字来指向当前对象作为引用变量。 在这里,程序员将变量作为参数传递给方法。

请注意,一旦方法执行结束,局部变量将不存在。 Java 方法中使用了其他形式的本地范围,但在其中的特定部分。

  • 循环范围:在某些情况下,我们在循环内声明变量。 此类变量将具有循环范围,并且只能从循环内访问。

例子:

公共类 EgOfLoopScope {

List<String> listOfEmp = Arrays.asList (“Karlos”, “Gaurav”, “Sue”, “Dee”);

公共无效 iterateEmpName() {

字符串全部=“”;

for(字符串名称:listOfEmp)

{ // 循环的范围从这里开始

全部=全部+“”+名称;

} // 循环范围到此结束

// 你会遇到编译时错误:name cannot be resolved to a variable – if you try to access the variable in the next line

字符串 lastEmpName = 名称;

}

}

在这个方法 iterateEmpName() 中,变量 'names' 有一个循环范围(因为它是一个计数器变量)并且可以在 'for' 语句的 { 和 } 中访问。

  • 括号范围:程序员可以在程序中的任何地方定义额外的范围。 程序员可以使用 { 和 } 括号定义这个额外的范围。

例子:

公共类 EgOfBracketScope {

公共无效EgAddOp(){

整数 tot = 0;

{ // 括号从这里开始

整数编号 = 6;

tot = tot + 否;

} // 括号范围到此结束

// 它会产生一个编译时错误,说:number cannot besolved as a variable – if used in the next line

不- ;

}

}

Java中变量作用域的要点

  • 与其他编程语言(C、C++ 和 C#)一样,我们必须使用一组大括号( { 和 } )来定义 Java 中变量的范围。
  • 如果我们在任何方法范围之外的类中定义变量,我们可以从任何方法访问变量。
  • 要在循环终止后使用变量,我们必须在循环体之前或上方声明它。
  • 但是如果没有构造函数、Java 方法和块,我们就无法实现或访问它。
  • 静态变量的范围仅驻留在类中。
  • 范围定义了程序中可以访问变量的区域。

从世界顶级大学在线学习软件开发课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

本文展示了程序员如何使用 Java 作用域来编写不同的程序。 它还告诉我们程序中变量可见的区域。 由于范围的概念,可访问性和可见性在编程中都起着重要作用。 定义变量范围的任何单一错误都可能导致程序员出现编译时错误。

如果您想提高您的 Java 技能,您需要掌握这些 Java 项目。 如果您有兴趣了解有关 Java、全栈开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为在职专业人士设计,提供 500 多个小时的严格培训,9 个以上的项目,和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

Java中的变量作用域是什么?

变量的作用域是程序中可以引用它的地方。 变量范围使用变量声明中的“范围”关键字指定。 可以在“任何”范围内访问的变量绝对可以在程序中的任何位置访问。 只能在特定范围内访问的变量只能在该范围内访问。 范围可以是函数、块、方法、类,或者在所有方法、块和类之外。

Java 中的访问修饰符有哪些类型?

Java 中有四种类型的访问修饰符:public、protected、default(包)和 private。 public 使变量、类或函数可以在任何地方访问,protected 使定义它的类及其子类可以访问,default(包)使同一包中的任何类都可以访问它,private 使只有它可以访问定义它的类。

Java中的静态关键字是什么?

Java 类中的 static 关键字表示这样声明的类不是该类的实例,而是一个类本身。 类的静态数据成员对所有实例都是通用的。 static 关键字用于访问类的静态方法和字段。 在 Java 中,static 关键字用于访问类的静态方法和字段。 要访问类的静态方法和字段,您应该使用类的名称、点 (.) 以及静态方法或字段名称。