java 局部变量 全局变量及重名问题

    科技2026-02-16  19

    从菜鸟教程看到 其中局部变量没有默认值,所以必须初始化,而实例变量和类变量都有默认值。其他的不细说。这里说一下我刚刚错的一个地方!!!

    我写了这个程序:

    public class Test{ public static void main(String[] args) { int a=5; if(a==5) int ans=5; else int ans=8; System.out.println(ans); } }

    出现了报错 也可能报错是: 原来错误原因是if语句块的局部变量ans在离开If语句块以后就不存在了!!!

    这样就行了:

    public class Test{ public static void main(String[] args) { int a=5; int ans=0; if(a==5) ans=5; else ans=8; System.out.println(ans); } }

    接下来根据我的理解简单说一下重名问题: 1.局部变量可以和全局变量重名 JAVA中的全局变量和局部变量是允许重名的,但是如果在方法体内使用该重名变量时,局部变量会覆盖全局变量,出了方法,局部变量被销毁,只剩下全局变量 2.不同作用域的两个局部变量可以重名,但如果两局部变量作用域相同就不行了;

    Processed: 0.018, SQL: 9