SCJP Question
posted 25 years ago
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
int i = 10;
int j = 10;
boolean b = false;
if(b= i == j)
System.out.println("True");
else
System.out.println("False");
This prints "True"
But if() is suppose to contain only bollean expressions,
how does this work?
Explain!!
int j = 10;
boolean b = false;
if(b= i == j)
System.out.println("True");
else
System.out.println("False");
This prints "True"
But if() is suppose to contain only bollean expressions,
how does this work?
Explain!!
posted 25 years ago
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
hello kanan,
the explanation to this output goes like this.
if(b= i == j)
remember
1) during assignment operation (i.e. '=' operation )first of all the RHS expression is calculated and the result is assigned to LHS.
so in ur case RHS expression is
i==j
which is true so now the if(...) becomes
if(b = true)
now true will be assigned to b
so finally if(...) will be considered
if(true)
so the expression inside if() has value true so the output is true.
hope this explain things.
do post any other doubt of urs.
regards
deekasha
the explanation to this output goes like this.
if(b= i == j)
remember
1) during assignment operation (i.e. '=' operation )first of all the RHS expression is calculated and the result is assigned to LHS.
so in ur case RHS expression is
i==j
which is true so now the if(...) becomes
if(b = true)
now true will be assigned to b
so finally if(...) will be considered
if(true)
so the expression inside if() has value true so the output is true.
hope this explain things.
do post any other doubt of urs.
regards
deekasha
posted 25 years ago
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Original Code:
int i = 10;
int j = 10;
boolean b = false;
if(b= i == j)
System.out.println("True");
else
System.out.println("False");
To make the if statement more clear, look at it this way:
if(b = (i==j))
Here, i==j returns true, which is assigned to b. Now, your if statement has its required boolean condition - b - which is true. Hence the result.
int i = 10;
int j = 10;
boolean b = false;
if(b= i == j)
System.out.println("True");
else
System.out.println("False");
To make the if statement more clear, look at it this way:
if(b = (i==j))
Here, i==j returns true, which is assigned to b. Now, your if statement has its required boolean condition - b - which is true. Hence the result.
posted 25 years ago
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
I am moving this thread to the Programmer Certification forum.
Tony Alicea
Senior Java Web Application Developer, SCPJ2, SCWCD
| Don't MAKE me come back there with this tiny ad: Paul Wheaton's 16th Kickstarter: Gardening playing cards for gardeners and homesteaders https://coderanch.com/t/889615/Paul-Wheaton-Kickstarter-Gardening-playing |







