public class tfor
{
public static void main (String []aegs){
for (int a = 0; a <100;a++){
if (a % 2 != 0);{
System.out.println(a);
a++;
}
}
}
}
结果为偶数
public class tfor
{
public static void main (String []aegs){
for (int a = 0; a <100;a++){
if (a % 2 != 0);{
a++;
System.out.println(a);
}
}
}
}
结果为奇数
public class tfor
{
public static void main (String []aegs){
for (int a = 0; a <100;a++){
if (a % 2 != 0);{
System.out.println(a);
}
}
}
}
结果为1~100
请问这段代码a++的位置不同导致结果不同,是为什么有大神能解释一下吗,笑答万分感谢
等价代码:
for (int a = 0; a <100; ){
{
System.out.println(a);
a=a+2;
}
}
for (int a = 0; a <100; ){
{
a=a+1;
System.out.println(a);
a=a+1;
}
}
for (int a = 0; a <100; ){
{
System.out.println(a);
a=a+1;
}
}
if (a % 2 != 0)后分号删了
你这样在IF后面加一个分号,后面的代码就和这个判断语句无关了后面代码就依次执行了。所以你的a++位置变了之后会影响结果,就是带代码从上到下依次执行的锅;
要进行奇偶的判断应该像下面代码:
for (int a = 0; a < 100; a++) {
if (a % 2 != 0){
System.out.println(a);
}
}