嵌套for循环但有扭曲

时间:2017-11-08 05:19:48

标签: java

所以最近我无法理解嵌套for循环。例如,一个问题问:以下嵌套循环结构将执行最内层语句(x ++)多少次?

for (int j = 0; j < 100; j++)
{
    for (int k = 100; k > 0; k--)
    {
        x++;
    }
}

你能用简单的术语来保持它,因为我对编程很新吗?谢谢!

4 个答案:

答案 0 :(得分:1)

对于每个内部循环,for循环将执行x++ 100次。您还将运行内部for循环100次。所以总共运行x++ 100 x 100 = 10000次。

答案 1 :(得分:1)

对于每个j,k循环执行100次,因此x增加100.见下图:

  

表示j = 0 ; k = 100,k = 99,k = 98 .... k = 2,k = 1; x现在是100

     

表示j = 1 ; k = 100,k = 99,k = 98 .... k = 2,k = 1; x现在是200

     

.............................................

     

.............................................

     

表示j = 98 ; k = 100,k = 99,k = 98 .... k = 2,k = 1; x现在是9900

     

表示j = 99 ; k = 100,k = 99,k = 98 .... k = 2,k = 1; x现在是10000

如果代码被修改为:

,结果将是相同的
for(int j = 0; j < 100; j++) {
    for(int k = 0; k < 100; k++) // NOTE: reversal of k here.
    {
        x++;
    } 
}

内部k循环正在以相反的顺序(从100到0)执行,只是为了混淆新手。

答案 2 :(得分:0)

for(int j = 0; j < 100; j++)     //j -> 0~99 =>total=100
{
    for(int k = 100; k > 0; k--) //k -> 100~1 =>total=1oo
    {
       x++;
    }
}

System.out.println(x);           //should print 10000 bcz of 100*100

答案 3 :(得分:0)

您只需要了解每个循环执行的次数。

请注意,第一个循环运行100次。所以,里面的一切都会重复100次。内环也运行100次。因此set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\ set GH=C:\path\to\git set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%PATH% set PATH=%PATH%;/path/to/Android Studio/bin 将执行100 * 100 = 10000次。

x++