这里询问 
当 scores[i]=0 或者 attList.get(i)==null的时候
下面的语句 for(int j=0;j<distinctList.size();j++){
if(attList.get(i).equals(distinctList.get(j)))
scores[i]=hash;
}就不运行了吗?
代码如下
for(int i=0;i<attList.size();i++){
if(scores[i]!=0 || attList.get(i)==null)
continue;
for(int j=0;j<distinctList.size();j++){
if(attList.get(i).equals(distinctList.get(j)))
scores[i]=hash;
}

解决方案 »

  1.   

    你可以不用考虑这中情况下的continue,写个测试代码自己验证嘛:
    for(int i=0; i<5; i++){
       if(i==0)
          continue;
       System.out.println(i);
    }
      

  2.   

    continue是跳出本次循环,继续执行下次循环
      

  3.   

    continue就是中止本次循环开始下一次循环if(scores[i]!=0 || attList.get(i)==null) 
    continue; 
    这是判断scores[i]!=0或者 attList.get(i)==null的时候就不运行那段代码了~~这种问题,最好自己跑一下,就知道了,这样还能对continue认识的更加深刻
    要是有人回答你说能运行,你是信呢?还是自己实验呢?
      

  4.   

    continue前面的if条件如果成立,后面的语句就不执行了,如果不成立,就执行,这次不执行,下次可能执行,这次执行,下次可能不执行
      

  5.   

    continue用来打断当前循环过程,从当前循环的最后重新开始执行
    你这样写当if(scores[i]!=0 || attList.get(i)==null)成立的时候会跳过后面的语句,继续循环,直到i>=attList.size();
      

  6.   

    int[] scores= { 1, 2, 3, 4, 5 };   测试可以知道如果scores[i]=0 或者 attList.get(i)!=null
    才可以往下走, 否则直接跳到循环下一跳。  后面不执行
      

  7.   

    if(scores[i]!=0 || attList.get(i)==null) 
    continue; 
    你的if 只管下面一行语句    下面得代码还是会执行的
      

  8.   

    continue是跳出本次循环,执行下次循环
      

  9.   

    后面的不执行了,重新再次开始循环
    以下这个例子可以让你更好的理解:public class TestOne { public static void main(String[] args) {
    int[] a = {2};
    for(int i=0; i<5; i++){
       if(i==0)
          continue;
       for(int j = 0 ; j < a.length;j++){
       System.out.println(a[j]);  
       }   
    }
    }
    }