System.out.printf("Pi is approximately %f and E is approximately %b", Math.PI,Math.E);输出是:
Pi is approximately 3.141593 and E is approximately true

解决方案 »

  1.   

    你可以看下Java的API文档,上面有关于它的说明.
      

  2.   

    文档总会看吧
    %b指示的是boolean类型.转换  参数类别  说明  
    'b', 'B'  常规  如果参数 arg 为 null,则结果为 "false"。如果 arg 是一个 boolean 值或 Boolean,则结果为 String.valueOf() 返回的字符串。否则结果为 "true"。 
      

  3.   

    %f  表示是一个浮点数float或者double(10进制)
    %b  表示是一个布尔值boolean printf 输出的风格跟C很像的 是5.0新推出的风格
      

  4.   

    参照JAVA API的定义如下: 
    'd' 整数 结果被格式化为十进制整数 
    'o' 整数 结果被格式化为八进制整数 
    'x', 'X' 整数 结果被格式化为十六进制整数 
    'e', 'E' 浮点 结果被格式化为用计算机科学记数法表示的十进制数 
    'f' 浮点 结果被格式化为十进制数 
    'g', 'G' 浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。 
    'a', 'A' 浮点 结果被格式化为带有效位数和指数的十六进制浮点数 
    还有问题可以参考“JAVA API”说明
      

  5.   

    嘻嘻,printf 中可以使用的参数远不止这些,具体的可以看看 java.util.Formatter 的
    API DOC,这是 JDK 5.0 新增的类库,主要用到了 JDK 5 中的“变参”这个新的语言特性。一般用得到最多的方法是:
    System.out.printf
    String.format
    这两个。比如,使用:System.out.printf("%tF %<tT", System.currentTimeMillis());
    或者:String str = String.format("%tF %<tT", System.currentTimeMillis());是不是要比使用:
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String str = sdf.format(new Date());更为方便呢?
      

  6.   

    晕死,可恶的 CSDN,为什么要把我输入的“<”前面加个空格啊?%<tT 中 < 前面没有空格的!