print\println\printf的区别

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://www.cnblogs.com/txdcnblogs/archive/2012/11/05/7400702.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪里学php开发,哪里学web开发

在开始学习Web开发时,我建议做的第一件事就是确定明确的最终目标,并牢记其中。也许你想改变职业生涯。也许你对应用程序有一个邪恶的想法。或许你只是想学习乐趣。无论您的目标是什么,了解您为什么这样做都很重要。这种理解将帮助您提高学习时…

对PostgreSQL中后台进程内存挂载的初步学习

开始 从 CreateSharedMemoryAndSemaphores 开始: 对于 Postmaster 的各个子进程而言,内存结构在 Postmaster 中已经建立,只是需要挂到各子进程自己的本地变量上。 /* * CreateSharedMemoryAndSemaphores …

四阶龙格积分法 matlab,matlab控制系统计算机仿真实验-完整版

MALTAB 仿真实验指导书实验一实验题目:欧拉法&梯形法的MATLAB 实现实验目的:1.熟练掌握MATLAB 的使用方法2.牢记欧拉法、梯形法的计算过程3.熟悉欧拉法、梯形法以及实现二阶动态响应的程序编写 实验内容:已知被控对象的系数矩阵分别为A[-…

前端学习(590):调试javascript的流程

vs 安装live server插件 第一种方式 第二种方式 使用alert 断点调试debugger 断点调试 断点调试 设置断点

统一管理MOSS2010用户头像

我们都知道MOSS 2010里面的“我的网站”里面有一个上传照片功能,通过那里用户可以方便的上传自己的照片。也可以通过在AD里面上传用户的头像,通过MOSS的 User Profile Service Application 服务进行同步,实现MOSS,Outlook,Lync 头像的统一管理…

开博第一篇-ios

最近在工作之余学习了ios上的编程,感觉3G时代了,自己应该会些时代的东西! 由于是java出身,所以开始看objective-c时很别扭,但慢慢的看的话还是蛮有趣的! 最初买了本ios的编程教程,有点老&#x…

php代码质量怎么提高,如何提高PHP代码的质量?第一部分 自动化工具

重复的代码是不好的,每个人都知道。有时我们错误地创建了这样的代码,我们从来没有注意到它。有时我们这样做是因为我们懒惰。最好是配备一个工具,它可以在构建时提示这个问题。PHPCPD - PHP复制/粘贴检测器。通过运行以下命令来安装它&#x…

第二周周四DailyReporting——PM(李忠)

这几天不知道怎么的,项目一直进展缓慢,心里有些着急,下面是几个总结: (1)数据库来的时候,我们的能否承受大数据的考验; (2)组员这几天都有些闲,不…

matlab多缝夫琅禾费,常见的多缝夫琅禾费衍射.ppt

常见的多缝夫琅禾费衍射* * 5.8 多缝夫琅禾费衍射 所谓多缝是指在一块不透光的屏上,刻有 N 条等间距、等宽度的通光狭缝。夫琅禾费多缝衍射的装置如图所示。其每条狭缝均平行于 y1 方向,沿 x1 方向的缝宽为 a,相邻狭缝的间距为 d,…

php 判断心跳包报错,第29问:MySQL 的复制心跳说它不想跳了

问题最近年末,你们的数据库常常跑批量大事务,会发现复制忽然断开,报错“心跳与本地信息不兼容”: 会是什么缘由?php 实验咱们先来复现一下,再进行分析。html宽油,作一对主从数据库:m…

Linux 常用测试命令

1. cpu info: 2. memory info 3. 下载测试:这里有测试下载文件:wget http://cachefly.cachefly.net/100mb.test 4. 磁盘性能:命令:dd if/dev/zero oftest bs64k count4k oflagdsync 5. cpu负载信息命令:uptime解释: 3个…

php上操作redis,PHP操作redis

$redis new Redis();$redis->connect(localhost, 6379);lget/lindex$redis->lget(arg1, arg2);arg1: list的名字arg2: 获取list值的index,可以是小于零的数,表示从tail到headlinsert$redis->linsert(arg1, arg2, arg3, arg4);arg1: list的名字…

解决未知的服务器标记“asp:ListView”。

在.net 2.0后,微软后续出现了.net 3.0, .net 3.5,记不清是那个版本后,asp.net控件里面就有了asp:ListView这个控件,这个控件运行效率高,配置灵活非常好用,但是在使用的时候,需要在Web.config中进行配置一下…

python求二叉树高度,求二叉树的高度(深度)和宽度

定义二叉树节点public class TreeNode{int val;TreeNode left null;TreeNode right null;public TreeNode(int val){this.val val;}}求二叉树的深度使用递归,分别求出左子树的深度、右子树的深度,两个深度的较大值1public int maxDepth(TreeNode root…

操作系统的版本概况

基于MS-DOS的操作系统: Windows 1.0 Windows 2.0 Windows 3.x Windows 95 Windows 98 Windows ME 基于NT的操作系统: Windows NT 3.x Windows NT 4.0 Windows 2000 Windows XP Windows Vista Windows Server 2003 基于CE的操…