繁体   English   中英

Java输出变量范围问题

[英]Java Output Variable Scope Issue

在以下代码中,我有一个关于变量范围的问题。 有人可以快速概述一下为什么在打印Java时为什么输出“找不到符号”吗? 谢谢。

class Main
{
    public static void main(String[] args) {
        String text = "hello";
        if (text.indexOf(" ") == -1) //if a space doesn't exist
        {
            String output = "one word";
        }
        else
        {
            String output = "more than one word";
        }
        System.out.println(output);
    }
}

变量output 仅存在于当前包含在if块和else块中的包含代码块中,如果要访问ifelse块之外的变量outputif需要在if之前定义它块。

局部变量

局部变量是在方法或构造函数中声明的变量(不在标头中)。 范围和寿命仅限于方法本身。

除了在方法中定义的局部变量之外,我们还具有在块中定义的变量,例如if块和else块。 这种情况下的范围受块本身的约束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM