Java中print、printf、println的区别 详解

Java中print、printf、println的区别 详解Java中print、printf、println的区别详解printf主要是继承了C语言的printf的一些特性,可以进行格式化输出print就是一般的标准输出,但是不换行println和print基本没什么差别,就是最后会换行System.out.printf(“thenumberis:d”,t);参照JAVAAPI的定义如下:’d’整数

大家好,又见面了,我是你们的朋友全栈君。

Java中print、printf、println的区别详解

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相补

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156809.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • vue常用命令

    vue常用命令vue常用命令

    2022年4月22日
  • java传真发送,用Java发送传真解决之道

    java传真发送,用Java发送传真解决之道在传真量很大的部门,用传真机发送传真有时候不仅浪费资源(很多东西都是先需要打印出来然后再去传真),而且效率低下,也不便于归档管理。大家都知道,Windowsxp提供了传真服务组件,需要使用一个modem,就可以供传真服务。只要是能够打印的东西,都能够传真,这样确实方便不少。但是,实际使用中会有一个比较严重的问题,就是fax并不像打印机一样可以共享使用,这样网络中的其他机器就不能使用该…

    2022年6月28日
  • Python输入输出(IO)[通俗易懂]

    Python输入输出(IO)[通俗易懂]程序会有输入和输出,输入可以从标准输入或是从一个文件读入数据,程序的输出可以以一种友好可读的方式(human-readable)打印出来,或是写进一个文件,而标准输入和标准输出(键盘和显示器)在程序的

    2022年7月6日
  • opencv lsd算法_opencv目标识别

    opencv lsd算法_opencv目标识别最小二乘法的概念最小二乘法要关心的是对应的costfunction是线性还是非线性函数,不同的方法计算效率如何,要不要求逆,矩阵的维数一般都是过约束,方程式的数目多于未知的参数数目。最小二乘法的目标:求误差的最小平方和,根据costfunction的对应有两种:线性和非线性(取决于对应的残差(residual)是线性的还是非线性的)。线性最小二乘的解是closed-formsolution …

    2022年10月1日
  • ie兼容性视图在哪里设置win10_ie11兼容性视图设置

    ie兼容性视图在哪里设置win10_ie11兼容性视图设置在访问一些网站时被告知只能使用IE浏览器进行访问,我个人更新了win11的预览版本之后更是在系统中找不到IE的踪迹,edge中的“兼容性视图”选项并没有直接在设置出显示出来,于是一番努力后我发现了在edge中使用IE兼容性视图的设置方法。一、打开“设置”在edge右上角“…”选项中选择“设置”打开。二、设置“InternetExplorer模式”在设置页面的左侧选择“默认浏览器”,右侧将“允许在InternetExplorer模式下重新加载网站”的下拉选择由“默认值”改为“允许

    2022年9月7日
  • 利用serv-u搭建ftp服务器实验报告_服务器系统怎么进U启动

    利用serv-u搭建ftp服务器实验报告_服务器系统怎么进U启动以前在学校的时候,学校的整个宿舍楼都是在一个局域网中,经常有人用个人电脑搭个网站或者FTP啊什么的,主要是进行一些影视资源的传播活动。不乏有些资源充沛的有志青年利用业余时间翻译某岛国影视资源,利用局域网FTP上传到某大大的个人电脑上。资源广为分享,其翻译作品之影响力在我们热血青年心中丝毫不亚于书记的训话。我们记住了大大的服务器帐号,也记住了大大被通报批评后黯然的神情,却忽视了在背后默…

    2022年9月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号