Java格式 - Java 打印格式

不同的格式字符可以格式化不同数据类型的值。例如,“s"用于将值格式化为字符串。

Java 打印格式化类型可以将数据类型格式化为四种类型:一般格式化

字符格式化

数字格式化

日期/时间格式

大写变量

许多转换字符具有大写变体。例如,“S"是“s"的大写变体。

大写变量将格式化的输出转换为大写。

下面的代码演示了使用大写变量“S"的效果。public class Main {

public static void main(String[] args) {

System.out.printf("%s and %

}

}

上面的代码生成以下结果。

一般格式化

一般格式化可以格式化任何数据类型的值。

下表列出了可用的转化根据一般格式类别。转换字母: b

大写: B

基于参数输出“true”或“false”。 “false”表示空参数和false布尔参数。 否则,“真”。

转换字母: h

大写: H

以字符串的参数的十六进制格式输出哈希码。 如果参数为null,它会产生“null”。

转换字母: s

大写: S

输出参数的字符串表示形式。

如果参数为null,它会产生一个“null”字符串。 如果参数实现了Formattable接口,它将调用参数的formatTo()方法。

如果参数不实现Formattable接口,则调用toString()方法。

一般格式化的格式说明符的一般语法是%<.precision>

width指定输出中的最小字符数。

如果字符串表示的长度小于width值,结果将用空格填充。

默认情况下,空格填充在参数值的左侧执行。如果使用“ - "标志,则向右执行空格填充。

宽度和精度一起决定结果的最终内容。

precision指定输出的最大字符数。在应用宽度之前,精度应用于参数。

如果精度小于参数的长度,参数被截断为在精度值中设置的长度,并执行空间填充以将长度与宽度的值相匹配。

考虑下面的代码段:System.out.printf(""%4.1s"", "abc");

上面的代码生成以下结果。

例子

以下是使用布尔,字符串和散列码格式转换的一些示例。public class Main {

public static void main(String[] args) {

// Boolean conversion System.out.printf(""%b", "%6b", "%.4b"%n", true, false, true);

System.out.printf(""%b", "%6b", "%.4b"%n", "A", "B", "C");

System.out.printf(""%B", "%6b", "%.4b"%n", "A", "B", "C");

System.out.printf("%b %n", 2014);

System.out.printf("%b %n", new Object());

// String conversion System.out.printf(""%s", "%5s", "%.3s"%n", "A", "B", "C");

System.out.printf(""%S", "%5S", "%.3S"%n", "A", "B", "C");

// Use "-" flag to left-justify the result. // width requires the "-" flag System.out.printf(""%S", "%-5S", "%.3S"%n", "A", "B", "C");

System.out.printf("%s %n", 2014);

System.out.printf("%s %n", true);

System.out.printf("%s %n", new Object());

// Hash Code conversion System.out.printf(""%h", "%5h", "%.3h"%n", "A", "B", "A");

System.out.printf(""%H", "%5H", "%.3H"%n", "A", "B", "A");

System.out.printf("%h %n", 2014);

System.out.printf("%h %n", true);

System.out.printf("%h %n", new Object());

}

}

上面的代码生成以下结果。

自定义格式化

我们可以通过“s"和“S"转换使用自定义格式。

如果值实现java.util.Formattable界面,“s"或“S"转换调用值的“formatTo()方法来获取格式化结果。

formatTo()方法从该值可以接受一个Formatter对象,flags,width和precision作为参数。

我们可以检查备用标志“#"。 我们可以支持“s"转换的大写variantS。import java.util.Formattable;

import java.util.FormattableFlags;

import java.util.Formatter;

class MyFormattableObject implements Formattable {

public void formatTo(Formatter formatter, int flags, int width, int precision) {

int alternateFlagValue = FormattableFlags.ALTERNATE & flags;

if (alternateFlagValue == FormattableFlags.ALTERNATE) {

System.out.println("FormattableFlags.ALTERNATE");

}

int upperFlagValue = FormattableFlags.UPPERCASE & flags;

if (upperFlagValue == FormattableFlags.UPPERCASE) {

System.out.println(FormattableFlags.UPPERCASE);

}

int leftJustifiedFlagValue = FormattableFlags.LEFT_JUSTIFY & flags;

if (leftJustifiedFlagValue == FormattableFlags.LEFT_JUSTIFY) {

System.out.println("Left-justified flag "-" is used");

} else {

System.out.println("Left-justified flag "-" is not used");

}

formatter.format("value");

}

}

public class Main {

public static void main(String[] args) {

MyFormattableObject fp = new MyFormattableObject();

System.out.printf("%s %n", fp );

System.out.printf("%#s %n", fp );

System.out.printf("%S %n", fp );

System.out.printf("%#S %n", fp );

}

}

上面的代码生成以下结果。

