print:将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。

println: 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。

printf:是格式化输出的形式。printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出;但是不换行 println和print基本没什么差别,就是最后会换行 System.out.printf("the number is: d",t);

格式化: 'd' 整数 结果被格式化为十进制整数;

'o' 整数 结果被格式化为八进制整数;

'x', 'X' 整数 结果被格式化为十六进制整数;

'e', 'E' 浮点 结果被格式化为用计算机科学记数法表示的十进制数;

'f' 浮点 结果被格式化为十进制数 ;

'g', 'G' 浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化;

'a', 'A' 浮点 结果被格式化为带有效位数和指数的十六进制浮点数 println("test")相当于print("testn")就是一般的输出字符串;

example:

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位,这样输出的的表格结果就对不齐了。如果将输出结果全部为同一样的占位符数。那样就对齐了。呵呵。

我们再试着将代码改一下:

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

JAVA 之print,printf,println的更多相关文章

  1. java的print,printf,println以及输入

    java中有三种方式向控制台输入信息,分别是print,printf,println,现在简单介绍一下他们之间的异同. printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 pr ...

  2. Java中print、printf、println

    Java中的System.out输出会用到print.println以及printf命令. 其中 print一般的标准输出,但是不换行. println对比print即在结尾处多了换行.  eg:pr ...

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

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

  4. print、println与printf之间的区别

    //print没有换行的而println有自动换行功能.实例:uprint.java class uprint{public static void main(String arg[]){int i, ...

  5. Go语言中 Print,Println 和 Printf 的区别(八)

    Print 和 Println 这两个打印方式类似,只在格式上有区别 1. Println 打印的每一项之间都会有空行,Print 没有,例如: fmt.Println("go", ...

  6. 7.20.01 java格式化输出 printf 例子

    java格式化输出 printf 例子 importjava.util.Date; publicclassPrintf { publicstaticvoidmain(String[] args) { ...

  7. 【转】java格式化输出 printf 例子

    [转]java格式化输出 printf 例子 转自http://www.cnblogs.com/TankMa/archive/2011/08/20/2146913.html#undefined imp ...

  8. Java的System.out.println()的解析

    Java的System.out.println()的解析 System 是java.lang中的一个类. System.out 中的out, 代表了System类中的静态对象PrintStream, ...

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

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

随机推荐

  1. JAVA的界面(Swing)

    现在的程序很多在java中运行,很多时候是Web;很多服务端还是有一个简单的日志文件比较好:或者配置: 今天在看java图形界面开发时,看见已经不怎么更新的库.没有办法,市场决定一切,很多好的东西没有 ...

  2. 杭电acm 1001

    #include<cstdio> int main() { int n; while(scanf("%d",&n)!=EOF) { ==) printf(*(n ...

  3. Raspberry pi(-) Mac下安装系统

    购买树莓派一般的操作说明书都是windows下的,因为本人只有MBP,外加虚拟机Parallels Desktop无法识别SD卡,所以就直接参考Mac教程了. 1.系统镜像官网下载 推荐用Raspbi ...

  4. 启动kafka出现找不到或无法加载主类

    首先确认下环境变量配置是否成功. 如果配置成功<javac,javah>都没有问题,那就有可能是你安装了两个版本的jdk导致的,都卸载了,然后换一个目录按照一个jdk 在配置环境变量试下!

  5. angularjs1 实现地图添加自定义控件(搜索功能)及事件

    // 添加地图自定义控件的事件 function addEventHandler(target, eventName, handler) { if (target.addEventListener) ...

  6. 通过Robocopy+DOS 命令+Windows排程实现自动备份(将特定文件/目录备份至自动创建的以年月日命名的目标目录)

    1. Software Requirement: 1.1.mirror.bat .mirror_SERVICE_BEGIN.mirror_SERVICE_END.robocopy.exe 1.2. C ...

  7. Eclipses使用小技巧

    1.新导入Eclipse的项目,显示很多错误,一般是因为没有加上对应的Lib,添加后错误消失. 2.如果还有错误,而且是与JavaEE相关的,比如说HttpServlet类找不到,更新一下tomcat ...

  8. c#中实现多个接口出现同名同参的方法

    IDictionary接口类同时继承了 IEnumerable<KeyValuePair<TKey, TValue>> 和 IEnumerable这两个接口 public in ...

  9. windows server 无人值守安装

    使用 answer file:AutoUnattend.xml 来无人值守安装,到了选系统这步 还是要手动选择一个系统,这是为什么?怎么设置可以默认进入GUI的系统进行安装啊?

  10. Microsoft CRM 2013 设置默认组织 default organization

    Microsoft CRM 2013 在部署管理器里没有设置默认组织的功能(以前4.0是有的),所以如果安装了多组织并且某些用户在多组织里同时存在这就涉及默认组织的设置问题,或者在安装outlook ...