次のプログラムで
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);
}
}
出力は
123.456trueA 12365
誰かがdouble値(つまり123.456
)がブール値(つまりtrue
)に変換される方法を説明してください
私が尋ねる理由は、Javaではブール値に数字を使用できないことを知っているからです。たとえば、Javaでは以下は許可されません
if (5) {
//do something
}
ありがとう
for "%b":引数argがnullの場合、結果は "false"です。 argがブール値またはブール値の場合、結果はString.valueOf()によって返される文字列です。それ以外の場合、結果は「true」です。
APIドキュメント は、理由を明確に述べているようです。
引数argがヌルの場合、結果は「false」です。 argがブール値またはブール値の場合、結果はString.valueOf()によって返される文字列です。それ以外の場合、結果は「true」です。
値はdouble
型であり、これが%b
コンバーターは、このタイプの値で機能します。