字符格式化

字符格式化也适用于char基本数据类型或字符对象作为byte, Byte, short, Short, int, 或Integer值是有效的Unicode代码点。

要测试整数值是否表示有效的Unicode代码,请使用静态方法Character.isValidCodePoint(int value)。

字符格式化的转换字符为“c"或大写变量“C"。

字符格式化不支持标志“#"和精度。

标志“ - "和宽度控制宽度和对齐方式,如一般格式化。public class Main {

public static void main(String[] args) {

System.out.printf("%c %n", "a");

System.out.printf("%C %n", "a");

System.out.printf("%C %n", 98);

System.out.printf(""%5C" %n", 102);

System.out.printf(""%-5C" %n", 102);

}

}

上面的代码生成以下结果。

java打印格式_Java 打印格式相关推荐

  1. java 打印机编程_Java 打印程序设计实例 - java如何实现打印功能

    Java 打印程序设计实例 3.1 打印文本 3.1.1 应用场景 假设我们需要打印一个窗体的某个文本编辑域(可能只有几行,也可能包含多页)的内容,并且每页最多打印 54 行,如何实现呢? 3.1.2 ...

  2. java time 格式_java时间格式的简单整理

    概述 自己在使用Java日志格式的时候,发现不好定义.所以本篇文章的主要目的是收集一些常用的日志格式,解说每个字段代表的意思以及扩充部分Java常用的时间类. 名词解释 时刻:时刻是时间上的某个瞬间, ...

  3. java定义日期格式_Java时间格式定义详解

    概述 自己在使用Java日志格式的时候,发现不好定义.所以本篇文章的主要目的是收集一些常用的日志格式,解说每个字段代表的意思以及扩充部分Java常用的时间类. 重要参考文档 文章进度2018515 完 ...

  4. java14位日期格式_java日期格式大全 format SimpleDateFormat

    /** * 字符串转换为java.util.Date * 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD' * yy ...

  5. python打印字节流_java打印流的输出使用

    在对数据的打印上,有一种专门的打印流可以进行输出.这里在打印的类型上没有限制,方便数据的处理和展示.分为两种类型PrintStream和PrintWriter,只不过后者在复制上更为出色.,不过前者是 ...

  6. java中时间输出的格式_Java 打印日期/时间格式

    Java格式 - Java 打印日期/时间格式 Java 打印日期/时间格式处理日期,时间和日期时间值. Java 打印日期/时间格式可以应用于格式值为long,Long,java.util.Cale ...

  7. java数字格式化_Java数字格式

    java数字格式化 当我看到其他人编写不必要的Java代码并且由于缺乏对已经提供所需功能的JDK类的了解而编写了不必要的Java代码时,我会想到很多次. 这样的一个例子是时间相关的常量的使用硬编码值的 ...

  8. java获取24小时制时间格式_java 日期格式时间24小时制

    按指定格式获取时间 import java.util.*; import java.text.*; public class TestDate { public static void main(St ...

  9. java 设置日期的格式_java时间格式大全

    java.util.*; import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @ ...

最新文章

  1. LeetCode简单题之整理字符串
  2. 使用 Github Pages 发布你的项目文档
  3. ora-12528 : message 12528 not found; product=RDBMS ; facility=ora
  4. javaswing引入百度地图_【react】React怎么引用百度地图
  5. 技术实践 | 网易云信在融合通信场景下的探索和实践之 RTMPGateway 服务架构
  6. 重命名Jakarta EE的Java EE规范
  7. 【转载】SQL 模糊查询
  8. 利用自定义事件实现不同窗体间的通讯 -- C#篇
  9. 盲人画家:人真的有第三只眼
  10. OpenGL Qt环境配置
  11. 快播5.0永不升级版 孤雨定制骨头版
  12. Django面试题——CSRF和CORS的区别
  13. 一文读懂微生物扩增子16s测序
  14. python立即关机_Python之电脑好帮手—自动定时关机
  15. 微信小程序------API
  16. Openssh7.4p1更换为8.2
  17. 前端登录界面通用模版
  18. 手撸SSO单点登录(五)登录验证-OA系统页面刷新或者跳转新OA系统页面
  19. 公司福利直接影响员工的身心健康
  20. 动规(11)-踩方格

热门文章

  1. 【系统性学习】Linux Shell易忘重点整理
  2. layui数据表格怎么传参过去
  3. python所有的魔术方法钩子函数
  4. 机器学习:协方差的全面理解
  5. C#制作视频播放器(Windows Media Player方法)
  6. java double 精度范围_float 和 double 范围和精度
  7. 在Linux上如何快速搭建MongoDB集群
  8. c语言格式字符使用举例,c语言char怎么用
  9. c语言char赋给int,c语言 char 复制给 int的问题
  10. epson me33