淘先锋技术网

首页 1 2 3 4 5 6 7

Java和C语言都有局部变量的概念,不过在使用中有一些区别。


// C语言的例子
#include &ltstdio.h&gt

void example() {
    int i = 0;
    printf("i的值为:%d\n", i);
    i++;
}

int main() {
    example();
    example();

    return 0;
}

java和c局部变量的区别

在C语言中,函数内部定义的局部变量的初始值是不确定的。当然,你可以自己初始化变量的值。另外,在一个函数内多次调用同一个局部变量的值并不会被保留,相当于重新初始化。因此,以上代码的输出结果如下:


i的值为:0
i的值为:0

而在Java中,局部变量是强制要求被初始化的,否则会编译不通过。另外,Java中的局部变量在方法执行期间一直存在,直到方法执行完毕或被中止,否则它们的值不会丢失。


// Java的例子
public class Demo {
    public static void main(String[] args) {
        example();
        example();
    }

    public static void example() {
        int i = 0;
        System.out.println("i的值为:" + i);
        i++;
    }
}

因此以上Java代码的输出结果如下:


i的值为:0
i的值为:0

可以看出,Java中多次调用同一个局部变量的值并不会被重新初始化。