Convert Boolean to Int in Java

Convert boolean to int in Java

int myInt = myBoolean ? 1 : 0;

^^

PS : true = 1 and false = 0

Converting Boolean to Integer in Java without If-Statements

You can't use a boolean other than in a if. However it does not mean that there will be a branch at the assembly level.

If you check the compiled code of that method (by the way, using return b ? 1 : 0; compiles to the exact same instructions), you will see that it does not use a jump:

0x0000000002672580: sub    $0x18,%rsp
0x0000000002672587: mov %rbp,0x10(%rsp) ;*synchronization entry
0x000000000267258c: mov %edx,%eax
0x000000000267258e: add $0x10,%rsp
0x0000000002672592: pop %rbp
0x0000000002672593: test %eax,-0x2542599(%rip) # 0x0000000000130000
; {poll_return}
0x00000000025b2599: retq

Note: this is on hotspot server 7 - you might get different results on a different VM.

How to convert boolean value into int and vice versa in java?

C++ implicitly converts int to boolean. In Java, you will have to do that explicitly by yourself.
To convert an int to boolean, just check whether it's not zero like this: N != 0

So you have to modify your original expression to something like this:

if (((N & (N - 1)) != 0) || (N == 0))

Vice versa, to convert a boolean to an int, do something like this: int i = boolValue ? 1 : 0;

Can I manipulate Boolean values as ints in Java?

Is a boolean primitive in java a type in its own right?

Yes. boolean is a primitive type in its own right

can it be manipulated as an int?

No. It can not be implicitly or explicitly cast or otherwise used as an int (Java ain't C)

If you wanted to "coerce" it to an int:

boolean b;
int i = b ? 1 : 0; // or whatever int values you care to use for true/false

I am not able to convert int to boolean in Java in the following code

Not every type can be cast to another. int to boolean is one of those that is not permitted in Java. The Java Language Specification explains what is and what isn't possible.

Casting Boolean To Int

This is not what the tutorial asks you to do. I think they want you to literally replace boolean with int, true with 1, and false with 0, like this:

int p, q;
System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
p = 1; q = 1;
System.out.print(p + "\t" + q + "\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (1-p)); // EDIT: was !p

This will lead you to understanding of bitwise operations on integers 0 and 1.

cannot convert from boolean to int

The following is not valid Java:

case weight <= 1:

You need to rephrase the switch as a series of if statements.

if (weight <= 1) {
System.out.println("The cost is 3.5");
} else if (weight <= 3) {
System.out.println("The cost is 5.5");
} ...

How to convert an integer method to boolean in Spring MVC

You can not convert int to boolean directly but we can say that if the integer value is greater than equal to 1 set the boolean value as true, otherwise set boolean as false.
For an int, any non-zero value evaluates to true, while zero evaluates to false.
Also jdbcTemplate.update() returns an int not a boolean value , 1 if query was successful otherwise 0.

You can try it like this

public boolean delete(int studentId) {
String sql = "delete from student1 where stu_id=?";


boolean statusFlag = true;

int status = 0;

try {

status = jdbcTemplate.update(sql, new Object[] { studentId });

if(status >= 1 || status < 0){
statusFlag = true;
}
else{
statusFlag = false;
}



} catch (Exception e) {
e.printStackTrace();

}
return statusFlag;
}
}

Or a simpler way

return status !=0;

Can I convert boolean into another data type in Java

NO
You use ternary operation

          int X = value ? 1: 0;


Related Topics



Leave a reply



Submit