Java 小细节(一)
private static String fmt="%s*%s=%s";
//String str=i+"*"+j+"="+(i*j);
在Java中,%d,%s表示的意思是占位符。%d是一个整型占位符,%s也是一个占位符,标识一个字符串型的数据
%"表示进行格式化输出,"%"之后的内容为格式的定义:
%d表示输出类型,这里是指整型类型。%d*%d=%2d表示一个表达式,是两个整型数相乘等于另一个整型数,%d在这里就相当于一个占位符。比如System.out.println( "%d + %d = %d\n" , x, y, nSum);这里的"%d + %d = %d 就表示x+y=nSum.
System.out.printf("%s",s);//"s"表示输出字符串
可参考:
https://zhidao.baidu.com/question/235274487.html
举个栗子:
public static void main(String[] args)
{
//定义一些变量,用来格式化输出。
double d = 345.678;
String s = "你好!";
int i = 1234;
//"%"表示进行格式化输出,"%"之后的内容为格式的定义。
System.out.printf("%f",d);//"f"表示格式化输出浮点数。
System.out.println();
System.out.printf("%9.2f",d);//"9.2"中的9表示输出的长度,2表示小数点后的位数。
System.out.println();
System.out.printf("%+9.2f",d);//"+"表示输出的数带正负号。
System.out.println();
System.out.printf("%-9.4f",d);//"-"表示输出的数左对齐(默认为右对齐)。
System.out.println();
System.out.printf("%+-9.3f",d);//"+-"表示输出的数带正负号且左对齐。
System.out.println();
System.out.printf("%d",i);//"d"表示输出十进制整数。
System.out.println();
System.out.printf("%o",i);//"o"表示输出八进制整数。
System.out.println();
System.out.printf("%x",i);//"x"表示输出十六进制整数。
System.out.println();
System.out.printf("%#x",i);//"#x"表示输出带有十六进制标志的整数。
System.out.println();
System.out.printf("%s",s);//"s"表示输出字符串。
System.out.println();
System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s",d,i,s);
//可以输出多个变量,注意顺序。
System.out.println();
System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x",i,s);
//"X$"表示第几个变量。
}
}