当前位置: 首页 > 知识库问答 >
问题:

Java变量作用域内外循环[重复]

李胤
2023-03-14

我最近在一个在线java测试中编写了这段代码。它位于一个设置为返回整数的方法中。我收到了一条类似“变量a没有赋值”的错误消息。我觉得这很奇怪,因为forloop必须能够访问methods变量,并且必须注册循环中的赋值,对吗?

int a;
for(int i=1;i<5;i++){
    a = i;} 
return a;

我确实假设该方法将返回整数5。

这只是一个关于变量a范围的问题。我知道代码没有意义。

共有1个答案

井逸明
2023-03-14

您可以尝试下面的代码,这将对您有所帮助。任何变量返回或保持任何值都必须进行初始化。

class a{
    public static void main(String[] args) {
        System.out.println(test());
    }
    public static int test(){
        int a = 0;
        for(int i=1;i<5;i++){
            a = i;}
        return a;
    }
}
 类似资料:
  • 问题内容: 为什么以下工作正常? 但是据说这是危险的/不正确的: 是否需要在循环外声明变量? 问题答案: 局部变量的范围应始终尽可能小。 在你的例子我相信是不会使用的外while循环,否则你就不会问这个问题,因为它声明的内部while循环不会是一个选项,因为它不会编译。 所以,既然是不使用外循环,在尽可能小的范围是内 while循环。 所以,答案是着重那绝对应该被while循环内声明。没有,没有,

  • 我有 2 个代码示例: 工作正常。 虽然这段代码有编译错误: 说: 唯一的区别是int或int数组。 根本原因是什么?

  • 本文向大家介绍浅谈shell循环中变量的作用域问题,包括了浅谈shell循环中变量的作用域问题的使用技巧和注意事项,需要的朋友参考一下 最近实现了一个shell脚本,功能简单来说就是从文件中按行读取然后将所有行拼接成一行写入一个文件,关键代码如下 结果执行结果竟然是空!按照常理shell中的变量默认是全局变量,不会存在变量作用域的问题,于是上网查了下,发现问题出在while上 while循环读取文

  • 主要内容:成员变量,局部变量变量的作用域规定了变量所能使用的范围,只有在作用域范围内变量才能被使用。根据变量声明地点的不同,变量的作用域也不同。 根据作用域的不同,一般将变量分为不同的类型:成员变量和局部变量。下面对这几种变量进行详细说明。 成员变量 Java 的成员变量有两种,分别是全局变量和静态变量(类变量)。定义在方法体和语句块之外,不属于任何一个方法,作用域是整个类。 名称 修饰 访问 生命周期 全局变量(实例变量)

  • 循环变量内建函数从 FreeMarker 2.3.23 版本开始存在。 这些内建函数只能用于list 和 items 指令 的循环变量 (也可以用于已经废弃的 foreach 指令)。 下面是一些说明(loopVar?index 在可以列表的值中进行迭代,返回从0开始的索引): <#-- Note: x is a loop variable --> <#list ['a', 'b', 'c'] a

  • 本文向大家介绍JavaScript 变量、作用域及内存,包括了JavaScript 变量、作用域及内存的使用技巧和注意事项,需要的朋友参考一下 JS变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已; 由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变; 一 变量及作用域 1.基本类型和引用类型 // JS变量包含