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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cena约翰塞纳 中级黑马   /  2013-9-28 18:04  /  2350 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天在打程序时候发现printf和println用法还真不一样。
下列语句:
System.out.printf("当前系统时间为:"\n%date);
当把printf换成println时候运行时报错。这是为什么啊?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

5 个回复

倒序浏览
printf是打印后不换行,println打印后换行, 至于你后面把\n%date 连起来的没看懂,\n是换行符 ,也需要用+与前面字符分开,再使用""起来。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
printf是用于格式化输出的. %d  就表示输出值为一个整数。
println()在要输出的内容后自动加了回车换行 ,这个函数是不能用于输出格式的。
你这不改println编译也通不过啊
你是不是把%d 和date连一块了 printf 认为要输出个整数。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
我来告诉你吧,~

printf主要是继承了C语言的printf的一些特性,可以进行格式化输出



println和就是最后会换行

  不信你试下

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
printf是用于格式化输出的 score[%d]=%d"  这个就是输出格式   %d  就表示输出值为一个整数 println()在要输出的内容后自动加了回车换行 ,这个函数可不能用输出格式的。这两个函数的参数是不一样的。printf 的参数是不定的,可以是1或多个的。而 println 似乎是一个参数 ,所以改成System.out.println("score[%d]=%d",i,score[i]);     参数就不对了,肯定出错啊

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
System.out.printf 其实就C语言的输出语句,它是不会自动换行的,和JAVA 中的System.out.print一样
System.out.println 是自动换行的

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

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