步骤1:格式化输出
步骤2:printf和format
步骤3:换行符
步骤4:总长度,左对齐,补0,千位分隔符,小数点位数,本地化表达
步骤5:练习-黄鹤
步骤6:答案-黄鹤
步骤 1 : 格式化输出
如果不使用格式化输出,就需要进行字符串连接,如果变量比较多,拼接就会显得繁琐
使用格式化输出,就可以简洁明了
%s 表示字符串
%d 表示数字
%n 表示换行
package digit;
public class TestNumber {
public static void main(String[] args) {
String name = "盖伦" ;
int kill = 8 ;
String title= "超神" ;
//直接使用+进行字符串连接,编码感觉会比较繁琐,并且维护性差,易读性差
String sentence = name+ " 在进行了连续 " + kill + " 次击杀后,获得了 " + title + " 的称号" ;
System.out.println(sentence);
//使用格式化输出
//%s表示字符串,%d表示数字,%n表示换行
String sentenceFormat = "%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n" ;
System.out.printf(sentenceFormat,name,kill,title);
}
}
|
步骤 2 : printf和format
printf和format能够达到一模一样的效果,如何通过eclipse查看java源代码 可以看到,在printf中直接调用了format
package digit;
public class TestNumber {
public static void main(String[] args) {
String name = "盖伦" ;
int kill = 8 ;
String title= "超神" ;
String sentenceFormat = "%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n" ;
//使用printf格式化输出
System.out.printf(sentenceFormat,name,kill,title);
//使用format格式化输出
System.out.format(sentenceFormat,name,kill,title);
}
}
|
步骤 3 : 换行符
换行符就是另起一行 --- '\n' 换行(newline)
回车符就是回到一行的开头 --- '\r' 回车(return)
在eclipse里敲一个回车,实际上是回车换行符
Java是跨平台的编程语言,同样的代码,可以在不同的平台使用,比如Windows,Linux,Mac
然而在不同的操作系统,换行符是不一样的
(1)在DOS和Windows中,每行结尾是 “\r\n”;
(2)Linux系统里,每行结尾只有 “\n”;
(3)Mac系统里,每行结尾是只有 "\r"。
为了使得同一个java程序的换行符在所有的操作系统中都有一样的表现,使用%n,就可以做到平台无关的换行
package digit;
public class TestNumber {
public static void main(String[] args) {
System.out.printf( "这是换行符%n" );
System.out.printf( "这是换行符%n" );
}
}
|
步骤 4 : 总长度,左对齐,补0,千位分隔符,小数点位数,本地化表达
其他常用的格式化方式
package digit;
import java.util.Locale;
public class TestNumber {
public static void main(String[] args) {
int year = 2020 ;
//总长度,左对齐,补0,千位分隔符,小数点位数,本地化表达
//直接打印数字
System.out.format( "%d%n" ,year);
//总长度是8,默认右对齐
System.out.format( "%8d%n" ,year);
//总长度是8,左对齐
System.out.format( "%-8d%n" ,year);
//总长度是8,不够补0
System.out.format( "%08d%n" ,year);
//千位分隔符
System.out.format( "%,8d%n" ,year* 10000 );
//小数点位数
System.out.format( "%.2f%n" ,Math.PI);
//不同国家的千位分隔符
System.out.format(Locale.FRANCE, "%,.2f%n" ,Math.PI* 10000 );
System.out.format(Locale.US, "%,.2f%n" ,Math.PI* 10000 );
System.out.format(Locale.UK, "%,.2f%n" ,Math.PI* 10000 );
}
}
|
更多内容,点击了解: https://how2j.cn/k/number-string/number-string-foramt/320.html