首页 > 编程语言 >Java中字符串格式化的语法

Java中字符串格式化的语法

时间:2024-06-03 10:22:19浏览次数:26  
标签:字符 conversion 格式化 语法 width flags 格式 Java

 产生格式化输出的每个方法都需要格式字符串和参数列表。格式字符串是一个 String,它可以包含固定文本以及一个或多个嵌入的格式说明符。请考虑以下示例:

Calendar c = ...;

String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);

    Java 语言的格式化输出在很大程度上受到 C 语言 printf 的启发。虽然一些格式字符串与 C 类似,但已进行了某些定制,以适应 Java 语言,并且利用了其中一些特性。此外,Java 的格式比 C 的格式更严格;例如,如果转换与标志不兼容,则会抛出异常。在 C 中,不适用的标志会被忽略。这样,便于 C 程序员识别这些格式字符串,而又不必与 C 中的那些标志完全兼容。

Java中字符串格式化分为三种类型,它们的语法参考如下:

1、常规类型、字符类型和数值类型的格式说明符的语法

%[argument_index$][flags][width][.precision]conversion

(1)、argument_index

可选的,是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。

(2)、flags

可选的,是修改输出格式的字符集。有效标志集取决于转换类型。

(3)、width

可选的,是一个非负十进制整数,表明要向输出中写入的最少字符数。

(4)、precision

可选的,是一个非负十进制整数,通常用来限制字符数。特定行为取决于转换类型。

(5)、conversion

必须的,是一个表明应该如何格式化参数的字符。给定参数的有效转换集取决于参数的数据类型。

 

2、用来表示日期和时间类型的格式说明符的语法

%[argument_index$][flags][width]conversion

(1)、argument_index

同上。

(2)、flags

同上。 

(3)、width

同上。

(4)、conversion

必须的,是一个由两字符组成的序列。第一个字符是 't' 或 'T'。第二个字符表明所使用的格式。这些字符类似于但不完全等同于那些由 GNU date 和 POSIX strftime(3c) 定义的字符。

 

3、与参数不对应的格式说明符的语法

%[flags][width]conversion

(1)、flags

同上。 

(2)、width

同上。

(3)、conversion

必须的,是一个表明要在输出中所插内容的字符。

标签:字符,conversion,格式化,语法,width,flags,格式,Java
From: https://www.cnblogs.com/it001xyz/p/18228277

相关文章

  • Java中java.awt.FlowLayout的常量字段值
    流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流的方向取决于容器的componentOrientation属性,它可能是以下两个值中的一个:ComponentOrientation.LEFT_TO_RIGHTComponentOrientation.RIGHT_TO_LEFT流布局一般用来安排面板中的按钮。它使得按钮呈水平放置,直到同一......
  • 深入理解Java Collections框架
    JavaCollections框架是Java标准库的重要组成部分,它提供了一套用于存储和操作数据的通用算法和数据结构。无论是处理简单的列表还是复杂的映射,JavaCollections框架都能帮助开发者高效地管理数据。本篇博客将详细介绍JavaCollections框架的基础知识、核心接口和类、常用集合以......
  • 使用 Java Optional 类
    在Java编程中,我们经常会遇到返回值可能为空的场景。为了避免在使用返回值时出现空指针异常(NullPointerException),Java8引入了Optional类。Optional类可以将一个值包装为可选项,明确表示值可能为空。本篇博客将详细介绍Optional类的使用方法,并通过代码示例帮助新人快速理解。......
  • Java运算符 二进制计算 素数问题 九九乘法表 月份问题 分解质因数 完全数问题 天数计
    1.代码观察inta=6--;System.out.println(a);在Java中,后置递减运算符--只能在整型(int)和长整型(long)变量上使用,而且必须将--放在变量值的后面。因此,6--是非法的,Java编译器会报错。正确代码如下inta=6;a--;System.out.println(a);输出结果为52.代码分析Syst......
  • Java Lambda表达式
    Lambda表达式Lambda表达式,也可以称为闭包,是Java8发布的最重要新特性Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)使用Lambda表达式可以使代码变的更加简洁紧凑语法:(parameter)->expression(parameter)->{statement;}parameter:参数列表,......
  • Java中的依赖注入:提高代码的可维护性和可测试性
            依赖注入(DI)是一种软件设计模式,旨在实现控制反转(IoC),通过这种方式,对象的依赖项(通常是服务)不由对象本身创建,而是由外部容器动态提供。在Java中,依赖注入是实现松耦合和增强代码可维护性的有效手段。本文将探讨Java中的依赖注入概念、其优势以及如何利用现有的框架......
  • java反射机制
    java反射机制基础内容反射调用就是指通过反射机制进行的方法调用。反射机制是Java编程语言的一个重要特性,它允许程序在运行时检查、操作和实例化类,方法,字段等,并在运行时获取类的信息以及动态调用类的方法。反射机制使得Java程序可以在运行时动态地加载、探测和使用类,而不需要在......
  • 基于Java的敬老院管理系统设计与实现
    摘要新世纪以来,互联网与计算机技术的快速发展,我国也迈进网络化、集成化的信息大数据时代。对于大众而言,单机应用早已成为过去,传统模式早已满足不了当下办公生活等多种领域的需求,在一台电脑上不联网的软件少之又少,取而代之的是相互连通的软件系统,构成信息大数据社会。快......
  • 为师妹写的《Java并发编程之线程池十八问》被表扬啦!
    写在开头  之前给一个大四正在找工作的学妹发了自己总结的关于Java并发中线程池的面试题集,总共18题,将之取名为《Java并发编程之线程池十八问》,今天聊天时受了学妹的夸赞,心里很开心,毕竟自己整理的东西对别人起到了一点帮助,记录一下!Java并发编程之线程池十八问  经......
  • Groovy基础语法-list
    定义listgroovy:000>ls1=[1,2,3,4,5,6,7]===>[1,2,3,4,5,6,7]list基本操作1、将元素添加到list尾部groovy:000>ls1.add(8)===>true2、移除List中的元素根据下标删除元素groovy:000>ls1.remove(1)===>2#将list中2给移除了,下标为13、修改list中的元......