print、println、printf的区别(转载)
printf主要是继承了C语言的printf的一些特性,可以进行格式化输出
print就是一般的标准输出,但是不换行
println和print基本没什么差别,就是最后会换行
System.
out
.printf(
"the number is: d"
,t);
参照JAVA API的定义如下:
'd'
整数 结果被格式化为十进制整数
'o'
整数 结果被格式化为八进制整数
'x'
,
'X'
整数 结果被格式化为十六进制整数
'e'
,
'E'
浮点 结果被格式化为用计算机科学记数法表示的十进制数
'f'
浮点 结果被格式化为十进制数
'g'
,
'G'
浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。
'a'
,
'A'
浮点 结果被格式化为带有效位数和指数的十六进制浮点数
println(
"test"
)相当于print(
"test\n"
)就是一般的输出字符串
print\println\printf的区别
print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。
printf是格式化输出的形式。
下在举个例子:
package other;
public
class
TestPrint {
public
static
void
main(String[] args) {
int
i = 4;
double
j = 5;
System.
out
.print(
"用print输出i:"
+ i);
System.
out
.println(
"用println输出i:"
+ i);
System.
out
.printf(
"i的值为%d,j的值为%f"
, i,j);
}
}
运行结果为
用print输出i:4用println输出i:4
i的值为4,j的值为5.000000
可以看到,用print输出i后,没有换行,用println输出的结果直接在print输出语句后面,而输出println后换行了,所以用printf输出时,在第二行
输出。
我们再来看printf
“i的值为%d,j的值为%f”这个字符串中的
"%d"
变为i的值了,而
"%f"
变为了j的值了!
这里,
"%d"
的意思是一个
int
值的占位符,
"%f"
为一个
double
或
float
值的点位符,这个变量的参数在后面提供。注意的是实参名必须按顺序排
。不然就会错了。而且类型也要相符。如果我们把语句改为
System.
out
.printf(
"i的值为%d,j的值为%f"
, j,i);
//i和j位置反了
这时就有错了因为
"%d"
对应的参数变为j,
"%f"
对应的变为i了,而j是
double
的,与
"%d"
是
int
形的不一致。所以有错了。
还有
"%s"
是一个字符串值的点位符的意思。
"%c"
是一个字符值的点位符的意思。
可能读者还会问为什么j输出变成了5.000000?那是因为
double
是默认有6位小数的(这个可能和系统电脑有关,有的不是6位吧)但是如果你想
只要输出两位小数行不行?可以啊!只要改下语句就行了!
System.
out
.printf(
"i的值为%d,j的值为%.2f"
, i,j);
这里的
"%.2f"
的意思是输出两位小数点。如果想输出三位那就
"%.3f"
。
说到这里你会发现原来printf也很有用的。这样可以控制输出的格式。
再学多点知识吧,将代码改为以下:
public
class
TestPrint {
public
static
void
main(String[] args) {
int
i = 4;
double
j = 5.000f;
System.
out
.printf(
"i的值为],\n"
, i);
System.
out
.printf(
"i的值为=,j的值为%.2f"
, i,j);
}
}
运行结果为:
i的值为 4,
i的值为 4,j的值为5.00
原来在
"%"
与
"d"
之间加个数5的意思是输出5个占位符。默认向右对齐。这样的输出是很有用的,比如你想输出一个表格,因各个数大小不一,有的5位有的4位,这样输出的的表格结果就对不齐了。如果将输出结果全部为同一样的占位符数。那样就对齐了。呵呵。
除了
"%d"
可以这样外,别的也可以,读者不防试试。会有很多收获的。
我们再试着将代码改一下:
public
class
TestPrint {
public
static
void
main(String[] args) {
int
i = 4;
double
j = 5.000f;
System.
out
.printf(
"i的值为d,\n"
, i);
}
}
运行结果为:
i的值为00004,
哈哈,原来
"d"
的意思是输出5个占位符,如果数字不足5的话就有左边以0相补
print、println、printf的区别(转载)的更多相关文章
- java中print\println\printf的区别
print\println\printf的区别 print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后. println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光 ...
- print与printf的区别
print与printf的区别 1,print 中不能使用%s ,%d 或%c: 2,print 自动换行,printf 没有自动换行. 纯粹做下笔记哈!很多东西不知道,也就只能这样了!
- C++中print和printf的区别
print与printf的区别 1,print 中不能使用%s ,%d 或%c: 2,print 自动换行,printf 没有自动换行.
- [ Skill ] print println printf fprintf sprintf lsprintf
https://www.cnblogs.com/yeungchie/ 几种 print 函数的差异 print 接收任意的数据类型,并打印到 CIW print( 12345 ) ; 12345 pr ...
- Java中print、printf、println的区别(转载)
printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和print基本没什么差别,就是最后会换行 System.out.p ...
- Java:print、printf、println的区别
printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和print基本没什么差别,就是最后会换行 System.out.p ...
- Java中print()、printf()、println()的区别?
区别: 1.printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 2.print就是一般的标准输出,输入信息后不会换行 3.println输入信息会换行 参照JAVA API的定 ...
- Java中print、printf、println的区别
Java中print.printf.println的区别 区别 print:标准输出,但不换行,不可以空参: println:标准输出,但会自动换行,可以空参,可以看做:println()相当于pri ...
- Go: Println 与 Printf 的区别
Go 学习笔记:Println 与 Printf 的区别,以及 Printf 的详细用法 2017-12-19 15:39:05 zgh0711 阅读数 26255更多 分类专栏: Go 版权声明 ...
随机推荐
- codeforces div2 603 C. Everyone is a Winner!(二分)
题目链接:https://codeforces.com/contest/1263/problem/C 题意:给你一个数字n,求n/k有多少个不同的数 思路:首先K大于n时,n/k是0.然后k取值在1到 ...
- 执行ifconfig eth2 up命令报错eth2: unknown interface: No such device的解决思路
排查问题思路 一般出现这种状况都是网卡mac地址错误引起的!要么网卡配置文件中的mac地址不对,要么/etc/udev/rules.d/70-persistent-net.rules文件中的mac地址 ...
- 利用ansible-playbook一键部署ELK(ElasticSearch,logstash and kibana)
一.部署前环境介绍: es集群5台(es01,es02,es03,es04,es05),logstash服务器1台(logstash2),kibana服务器1台(kibana2),模拟apache服务 ...
- 基于icmp的tracert路由追踪程序
https://blog.csdn.net/u013271921/article/details/45488173 #include<winsock2.h> //#include<i ...
- git 本地回滚与远程库回滚
不说废话,开始: 一.本地回滚: git reset --hard commit-id //回滚到commit-id 二.远程回滚操作分3步:①将本地分支退回到某个commit ②删除远程分支 ...
- 【音乐欣赏】《Running Away》 - Taska Black / DROELOE
曲名:Runing Away 作者:Taska Black .DROELOE [00:00.000] Running with the speed of light [00:03.081] Illum ...
- VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version
VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll ve ...
- vue项目用npm安装sass包遇到的问题及解决办法
IDEA启动vue程序,浏览器访问时出现如下情况的关于node-sass的错误: 错误1: Module build failed (from ./node_modules/sass-loader/d ...
- opencv:图像的算术操作
前提:输入图像的大小和类型必须一致 越界处理: 大于255,则会减去255 小于0,则等于0 基本计算,加减乘除 #include <opencv2/opencv.hpp> #includ ...
- linux 命令——screen
最近遇到一个东西aria2,这个玩意,这个是啥呢?Aria2是一个轻量级Linux下载软件,支持HTTP/HTTPS, FTP, SFTP, BitTorrent和磁力链接(官方版),公司系统插件配套 ...