鱼C论坛

 找回密码
 立即注册
查看: 2270|回复: 2

[已解决]java中System.out.printf();print();println();各种用法?

[复制链接]
发表于 2023-4-5 12:55:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
java中System.out.printf();   print();     println();各种用法?
有什么技巧掌握其中的各种用法。
最佳答案
2023-4-5 13:00:16
在Java中,System.out.printf(), System.out.print() 和 System.out.println() 是用于在控制台输出内容的三种常用方法。它们分别有不同的用法和特点。

1、System.out.print():
print() 方法用于在控制台输出内容,但不会在内容后面自动添加换行符。连续多次调用 print() 方法时,输出的内容将紧密相邻。例如:
System.out.print("Hello, ");
System.out.print("world!");
输出结果:Hello, world!

2、System.out.println():              println 中的 ln 是 行(line) 的意思
println() 方法类似于 print() 方法,但它会在输出内容后自动添加一个换行符。连续多次调用 println() 方法时,输出的内容将分别显示在不同的行上。例如:
System.out.println("Hello,");
System.out.println("world!");
输出结果:
Hello,
world!

3、System.out.printf():                printf 中的 f 是 格式化(format)的意思
printf() 方法用于格式化输出,允许你使用占位符和参数列表来控制输出内容的格式。这对于需要格式化数字、对齐文本或插入变量值等操作的场景非常有用。例如:
int age = 30;
double salary = 50000.5;
System.out.printf("My age is %d, and my salary is %.2f.", age, salary);

输出结果:My age is 30, and my salary is 50000.50.

技巧:
  • 熟悉各种占位符及其用法,如 %d 用于整数,%f 用于浮点数,%s 用于字符串等。
  • 在需要在输出内容中包含换行符时,可以在字符串中使用 \n,也可以在 printf() 之后使用 println()。
  • 若要在格式化字符串中包含百分号(%),可以使用两个连续的百分号(%%)表示。

根据实际应用场景和需求,可以灵活选择和组合使用这三种输出方法。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-5 13:00:16 | 显示全部楼层    本楼为最佳答案   
在Java中,System.out.printf(), System.out.print() 和 System.out.println() 是用于在控制台输出内容的三种常用方法。它们分别有不同的用法和特点。

1、System.out.print():
print() 方法用于在控制台输出内容,但不会在内容后面自动添加换行符。连续多次调用 print() 方法时,输出的内容将紧密相邻。例如:
System.out.print("Hello, ");
System.out.print("world!");
输出结果:Hello, world!

2、System.out.println():              println 中的 ln 是 行(line) 的意思
println() 方法类似于 print() 方法,但它会在输出内容后自动添加一个换行符。连续多次调用 println() 方法时,输出的内容将分别显示在不同的行上。例如:
System.out.println("Hello,");
System.out.println("world!");
输出结果:
Hello,
world!

3、System.out.printf():                printf 中的 f 是 格式化(format)的意思
printf() 方法用于格式化输出,允许你使用占位符和参数列表来控制输出内容的格式。这对于需要格式化数字、对齐文本或插入变量值等操作的场景非常有用。例如:
int age = 30;
double salary = 50000.5;
System.out.printf("My age is %d, and my salary is %.2f.", age, salary);

输出结果:My age is 30, and my salary is 50000.50.

技巧:
  • 熟悉各种占位符及其用法,如 %d 用于整数,%f 用于浮点数,%s 用于字符串等。
  • 在需要在输出内容中包含换行符时,可以在字符串中使用 \n,也可以在 printf() 之后使用 println()。
  • 若要在格式化字符串中包含百分号(%),可以使用两个连续的百分号(%%)表示。

根据实际应用场景和需求,可以灵活选择和组合使用这三种输出方法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-5 13:32:48 | 显示全部楼层
class  printf_yong_fa
{
        public static void main(String[] args)
        {
                for(int i =1;i<=9;i++){
                        System.out.printf("%-d  ",i);//"%-d"必须写字符宽度吗?像这样 “%-3d”
               
                }
                //System.out.println("Hello World!");
        }
}
报错:
Exception in thread "main" java.util.MissingFormatWidthException: %-d
        at java.base/java.util.Formatter$FormatSpecifier.checkNumeric(Formatter.java:3201)
        at java.base/java.util.Formatter$FormatSpecifier.checkInteger(Formatter.java:3161)
        at java.base/java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2900)
        at java.base/java.util.Formatter.parse(Formatter.java:2747)
        at java.base/java.util.Formatter.format(Formatter.java:2671)
        at java.base/java.io.PrintStream.format(PrintStream.java:1209)
        at java.base/java.io.PrintStream.printf(PrintStream.java:1105)
        at printf_yong_fa.main(printf_yong_fa.java:6)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 02:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表