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

下面我们来看一下java中print和println区别的实例

关于使用print和println输出时的小差别,便在网上找了一下相关的资料解释为:print()方法在输出括号里指定的字符串后就结束操作,而不再添加回车,光标停留在字符串最后一个字符的右边,println()则是添加回车,光标停在下一行。
在这里记录下来。
当使用print编译

public class ForTest{  
    public static  void main(String agrs[]){  
        for(int i=1;i<100;i++){  
            if(i % 7 == 0)  
                System.out.print(i+ " ");  
        }  
    }   
}

运行结果为:7 14 21 28 35 42 49 56 63 70 77 84 91 98
但当使用println编译

public class ForTest{  
    public static  void main(String agrs[]){  
        for(int i=1;i<100;i++){  
            if(i % 7 == 0)  
                System.out.println(i+ " ");  
        }  
    }   
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索字符串
, int
, class
, static
, 参数
格式
print printf println、printf println、java printf println、printf和println、go printf 和 println,以便于您获取更多的相关知识。

时间: 2024-09-16 03:00:36

Java中打印函数print、printf、println异同的相关文章

java类的问题-求教java中System.out.print()和out.print()的区别

问题描述 求教java中System.out.print()和out.print()的区别 求教java中System.out.print()和out.print()的区别 解决方案 两个out不能相提并论 System.out.println();//是将数据传输给Console界面 其中的out是输出流 而 out.print();//将数据封装作为jsp的响应数据,浏览器接收数据解释为页面内容 其中的out会被编译为 JspWriter out 根本不是输出流 解决方案二: 举个jsp的例

java中的函数的调用问题

问题描述 java中的函数的调用问题 新人初学java,有这样一个比较弱智的问题一直没有搞懂 我不知道在一个类中的函数方法能不能互相调用 public class A{ void b(){} void a(){ b(): } 我不知道这样对不对,麻烦各位了,谢谢 } 解决方案 这样是可以,类中的函数可以互调,对所以可见的函数都可以互调. 解决方案二: 可以的,方法本身也可以调用自己 解决方案三: 现在有一个Java函数,如下:......答案就在这里:请教c++中调用Java函数问题 解决方案四

关于java问题-java中 System.out.print()

问题描述 java中 System.out.print() java中 System.out.print()错误提示不可执行代码,头疼啊,求大神指点 解决方案 System.out.print();与System.out.println();前者输出不换行,比如:System.out.print(""a"");System.out.print(""b"");结果:ab 后者输出后换行,比如:System.out.println

rjava-如何在JAVA中打印显示出R语言算法的结果

问题描述 如何在JAVA中打印显示出R语言算法的结果 如题: R代码如下: library(e1071) permutations(3) R下的显示结果如下 [,1] [,2] [,3] [1,] 1 2 3 [2,] 2 1 3 [3,] 2 3 1 [4,] 1 3 2 [5,] 3 1 2 [6,] 3 2 1 Java 中调用R代码如下: re.eval("library(e1071)"); re.eval("permutations(5)"); Syste

playsoundeffect-audioservice.java中playSoundEffect()函数里 关于形参的含义

问题描述 audioservice.java中playSoundEffect()函数里 关于形参的含义 onplaySoundEffect(int effectType ,int volume)函数里 关于参数int effectType ,int volume 代表的是什么意思,volume在log上显示值一直都为-1000,以及volFloat值代表的是百分比吗?它的计算过程能详细说明下吗?"volFloat = (float)Math.pow(10, (float)sSoundEffect

对象-java中compareTo函数可以在同一个类中重写多次吗?

问题描述 java中compareTo函数可以在同一个类中重写多次吗? 我有一个对象数组,想按照不同属性对这个数组进行排序.但是如果重写compareTo函数的话好像只能按照某一个属性进行排序.现在我既想按照年龄又想按照分数排序,那应该怎么写呢? 解决方案 不行,一个Comparable对应一种顺序标准,你这样按年龄又按分数,明显是两个定制顺序,结果自然是两种.建议要么合成一个逻辑:要么用两个集合来存放.

代码-如何在JAVA中打印显示出R语言算法的结果

问题描述 如何在JAVA中打印显示出R语言算法的结果 如题:我需要在Java上调用R的代码,R代码如下:data.frame(obs = c(1 2 3) treat = c('A' 'B' 'A') weight = c(2.3 NA 9)).R上显示结果如下: obs treat weight1 1 A 2.32 2 B NA3 3 A 9.0 怎么将这个结果 在Java中打印出来啊.. 求大神. 解决方案 http://blog.csdn.net/hwssg/article/details

Java中split()函数和trim()函数的用法

split()函数是根据参数如",", "-", " "等, 分割String字符串, 返回一个String的数组(String[]), 可以通过索引指定元素. 如果未找到, 则返回整个String字符串, 作为String数组(String[])的第0个元素. trim()函数是去掉String字符串的首尾空格; 代码: /** * @author Spike * @time 2014.4.25 */ public class Split {

Java中跳出循环函数break和continue使用例子

在Java中,如果想跳出for循环,一般情况下有两种方法:break和continue. break是跳出当前for循环,如下面代码所示:  代码如下 复制代码 public class RecTest {           /**      * @param args      */     public static void main(String[] args) {          for(int i=0; i< 10; i++){              if(i==5){