Java:出现在入门指南中

时间:2018-08-26 02:49:00

标签: java for-loop while-loop

以下代码:

public static void main(String[] args) {

    int e, result;
    for(int i=0; i<10;i++){
        result=1;
        e=i;
        while(e>0){
            result*=2;
            e--;            

        }
        System.out.println("2 to the "+i+" power is "+result);          
    }
}

我对上面的代码有一些疑问:

  1. 在for循环中结果是否不会被覆盖为1?功率是如何真正计算的?
  2. 为什么在while循环中需要e-?

3 个答案:

答案 0 :(得分:1)

一个,while循环位于for循环内部,并且多次执行乘法。而且,有两个原因是因为它被用于从0倒数到i

for (int i = 0; i < 10; i++) {
    System.out.println("2 to the " + i + " power is " + (int) Math.pow(2, i));
}

答案 1 :(得分:0)

我将带您逐步进行迭代

<div id="map"></div>

i = 0

public static void main(String[] args) {

    int e, result;
    for(int i=0; i<10;i++){
    result=1;
    e=i;
    while(e>0){
        result*=2;
        e--;            

    }
    System.out.println("2 to the "+i+" power is "+result);          
}
}

i = 1

e=0
result = 1;

i = 2

e=1
result=2*1

i = 3

e=2
result= 1*2*2

i = 4

e=3
result= 1 *2 *2 *2

...

答案 2 :(得分:0)

  1. 否不是,因为它是在显示for迭代结果(System.ou.print ..)之后完成的。将结果设置为1仅对第一次“用于迭代”有用(i = 0,并且跳过了循环)。功率由“ while循环”计算。此代码将i = 0的结果设置为1,并对其他i值进行了很好的计算。

  2. 对于“ while循环”结束原因。没有这个,“ while循环”将是无限的。使用e--指令,“ while循环”恰好执行了i次。