In the following program
class ZiggyTest2 {
public static void main(String[] args){
double x = 123.456;
char c = 65;
int i = 65;
System.out.printf("%s",x);
System.out.printf("%b",x);
System.out.printf("%c",c);
System.out.printf("%5.0f",x);
System.out.printf("%d",i);
}
}
The output is
123.456trueA 12365
Can someone please explain how a double value (i.e. 123.456
) is converted to a boolean (ie. true
)
The reason I ask is because I know java does not allow numbers to be used for boolean values. For example, the following is not allowed in Java
if (5) {
//do something
}
Thanks
The printf function (the name comes from “print formatted”) prints a string on the screen using a “format string” that includes the instructions to mix several strings and produce the final string to be printed on the screen.
The key difference between them is that printf() prints the formatted String into console much like System. out. println() but the format() method returns a formatted string, which you can store or use the way you want.
printf: prints the formatted String into console much like System. out. println() but. format: method return a formatted String, which you can store or use the way you want.
for "%b" : If the argument arg is null, then the result is "false". If arg is a boolean or Boolean, then the result is the string returned by String.valueOf(). Otherwise, the result is "true".
reference
The API documentation seems to clearly state why.
If the argument arg is null, then the result is "false". If arg is a boolean or Boolean, then the result is the string returned by String.valueOf(). Otherwise, the result is "true".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With