java中的两种常用的输出方式:print()和println() 。这两种的输出方式在使用时输入条件并没有明显的差别。它们的不同点体现在输出的末尾是否换行。【推荐学习:java课程】
eg:
public class eg {
//交叉使用可以体会到作用的差异
public static void main(String[] args) {
System.out.print("123456");
System.out.println("abced");
System.out.println("abced");
System.out.print("123456");
System.out.println("abced");
}
}
结果:
分析结果:不难看出,每次使用print()时,末尾都跟有下一个输出(abced),即:print()未换行。而每次的abced之后都有换行。
注意:print()使用时需不可以无内容输出
eg:
public class eg {
public static void main(String[] args) {
System.out.print();//此时print无内容输出
}
}
分析结果:使用print()时,当括号内无内容时是无法编译的,即程序会报错,这样使用print()是不允许的。
println()可以直接输出,起换行的作用
eg:
public class add {
//由于使用单独的一行无法体现结果,所以加入print()显示效果
public static void main(String[] args) {
System.out.print("123456");
System.out.print("123456");
System.out.println();
System.out.print("123456");
}
}
结果:
分析结果:在print的三行输出中,只有第二此输出进行了换行,也正是println为它提供了换行
print()和println()是可以相互转化的,可以使用换行符 进行换行,用print()也可以达到println()的目的
eg:
public class eg {
//与上图的代码进行对比 效果显而易见
public static void main(String[] args) {
System.out.print("123456");
System.out.print("123456");
System.out.print("
");
System.out.print("123456");
}
}
结果:
结果分析:明显的,不同的代码实现了不同的效果
java除了以上两种常见的输出以外,还有一种功能较强的输出:printf()
注意:
printf()不能换行
printf()也不能不带内容直接输出
printf()的输出规则更像是print(),但它比print()多一些功能。在C语言以及C++中,都有固定长度输出,而java中的print()和pritln()都不能实现这一功能。java是由C语言编写的,固定长度输出这一功能并没有被阉割,而是被printf()继承。printf对固定的实现与C的实现类似。
可以输出2、8、16进制的数
可以固定格式输出
具体实现如下:
package com.hone.test;
// "%"表示进行格式化输出, "%"之后的内容为格式的定义。
public class Printf {
public static void main(String[] args) {
double d = 345.678;
String s = "hello World";
int a = 123;
//浮点型的输出
System.out.printf("%,d",a); //格式化输出数据,每三个数据加上一个,
System.out.println();
System.out.printf("%f", d); // 345.678000
System.out.println();
//"9.2"中的9表示输出的长度,2表示小数点后的位数。 345.678位数不够前面不上空格
System.out.printf("%9.3f", d);
System.out.println();
System.out.printf("%+9.3f", d); //"+"表示输出的数带正负号
System.out.println();
System.out.printf("%-9.3f", d); //"-"表示输出的数左对齐(默认为右对齐)
System.out.println();
System.out.printf("%+-9.3f",d); //"+-"表示输出的数带正负号且左对齐
System.out.println();
//整型的输出
System.out.printf("%d", a); //"d"表示输出十进制整数。
System.out.println();
System.out.printf("%04d", a); //规定为4位,不够左边添加0
System.out.println();
System.out.printf("%d%%", a); //如果想输出百分数,则连续用两个 %%
System.out.println();
System.out.printf("%o", a); //"o"表示输出八进制整数。
System.out.println();
System.out.printf("%x", a); //"x"表示输出八进制整数。
//字符串的输出
System.out.println();
System.out.printf("%s%n", s); //输出字符串,其中 %n表示换行
System.out.printf("输出一个浮点数:%.3f,一个整数:%d,一个字符串:%s",d,a,s); //输出多个变量
}
}