Java Console 输出格式控制

标准输出通常是文字模式为主的主控台(终端机),这边介绍几个格式控制技巧,在主控台显示时可以协助输出的显示格式。

首先介绍格式字节控制,先表列一些常用的控制字节:

\\

反斜线

\'

单引号 '

\"

双引号 "

\uxxxx

以16 进位数指定Unicode字节输出

\dxxx

以8进位数指定Unicode字节输出

\b

倒退一个字节

\f

换页

\n

换行

\r

游标移至行首

\t

跳格 (一个Tab键)



下面这段程序告诉您如何指定字节编码来输出"Hello"这段文字:

System.out.println("\u0048\u0065\u006C\u006C\u006F");


在输出数值时,默认都会以十进位的方式来显示数值,下面这几段程序可以让您分别以不同进位制来显示数值:

int x = 19;
// 转成二进位 10011
System.out.println(Integer.toBinaryString(x));
// 转成十六进位 13
System.out.println(Integer.toHexString(x));
// 转成八进位 23
System.out.println(Integer.toOctalString(x));


在 J2SE5.0 中,您可以使用 System.out.printf() 作简单的输出格式设定,例如:

// 输出 19 的十进位表示
System.out.printf("%d%n", 19);
// 输出 19 的八进位表示
System.out.printf("%o%n", 19);
// 输出 19 的十六进位表示
System.out.printf("%x%n", 19);


'%d'表示将指定的数值以十进位表示,'%o'是八进位表示,而'%x'是十六进位表示,'%n'是指输出平台特定的换行字节,如果是在Windows下实际上会置换为 '/r/n',如果是 Linux下则会置换为'/n'

下表简单列出了一些常用的转换符号:

%%

在字符串中显示%

%d

以10 进位整数方式输出,提供的数必须是Byte、 Short、 Integer、Long、或BigInteger

%f

将浮点数以10进位方式输出,提供的数必须是Float、 Double或 BigDecimal

%e, %E

将浮点数以10进位方式输出,并使用科学记号,提供的数必须是 Float、 Double或BigDecimal

%a, %A

使用科学记号输出浮点数,以16进位输出整数部份,以10进位输出指数部份,提供的数必须是Float、Double、BigDecimal

%o

以8进位整数方式输出,提供的数必须是Byte、Short、 Integer、Long、或BigInteger

%x, %X

将整数以16进位方式输出,提供的数必须是Byte、 Short、 Integer、Long、或BigInteger

%s, %S

将字符串格式化输出

%c, %C

以字节方式输出,提供的数必须是Byte、Short、 Character或 Integer

%b, %B

将"true" 或"false"输出(或"TRUE"、 "FALSE",使用 %B)。另外,非null值输出是"true",null值输出是"false"

%t, %T

输出日期/时间的前置,详请看线上API文件
















您可以在输出浮点数时指定精度,例如:

System.out.printf("example:%.2f%n", 19.234);


执行结果会输出:

example:19.23


您也可以指定输出时,至少要预留的字节宽度,例如:

System.out.printf("example:%6.2f%n",19.234);


由于预留了6个字节宽度,不足的部份要由空白字节补上,所以执行结果会输出如下(19.23只占五个字节,所以补上一个空白在前端):

example: 19.23


以上只是简短的列出一些常用的输出转换符号,事实上,这些功能都是由 java.util.Formatter 所提供的,如果您需要更多关于输出格式的控制,您可以看看线上API文件以查询相关设定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值