如何在Java中使用String.format()?

我是Java的初学者,我正在使用newboston的java教程(youtube)。 在教程36-37,他开始使用String.format(); 他在过去的教程中没有解释过。 这是他正在制作的课程的代码:

public class tuna { private int hour; private int minute; private int second; public void setTime(int h, int m, int s){ hour = ((h >= 0 && h = 0 && m = 0 && s < 60) ? s : 0); } public String toMilitary(){ return String.format("%02d:%02d:%02d", hour, minute, second); } } 

所以他正在做的是他正在做一些军事时间类并使用String格式。 所以我要问的是,有人可以向我解释String.format()的工作原理以及上面的格式是如何工作的。 谢谢您的帮助!

它的作用与C的printf()相同。

%s – >字符串

%d – > int

%f – >浮动

String.format("%02d", 8) – > OUTPUT:08 String.format("%02d", 10) – > OUTPUT:10 String.format("%04d", 10) – > OUTPUT:0010

所以基本上,它将在表达式,变量或基本类型之前填充0的数字作为第二个参数,0将以这样的方式填充,即所有数字都满足String API的格式方法的第一个参数。

它只需要变量hourminutesecond ,并将其格式化为05:23:42。 也许另一个例子是:

 String s = String.format("Hello %s answered your question", "placeofm"); 

当您打印字符串以在控制台中显示它时,它将如下所示

 System.out.println(s); 

你好,placeofm回答了你的问题

占位符%02d用于带有两位数的十进制数字。 %s用于上面示例中的我的名字。 如果你想学习Java,你必须阅读文档。 这是String类 。 您可以通过一个很好的解释找到格式方法。 阅读这些文档非常重要,即使在Java中也是如此。