相关疑难解决方法(0)

在循环之前或循环中声明变量之间的区别?

我一直想知道,一般来说,在循环之前声明一个抛弃变量,而不是在循环内部重复,是否会产生任何(性能)​​差异?Java中的一个(毫无意义的)示例:

a)循环前的声明:

double intermediateResult;
for(int i=0; i < 1000; i++){
    intermediateResult = i;
    System.out.println(intermediateResult);
}
Run Code Online (Sandbox Code Playgroud)

b)声明(重复)内循环:

for(int i=0; i < 1000; i++){
    double intermediateResult = i;
    System.out.println(intermediateResult);
}
Run Code Online (Sandbox Code Playgroud)

哪一个更好,一个还是b

我怀疑重复变量声明(例子b)在理论上会产生更多的开销,但是编译器足够聪明,所以它并不重要.实施例b具有更紧凑的优点,并且将变量的范围限制在其使用的位置.尽管如此,我倾向于根据示例来编码一个.

编辑:我对Java案件特别感兴趣.

java variables performance loops initialization

307
推荐指数
14
解决办法
13万
查看次数

Java关于性能的变量声明之间的区别

这两种声明之间的区别在哪里String s:

1)

public static void main(String[] args) {
    String s;

    for (int i = 0; i < 1000000; i++) {
        s = "String" + i;
        System.out.println(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

2)

public static void main(String[] args) {
    for (int i = 0; i < 1000000; i++) {
        String s = "String" + i;
        System.out.println(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的任务经理说第一个不需要CPU和第二个.那么Java以两种不同的方式编译这两个样本?但是怎么样.

谢谢您的帮助!

java

-3
推荐指数
1
解决办法
56
查看次数

标签 统计

java ×2

initialization ×1

loops ×1

performance ×1

variables ×1