-------
android培训、
java培训、期待与您交流! ----------
</pre><p></p><p style="text-align:left"><span style="font-family:SimHei; font-size:18px">通过对下面这个程序的编写,对自己以前学过的知识点又进行了一次系统复习。</span></p><p></p><pre name="code" class="java">/**
* <p/>
* Coder:LPF
* <p/>
* Date: 2015-01-05 15:48
*/
public class ForMater {
public static void main(String[] args) {
System.out.printf("%-8s%-8s%-8s\n", "a", "b", "pow(a, b)");
int a = 1;
int b = 2;
while (a < 6) {
int c = (int) Math.pow(a, b);
System.out.printf("%-8d%-8d%-8d\n", a, b, c);
a++;
b++;
}
}
}
运行结果:
a b pow(a, b)
1 2 1
2 3 8
3 4 81
4 5 1024
5 6 15625
图形输出最好用System.out.printf()方法格式化输出。调用这个方法的语法是:
System.out.printf(format,item1,item2,.......,itemk),这里的format是指一个子串和格式标识符构成的字符串。
常用标识符
%5c 输出字符并在这个字符条目前面加4个空格。
%6b 输出布尔值,在false前加一个空格,在true前加两个空格。
%5d 输出十进制整数条目,宽度至少为5,如果数字位数小于5,则自动在前面添加空格,如果大于5,则自动增加宽度。
%10.2f 输出的浮点数宽度至少为10,包括小数点和小数点后两位,即小数点前为7为,如果小于7,添加空格,如果大于7,则自动增加宽度。
%12s 输出的字符宽度至少为12位,其余同上。
%10.2e 输出标准科学计数法形式的数,宽度为10,包括小数点和小数点后两位和指数部分。
“ —”代表表示该条目在特点宽度的输出是左对齐的。
“\n”代表换行。输出双引号、单引号、反斜杠,前面都要加 \
\b 退格键, \t Tab键, \f 进纸 ,\r 回车键。
标识符的个数于后面跟的条目要一致,并且条目和标识符必须在类型上严格匹配。
显式索引 是在格式说明符中包含参数索引时使用。参数索引是一个十进制整数,用于指示参数,在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。可以多次引用任何一个参数。
条目中间一定要注意有逗号隔开。如果用“+”的话,编译能够通过,运行时会报错下面是报错。
/**
* <p/>
* Coder:LPF
* <p/>
* Date: 2015-01-05 16:00
*/
public class PrintForMater {
public static void main(String[] args) {
System.out.printf("%s = %s\n", "Name", "LuPanFeng");
System.out.printf("%s = %S%n", "NAME", "lupanfeng");
System.out.printf("true = %b\n", true);
System.out.printf("%b\n", false);
System.out.printf("%8f\n", 8.8);
System.out.printf("%8.1f\n", 8.8);
System.out.printf("%8s%8d%8.1f\n","java", 1234, 8.8);
System.out.printf("%-8s%-8d%-8.1f\n","java", 1234, 8.8);
System.out.printf("%4$s %3$s %2$s %1$s %4$s %3$s %2$s %1$s",
"a", "b", "c", "d");
}
}
运行结果:
Name = LuPanFeng
NAME = LUPANFENG
true = true
false
8.800000
8.8
java 1234 8.8
java 1234 8.8
d c b a d c b a
不仅可以用System.out.printf()方法格式化输出,还可以用String.format()方法进行格式化输出,format()是一个static方法,通过传入格式字符串和参数返回一个格式化字符串。
如果只做一次输出时,String.format()方法用起来也是很方便的。
String str = String.format("%d %d", 1, 32);
System.out.println(str);
运行结果:
1 32
在Java中所有新的格式化功能都由java.util.Formatter类处理。可将Formatter看做一个翻译器,将你的字符串翻译成需要的结果。运用Formatter类中的format()方法,进行格式化输出。
Formatter f = new Formatter(System.out);
f.format("%-5s %5s %5s\n", "Lu", "Pan", "feng");
f.format("%-5s %5s %5s\n", "---", "---", "---");
运行结果:
Lu Pan feng
--- --- ---