在一般的情况下我们输入采用“标准输出流”,即我们在代码中最常用的System.out.println()语句即可。从JDK5.0之后也有了从控制台读取输入的简便方法,采用如下的形式:
Scanner in=new Scanner(System.in);
String str=in.nextLine();//输入一行数据
int inte=in.nextInt();//输入一个整数
int dob=in.nextDouble();//输入一个双精度型
...回到输出的话题上来,使用System.out.println()输出时会将x对应的数据类型所允许的最大数字位数打印输出,例如:
double x=10000.0/3.0;
System.out.println(x);//输出3333.3333333333335这个时候的输出是按照double类型所允许的最大位数位输出的,有时候我们不希望它输出小数点后面这么多位数,或者是在金融计数时我们希望对输出的数添加分组分隔符,这个时候就需要格式化输出,java中格式化输出的函数声明如下:
PrintStream out.printf(String format,Object... args)//format为格式字符串,args为格式字符串中引用的参数这里的format格式字符串借鉴了C语言中的格式字符串,格式字符串中包括了格式说明符和普通的字符串,而格式说明符是以“%+转换符”的方式来表示,例如"%f"表示已浮点数的方式输出数据,“%s”表示以字符串的方式输出。下图给出了Java中所采用的转换符
(注:上图摘自《Java2核心技术第7版卷1:基础知识》)
除了可以使用上述的转换符输出各种格式的数据外,还可以使用各种标志来丰富输出的数据的格式,例如:
System.out.printf("%,.2f",10000.0/3.0);//输出3,333.33格式字符串“%,.2f”表示以浮点数输出数据且保留2位小数对整数部分分组(三位数据为一组),这里的“,”就是一个标志
(注:上图摘自《Java2核心技术第7版卷1:基础知识》)
同样的如果我们不想输出字符串而只是对字符串进行格式化,可以采用下面的方法:
String message=String.format("Hello my name is %s,my age is %d",name,age);
这篇博客主要介绍了Java SE中的格式化输出,包括使用System.out.println()进行标准输出,以及JDK5.0后引入的控制台读取输入的便捷方法。还探讨了如何利用转换符和标志来丰富输出数据的格式,提供了字符串格式化的技巧。
3070

被折叠的 条评论
为什么被折叠?



