A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在某资料看到这样的语句:
  1.     Scanner scanner = new Scanner(System.in);
  2.     System.out.print("请输入您的名字:");
  3.     System.out.printf("您好!%s!\n", scanner.next());
复制代码
测试居然可用!!!神奇啊,为什么java会出现System.out.printf()这样的语句呢,它怎么个用法呢?

评分

参与人数 1技术分 +2 收起 理由
小龙 + 2 我也去试下!

查看全部评分

5 个回复

正序浏览
黑马网友  发表于 2011-7-24 20:40:04
地板
printf    在JAVA中也可以按照C语言中的用法使用!我上次在书上见过,也验证了可行性!

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

JAVA是在近几年产生的,肯定会吸取C语言的一部分优点!
回复 使用道具 举报
黑马网友  发表于 2011-7-24 20:33:46
报纸
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个占位符。默认向右对齐。
回复 使用道具 举报
printf是1.5中新加的方法,使用方法与c语言一样,
回复 使用道具 举报
黑马网友  发表于 2011-7-24 19:15:51
藤椅
PrintStream有2种重载的printf方法
一种为:public PrintStream printf(Locale l,String format,Object... args)
另一种是:public PrintStream printf(String format,Object... args)

评分

参与人数 1技术分 +1 收起 理由
小龙 + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-24 19:07:41
沙发
哈哈,您猜对了。
看看如下代码吧:[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]更多的用法,您自己试试吧。

评分

参与人数 1技术分 +1 收起 理由
小龙 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马