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的区别(转载)的更多相关文章

  1. java中print\println\printf的区别

    print\println\printf的区别 print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后. println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光 ...

  2. print与printf的区别

    print与printf的区别 1,print 中不能使用%s ,%d 或%c: 2,print 自动换行,printf 没有自动换行. 纯粹做下笔记哈!很多东西不知道,也就只能这样了!

  3. C++中print和printf的区别

    print与printf的区别 1,print 中不能使用%s ,%d 或%c: 2,print 自动换行,printf 没有自动换行.

  4. [ Skill ] print println printf fprintf sprintf lsprintf

    https://www.cnblogs.com/yeungchie/ 几种 print 函数的差异 print 接收任意的数据类型,并打印到 CIW print( 12345 ) ; 12345 pr ...

  5. Java中print、printf、println的区别(转载)

    printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和print基本没什么差别,就是最后会换行 System.out.p ...

  6. Java:print、printf、println的区别

    printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和print基本没什么差别,就是最后会换行 System.out.p ...

  7. Java中print()、printf()、println()的区别?

    区别: 1.printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 2.print就是一般的标准输出,输入信息后不会换行 3.println输入信息会换行 参照JAVA API的定 ...

  8. Java中print、printf、println的区别

    Java中print.printf.println的区别 区别 print:标准输出,但不换行,不可以空参: println:标准输出,但会自动换行,可以空参,可以看做:println()相当于pri ...

  9. Go: Println 与 Printf 的区别

    Go 学习笔记:Println 与 Printf 的区别,以及 Printf 的详细用法 2017-12-19 15:39:05 zgh0711 阅读数 26255更多 分类专栏: Go   版权声明 ...

随机推荐

  1. Java中的门面设计模式及如何用代码实现

    门面设计模式又叫外观设计模式,其核心思想正如其字面意思,向用户提供一个门户,用户只需要访问这个门户来获取他们想要的数据,无需管理这个门户内部的构成,也无需知道里面的运行流程等等,对于开发者来说,使用门 ...

  2. Java与Web前端发展前景及薪资对比

    Web前端和Java谁的薪资待遇高?关于这个问题,是很多网友都感兴趣的,在各大论坛贴吧上也看到了不少类似的问题. 现在的互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是关于学习什么技 ...

  3. 协同ADMM求解考虑碳排放约束直流潮流问题的对偶问题(A Distributed Dual Consensus ADMM Based on Partition for DC-DOPF with Carbon Emission Trading)

    协同ADMM求解考虑碳排放约束直流潮流问题的对偶问题 (A Distributed Dual Consensus ADMM Based on Partition for DC-DOPF with Ca ...

  4. Sql 中获取年月日时分秒的函数

    getdate():获取系统当前时间 dateadd(datepart,number,date):计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate()) ...

  5. CDQ 分治

    引言: 什么是CDQ分治?其实这是一种思想而不是具体算法,因此CDQ分治覆盖的范围相当广泛,在 OI 界初见于陈丹琦 2008 年的集训队作业中,故被称为CDQ分治. 大致分为三类: cdq分治解决与 ...

  6. Java 常见异常及处理方案

    Java 常见异常处理方案 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error: ...

  7. C 语言实例 - 判断闰年

    用户输入年份,判断该年份是否为闰年. #include <stdio.h> int main() { int year; printf("输入年份: "); scanf ...

  8. html 打印相关操作与实现

    2020-02-19 | chrome 79.0.3945.130 测试无问题 未做兼容测试 原理为调用 window.print() 方法,但是该方法只能对当前页面全部打印,所以有了以下方案来解决局 ...

  9. 2020 i春秋新春战疫公益赛 misc

    0x01 code_in_morse morse decode后得到: RFIE4RYNBINAUAAAAAGUSSCEKIAAAAEUAAAAA7AIAYAAAAEPFOMTWAAABANUSRCB ...

  10. MAC记住 git的用户名密码

    问题:第一次使用MAC的git垃取代码时,连续输错密码.以为垃取不下来,就让同事用它的git账号和密码垃取了一次拉去成功了.之后我再配置git的用户名和密码设置称自己的.往后每次拉去和提交都显示同事的 ...