关于java的println和print的区别,这个语句里面 如果加了ln跟没加相比不是换行那么简单,为什么?
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
System.out.print(i+"*"+j+"="+(i*j)+"\t");
System.out.print("\n");
我的错,看错一个东西,不好意思各位,谢谢,非常感谢 展开
概述
print和println的区别只是一个换行
解析
print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。
print("test\n")同等于println("test")
这里贴出print和println的源码:
一、print源码:
二、println源码:
可以看出源码中,println相对于print就只是多了一个newLine()方法调用并且把println方法设置了线程同步锁,而newline方法则是换行输出则同等于"\n",而线程同步锁则是为了保证println内部调用print不会出现异步输出而造成的输出内容 错误。
拓展内容
除了所提问的print和println,java还有一种继承自c的输出方式---printf
print,println,printf的区别:
print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始
printf是格式化输出的形式。
#code:
#out:
printf主要是继承了C语言的printf的一些特性,可以进行格式化输出
print就是一般的标准输出,但是不换行
println和print基本没什么差别,就是最后会换行
println("test")相当于print("test\n")就是一般的输出字符串
printf 格式输出参数详解:
'd' 整数 结果被格式化为十进制整数
'o' 整数 结果被格式化为八进制整数
'x', 'X' 整数 结果被格式化为十六进制整数
'e', 'E' 浮点 结果被格式化为用计算机科学记数法表示的十进制数
'f' 浮点 结果被格式化为十进制数
'g', 'G' 浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。
'a', 'A' 浮点 结果被格式化为带有效位数和指数的十六进制浮点数
print就是一般的标准输出,但是不换行
println和print基本没什么差别,就是最后会换行
println("test")相当于print("test\n")就是一般的输出字符串
print\println的区别
print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。
下在举个例子:
package other;
public class TestPrint {
public static voidmain(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和print、println的区别:
printf主要是继承了C语言的printf的一些特性,可以进行格式化输出
System.out.printf("the number is: d",t);
参照JAVA API的定义如下:
'd' 整数结果被格式化为十进制整数
'o' 整数结果被格式化为八进制整数
'x', 'X' 整数结果被格式化为十六进制整数
'e', 'E' 浮点结果被格式化为用计算机科学记数法表示的十进制数
'f' 浮点结果被格式化为十进制数
'g', 'G' 浮点根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。
'a', 'A' 浮点结果被格式化为带有效位数和指数的十六进制浮点数
参考资料:java_百度百科
print不换行,下次打印的时候在这次打印的东西后面直接打印。
没什么很大区别,看你的需求了。
至于你上面的语句,你要注意循环的位置,以及"\t","\n"的意义!
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
println的源码.
public void println(String x) {
synchronized (this) {
print(x);
newLine();
}
}
println只比print多了一个newLine();而已.
就这么简单.