java學習之旅-6
阿新 • • 發佈:2018-02-23
自增 tro pri 只需要 循環嵌套 java 問題 定義 一次 有關for循環嵌套問題的優化:
這樣優化之後,代碼的效率就提高了很多。
for(int i = 0;i < 1000;i ++)
{
for(int j = 0;j < 100;j ++)
{
for(int k = 0;k < 10;k ++)
{
System.out.println("(" + i + "," + j + "," + k + ")");
}}}
i,j,k分別:
定義了1,1000,100000次;
初始化了1,1000,100000次;
自增了1000,100000,1000000次。
想要優化此代碼,則需要盡可能地減少運算次數。其實i,j,k定義其實只需要一次,上面的代碼可以這樣改:
int i,j,k;
for(i = 0;i < 1000;i ++)
{
for(j = 0;j < 100;j ++)
{
for(k = 0;k < 10;k ++)
{
System.out.println("(" + i + "," + j + "," + k + ")");
}}}
i,j,k分別:
定義了1,1,1次;(定義次數減少了)
初始化了1,1000,100000次;
自增了1000,100000,1000000次。
其實,除了減少定義次數外,還可以減少初始化次數,代碼如下:
int i,j,k;
for(i = 0;i < 10;i ++)
{
for(j = 0;j < 100;j ++)
{
for(k = 0;k < 1000;k ++)
{
System.out.println("(" + k + "," + j + "," + i + ")");//交換i和k的位置,保證結果不發生改變。
}}}
i,j,k分別:
定義了1,1,1次;
初始化了1,10,1000次;(初始化次數減少了)
自增了1000,100000,1000000次。
這樣優化之後,代碼的效率就提高了很多。
java學習之旅-6