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,在重合的有效范围内,不允许两个局部变量发生命名冲突。
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,在重合的有效范围内,不允许两个局部变量发生命名冲突。
展开全部
局部变量的定义:定义在方法中的变量都是局部变量(main方法也是方法,所以定义在main方法中的变量也是局 部变量)。
生存时间:局部变量的生存时间和方法的生存时间一致,调用该方法声明该局部变量并初始化的时,该局部变量被创建并分配内存空间;直到该方法调用结束局部变量也就结束了;
是否需要初始化:局部变量在使用前必须进行初始化,系统默认不会对局部变量进行初始化数据操作,如果局部 变量在使用前没有进行初始化则会在编译器报错;如果局部变量进行了声明没有进行初始化, 但是也一直没有被使用的话编译也是不会报错的;(局部变量使用前必须初始化话
生存时间:局部变量的生存时间和方法的生存时间一致,调用该方法声明该局部变量并初始化的时,该局部变量被创建并分配内存空间;直到该方法调用结束局部变量也就结束了;
是否需要初始化:局部变量在使用前必须进行初始化,系统默认不会对局部变量进行初始化数据操作,如果局部 变量在使用前没有进行初始化则会在编译器报错;如果局部变量进行了声明没有进行初始化, 但是也一直没有被使用的话编译也是不会报错的;(局部变量使用前必须初始化话
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询