Consult a java program, the code is given, why is the running result like this. If the statement inside will make the value of a affect the next one?
Asked by: Henry Hughes 252 views IT
public class Else {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
if(a++==1)
System.out.println ("a==1");
else
System.out.println("a!=1");
if(++a==2)
System.out.println("a==2");
else
if(a*a>5)
System.out.println("a>5");
&Nbsp; else
System.out.println(" a<5");
if(a<5)
{
if(++a>=3)
{
System.out.println(" a>=3");
}
if(++a-3==0)
{
System.out.println("a==0");
}
}
}
}
Run results:
a!=1
a==2
a>=3
+3Votes
Result Analysis
if(a++==1) //a is post-++, the value of the expression is 0, so it does not hold
output
System.out.println("a!=1"); //a!=1
A=1 at this time
and
if(++a==2)
Because it is the former ++, the expression and the value of a 2, the condition is established
output System.out.println("a==2"); //a==2
and the following is not executed after else until
if(a<5)
At this point, a==2, so the condition is true
continue if(++a> =3)
is ++ first, so the expression and the value of a are 3, the condition is true, and the output is
System.out.println("a>=3" ); //a>=3
final judgment
if(++a-3==0)
is again ++, So a=4, the value of the expression is 4-3=1, which is not true.
This is the main assessment
1. The difference between ++ and ++
2.if the order of judgment