使用eclipse编码时,代码i ++显示为死代码。那是什么意思?为什么它是一个死代码?
public class ScoreCalculator{
public static void main(String[] args) {
int ScoreCard[] = {70,102,198, 60};
String PlayersList[] = {"Mukesh","Suresh","Shardul","Nandan"};
System.out.println(DisplayScore(ScoreCard, PlayersList));
}
public static String DisplayScore(int[] Scores, String[] Players){
for( int i=0; i <= 3; i++){
if(Scores[i]>100 && Scores[i]<=200){
System.out.println("\n******Players who moved to next level******");
return Players[i] + "\n";
}
else
{
System.out.println("\n******Players in Danger Level******");
return Players[i] + "\n";
}
}
return "\n";
}
}
答案 0 :(得分:3)
在所有可能的流程中,您在执行i++
之前退出循环。有三种不同的可能流程:
在所有情况下,您都没有完成单循环,因此每次迭代后评估的代码都无法访问。
for
循环的工作原理如下:
for (A; B; C)
^^ - executes before the loop starts (before first iteration
^^ - is evaluated before each iteration
^^ is evaluated after each full iteration, so is executed in case the loop executes
at least once
就个人而言,我发现IDE已经发现了它。
答案 1 :(得分:0)
循环的第一次迭代将返回一个值,从方法中断开。因此,增量永远不会发生。
这个循环等同于它的第一次迭代:
if(Scores[0]>100 && Scores[0]<=200){
System.out.println("\n******Players who moved to next level******");
} else {
System.out.println("\n******Players in Danger Level******");
}
return Players[0] + "\n";