Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How java converts int to boolean

When i convert:

int B=1;
boolean A=B;

It gives error: Incompatible types, which is true

But when I write this code:

int C=0;
boolean A=C==1;

it gives false while if I change value of C to 1 it gives true. I don't understand how compiler is doing it.

like image 584
Adnan Avatar asked Dec 24 '22 17:12

Adnan


1 Answers

int C=0;
boolean A=C==1;

The compiler first gives C a zero.

Variable : C
Value    : 0

Now The Assignment statement,

We know that the assignment statement evaluates the right part first and the gives it to the left.

The right part ==> C == 1 Here, This is an expression which evaluates to true or false. In this case it is false as c is 0.

So the R.H.S is false.

Now this gets assigned to the L.H.S which is A.

A = ( C == 1 ) ==> A = false

As A is a boolean this is a right statement

like image 130
Uma Kanth Avatar answered Jan 06 '23 07:01

Uma Kanth