Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

question on if loop

 
JayaSiji Gopal
Ranch Hand
Posts: 303
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
class test {

static boolean check;

public static void main(String args[]) {

int i;

if(check == true)

i=1;

else

i=2;



if(i=2) i=i+2;

else i = i + 4;

System.out.println(i);

}

}




3
4
5
6
The program does not compile because of the statement if(i=2)

i answered 4,but the correct ans is the last option.

i have come across eg, where there is a variable assignment in the if loop. one of the major questions which r a little tricky.
in this eg, also, the variable is assigned 2 which now returns true and hence i answered 4.

anybody plz explain?


 
Junilu Lacar
Bartender
Pie
Posts: 7319
45
Android Eclipse IDE IntelliJ IDE Java Linux Mac Scala Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The operator should be "==" not "=". The former tests for equality of two values, the latter is the assignment operator.
 
navneet shrivastava
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"if()" must evaluate to a boolean value;
simplifying: the statement/condition within '(condition)' must evaluate to boolean.
 
Joe Borderi
Ranch Hand
Posts: 151
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"i have come across eg, where there is a variable assignment in the if loop."

A variable assignment will work in a loop or if condition if the variable assingments evaluate to a boolean:
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic