java局部变量和全局变量的区别

供稿:hz-xin.com     日期:2024-05-12
Java中全局变量和局部变量的用法 两者有哪些不同的地方 ?

给你个例子吧:
public class Test001 {
8. static int a = 27;//全局变量
9. static void test() {
10. boolean flag = false;// flag是局部变量,他的有效范围市整个方法体
11. if (!flag) {
12. int a = 20;// 局部变量a,是必须进行初始化的且只在if块中有效
13. System.out.println("a1=" + a);
14. }
15. // a = 10;// 注意,这一行是会报编译错误:未声明变量a
16. }
17. /**
18. * @param args
19. */
20. public static void main(String[] args) {
21. System.out.println("a2=" + a);
22. int a = 23;//局部变量a
23. test();
24. System.out.println("a3=" + a);
25. }
结果为:
a2=27
a1=20
a3=23
注意:
1,对于局部变量要先赋值后使用
2,局部变量局部有效,在定义这个变量的代码块也就是在“{}”中有效
3,在重合的有效范围内,不允许两个局部变量发生命名冲突。

全局变量和局部变量的区别主要在于生存周期不同,全局变量在整个程序生成期间可见,局部变量在自己的作用域内可见。全局变量的内存分配是静态的,如果没有初值,会被初始化为0。局部变量的内存分配是动态的,位于线程堆栈中。如果没有初始化的,初值视当前内存内的值而定。

局部变量在方法内部声明,并且只能在方法内部使用,在外层的方法被调用时被分配内存,请求在方法执行完毕后自动释放内存而消亡,在使用局部变量的时候必须先对其进行初初始化。它是在方法体中定义的变量以及方法的参数,只在定义它的方法内有效。

全局变量也叫成员变量,是指在类中定义的变量;它在整个类中都有效,又可分为类变量和实例变量。类变量又叫静态变量,用static修饰 它可以直接用类名调用,也可以用对象调用 ,而且所有对象的同一个类变量都是共享同一块内存空间的。实例变量不用static修饰,它只能通过对象调用,而且所有对象的同一个实例变量是共享不同的内存空间的。

全局变量和局部变量的区别有哪些?
答:在函数中使用全局变量,一般应作全局变量说明, 只有在函数内经过说明的全局变量才能使用。简单来说,在main() 函数以前声明的变量就是全局量。例如:#include<stdio.h>#include<stdlib.h>int i=22;float f=3.4;void ...

全局变量和 局部变量的区别?
答:全局变量与局部变量的区别在于作用域的不同,且存在时间也可能不同。不管有不有外部的变量,main函数中的变量都不能称为全局变量。全局变量是可以被本程序所有对象或函数引用。例如:图中的代码,t1为全局变量,可以在main...

局部变量,静态全局变量,静态局部变量的区别和联系
答:也就是说,局部变量和其它两个,最明显的区别:1 生命周期不同 2 分配时间不同 3 分配位置不同。而另外两个,在这几项上是相同的,之间的区别在于作用域。静态全局变量,作用域为定义改变量的所在文件。而静态局部变量...

全局变量,静态全局变量,静态局部变量和局部变量的区别1
答:对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件 static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和...

什么是全局变量
答:全局变量也就是编程术语中的一种,也称为外部变量,它是在函数外部定义的变量,也可以是在本程序任何地方创建。此外,变量分为局部与全局,局部变量又可被叫做内部的变量。是由某对象或某个函数所创建的变量通常都是局部变量...

c语言中局部变量和全局变量的区别是什么
答:在程序开始执行时给全局变量分配存储区,程序行完毕就释放。局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。根据使用范围来区分的。

全局变量 与 static型的局部变量 有什么区别
答:C语言全局变量和局部变量 引子--- ? ?? ???变量可以在程序中三个地方说明: 函数内部、函数的参数定义中或所有的函数外部。根据所定义位置的不同, 变量可分为局部变量、形式参数和全程变量。从空间角度来看,变量可以分为...

局部变量有比全局变量省内存吗
答:你要是说储存空间,那么这两个变量只要类型一样,占用的储存空间肯定是一样的。不过全局变量在程序运行的一开始就存在,直到程序运行结束。而局部变量只有当其所在的代码块被执行时,才被初始化,当代码块运行结束后,就被...

什么是静态变量,静态变量=全局变量,动态变量=局部变量吗??
答:静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。动态全局变量:全局作用域,整个程序都可以使用。静态全局...

局部变量的局部变量和全局变量
答:在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用;在其它...