日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java学习笔记(七)--格式化字符串及格式输出

發布時間:2025/3/21 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java学习笔记(七)--格式化字符串及格式输出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、格式化字符串

String 類的靜態 format() 方法用于創建格式化的字符串。

1、format(String format, Object···args)

該方法使用指定的格式字符串和參數返回一個格式化字符串,格式化后的新字符串使用本地默認的語言環境(可用 Locale.getDefault() 方法查看本地語言環境)。

str1 = str.format(String format, Object···args);
  • format:格式字符串。
  • args:格式字符串中由格式說明符引用的參數。如果還有格式說明符以外的參數,則忽略這些額外的參數。此參數的數目是可變的,可以為0。

2、format(Local l, String format, Object···args)

str1 = str.format(Local l, String format, Object···args)
  • l:格式化過程中要應用的語言環境。如果 l 為 null,則不進行本地化。
  • format:格式化字符串。
  • args:格式字符串中由格式說明符引用的參數。如果還有格式說明符以外的參數,則忽略這些額外的參數。此參數的數目是可變的,可以為0。

下面是一個例子演示圖片:

1.1 日期和時間字符串格式化

format() 方法通過給定的特殊轉換符作為參數來實現對日期和時間的格式化。

1.1.1 日期格式化


實例:在項目中創建類GetDate。

import java.util.Locale; //導入java.util.Locale類 import java.util.Date; //導入java.util.Date類public class GetDate {public static void main(String[] args) {Locale l = Locale.getDefault(); //獲取本地默認語言環境System.out.println("默認語言環境" + l);Date date = new Date(); //創建Date對象date//指定語言環境格式化date String year = String.format("%tY", date);String month = String.format(Locale.US, "%tB", date);String day = String.format("%td", date);String week = String.format(Locale.US, "%tA", date);System.out.println("\n英文:");System.out.println(month + "\n" + week);//本地語言環境格式化String month1 = String.format("%tB", date);String week1 = String.format("%tA", date);System.out.println("\n本地語言:");System.out.println(year + "年" + month1 + day + "日" + week1);} }

代碼及運行結果圖片:

1.1.2 時間格式化

format() 方法可實現Date對象時間的格式化。

1.1.3 格式化常見的日期時間組合

Date對象的格式化日期和時間轉換符定義了各種日期和時間組合的格式。

1.2 常規類型格式化

常規類型的格式化可應用于任何參數類型。
String 類的靜態方法 format() 用來創建可復用的格式化字符串,實現不同數據類型到字符串的轉換。

二、格式化控制臺輸出

輸出格式化數字可以使用 printf() 和 format() 方法。

使用 System.out.printf() 方法在控制臺上顯示格式化輸出。

System.out.printf(format, item1, item2, ..., itemn);

這里的 format 是指一個由子串和格式說明符構成的字符串。格式說明符指定每個條目應該如何顯示。這里的條目可以是數值、字符、布爾值或字符串。簡單的格式說明符是以百分號 (%) 開頭的轉換碼。

2.1 用于 printf 的轉換符

轉換符類型舉例
d十進制整數159
x十六進制整數9f
o八進制整數237
f定點浮點數15.9
e指數浮點數1.59e+01
g通用浮點數-
a十六進制浮點數0x1.fccdp3
s字符串Hello
c字符H
b布爾True
h散列碼42628b2
tx日期時間x見下
%百分號%
n與平臺有關的行分隔符-

2.2 用于 printf 的標志

標志目的舉例
+打印正數和負數的符號+3333.33
空格在正數之前添加空格| 3333.33|
0數字前面補0003333.33
-左對齊|3333.33 |
(將負數括在括號內(3333.33)
,添加分組分隔符3,333.33
#(對于f格式)包含小數點3333.33
#(對于x或0格式)添加前綴0x或00xcafe
$給定被格式化的參數索引。如%1$d將以十進制打印第一個參數159 9F
<格式化前面說明的數值。如%d%<x以十進制和十六進制打印同一個數值159 9F

2.3 時間和日期的轉換符

在這里,使用以 t 開始,格式為 tx,x代表的內容如下表:

轉換符類型舉例
c完整的日期和時間周日 4月 19 11:51:37 CST 2020
FISO 8601 日期2020-04-19
D美國格式的日期(月/日/年)04/19/20
T24小時時間11:56:27
r12小時時間11:57:05 上午
R24小時時間沒有秒11:56
Y4位數字的年2020
y年的后兩位數字20
C年的前兩位數字20
B月的完整拼寫February
b或h月的縮寫Feb
m兩位數字的月04
d兩位數字的日(前面補0)09
e兩位數字的日(前面不補0)9
A星期幾的完整拼寫Monday
a星期幾的縮寫Mon
j三位數的年中的日子(前面補0),在001到366之間069
H兩位數字的小時(前面補0),0到23之間12
k兩位數字的小時(前面不補0),0到23之間12
I(i的大寫)兩位數字的小時(前面補0),0到12之間06
l(L的小寫)兩位數字的小時(前面不補0),0到12之間6
M兩位數字的分鐘(前面補0)05
S兩位數字的秒(前面補0)19
L三位數字的毫秒(前面補0)047
N九位數字的毫微秒(前面補0)020000000
P上午或下午的大寫標志PM
p上午或下午的小寫標志am
z從GMT起,RFC822數字位移+0800
Z時區CST
s從格林威治時間1970-01-01 00:00:00 起的秒數1587270316
Q從格林威治時間1970-01-01 00:00:00 起的毫秒數1587270331450

2.4 使用參數索引格式化輸出日期

Date date = new Date();System.out.printf("%1$s %2$tB%2$te日, %2$tY","data:",date); //輸出結果為 data: 四月19日, 2020

索引必須緊跟在%后面,并以$終止。參數索引值從1開始,而不是從0開始。

同樣還可以使用 < 標志。它指示前面格式說明中的參數將再次使用。

System.out.printf("%s %tB%<te日, %<tY","data:",date);

2.5 指定寬度和精度

舉例輸出
%5c輸出字符并在這個字符條目前面加4個空格
%6b輸出布爾值,在false值前加一個空格,在true值前加兩個空格
%5d輸出整個條目,寬度至少為5.如果該條目的數字位數小于5,就在數字前面加空格.如果該條目的位數大于5,則自動增加寬度
%10.2f輸出的浮點條目寬度至少為10,包括小數點、和小數點后兩位數字.這樣,給小數點前分配了7位數字. 如果該條目小數點前的位數小于7,就在數字前面加空格. 如果該條目小數點前的位數大于7,則自動增加寬度.
%10.2e輸出的浮點條目的寬度至少為10,包括小數點、小數點后面兩位數字和指數部分.如果按科學計數法顯示的數字位數小于10,就給數字前加空格
%12s輸出的字符串至少為12個字符.如果該字符串條目小于12個字符,就在該字符串前加空格.如果該字符串條目多余12個字符,則自動增加寬度

例子

public class PrintfDemo {public static void main(String[] args) {System.out.printf("%5.6f",12345678.12345678);System.out.println();System.out.printf("%8.4f",1.12);System.out.println();System.out.printf("%-8.4f",1.12);} } /*輸出: 12345678.1234571.1200 1.1200 */

總結

以上是生活随笔為你收集整理的Java学习笔记(七)--格式化字符串及格式输出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。