java 中全局变量和局部变量的区别
2个回答
2016-10-26 · 知道合伙人软件行家
关注
展开全部
给你个例子吧:
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,在重合的有效范围内,不允许两个局部变量发生命名冲突。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个例子吧:
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,在重合的有效范围内,不允许两个局部变量发生命名冲突
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询