Форматирование с использованием printf и format

В следующей программе

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

Кто-нибудь, пожалуйста, объясните, как двойное значение (например, 123.456 ) преобразуется в логическое (например, true true )

Причина, по которой я спрашиваю, заключается в том, что я знаю, что Java не позволяет использовать числа для логических значений. Например, следующее недопустимо в Java

if (5) {
 //do something
}

Спасибо

33
задан Jagger 25 December 2011 в 15:30
поделиться