日期:2014-05-20  浏览次数:20684 次

关于for循环的问题
我是初学者,对于我提的问题大家不要笑我,哈哈。
以下是用JAVA对一个数组进行排序
import java.util.*;
public class p70_5
{
  public static void main(String[] args)
  {
  int[] x=new int[8];
  int i,j,k,temp;
  Random a=new Random();
  for(i=0;i<8;i++)
  {
  x[i]=a.nextInt(100);
  }
  for(i=0;i<8;i++)
  {
  System.out.print(x[i]+"\t");
  }
  System.out.print("\n");
  for(i=0,k=i;i<7;i++) //(1)在for循环内放进k=i,答案是错的。
  {
  k=i;//(2)只有把k=i放出来答案才是正确的。
  for(j=i+1;j<8;j++)
  {
  if(x[j]<x[k])
  {
  k=j;
  }
  }
  if(k!=i)
  {
  temp=x[i];
  x[i]=x[k];
  x[k]=temp; 
  }  
  }
  for(i=0;i<8;i++)
  {
  System.out.print(x[i]+"\t");
  }  
  }
}

在以上(1)(2)注释内有我的问题,请问大家这是为什么?

------解决方案--------------------
for(int i=0;i<10;i++)只有三项
第一项是初始化循环变量
第二项是判断循环条件
第三项更新循环变量