黑马程序员技术交流社区

标题: System.out.printf()的使用,printf不是C语言的写法吗? [打印本页]

作者: 张小明    时间: 2011-7-24 18:54
标题: System.out.printf()的使用,printf不是C语言的写法吗?
在某资料看到这样的语句:
  1.     Scanner scanner = new Scanner(System.in);
  2.     System.out.print("请输入您的名字:");
  3.     System.out.printf("您好!%s!\n", scanner.next());
复制代码
测试居然可用!!!神奇啊,为什么java会出现System.out.printf()这样的语句呢,它怎么个用法呢?
作者: 匿名    时间: 2011-7-24 19:07
哈哈,您猜对了。
看看如下代码吧:[code=java]package org.cxy.demo;
public class Demo {
        public static void main(String[] args) {
                // printf()方法本来就是模仿C语言中的printf函数。主要用于格式化输出数据。
                System.out.printf("%s,%d\n", "张小三",34);
                // C语言的格式化输出数据语法。
                System.out.printf("%-7s,%7d\n", "张小三",34);
                // 在Java中任何东西都可以转换成String类型的,因此可以使用%s输出任何数据。
                System.out.printf("%s,%s,%s,%s,%s\n", 1,54D,63F,'C',"张小三");
        }
}[/code]更多的用法,您自己试试吧。
作者: 匿名    时间: 2011-7-24 19:15
PrintStream有2种重载的printf方法
一种为:public PrintStream printf(Locale l,String format,Object... args)
另一种是:public PrintStream printf(String format,Object... args)
作者: 王松朝    时间: 2011-7-24 20:26
printf是1.5中新加的方法,使用方法与c语言一样,
作者: 匿名    时间: 2011-7-24 20:33
printf是格式化输出的形式。
例子:
public class TestPrint {
public static void main(String[] args) {
   int i = 4;
   double j = 5.000f;
   System.out.printf("i的值为%5d,\n", i);
   System.out.printf("i的值为%3d,j的值为%.2f", i,j);  
}
}
运行结果为:
i的值为    4,
i的值为  4,j的值为5.00
在"%"与"d"之间加个数5的意思是输出5个占位符。默认向右对齐。
作者: 匿名    时间: 2011-7-24 20:40
printf    在JAVA中也可以按照C语言中的用法使用!我上次在书上见过,也验证了可行性!

我们老师以前说过,这个是按行 打印 点 的!具体也记不清了。

JAVA是在近几年产生的,肯定会吸取C语言的一部分优点!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2