java输出数字与字符串_数字与字符串系列教材 (四)- Java 使用printf或format 进行格式化输出...

步骤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

2cae99a6a76dc05cd953a25c19576b60.png

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,千位分隔符,小数点位数,本地化表达

其他常用的格式化方式

d374805b0522e2116976a4a397f4483d.png

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);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值