最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中占位符的超全使用方法分享

 更新時間:2023年05月19日 10:48:30   作者:香吧香  
這篇文章主要為大家詳細介紹了Java中常見的一些占位符的使用方法,例如%d,%s等,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習學習

String類的format()方法用于創(chuàng)建格式化的字符串以及連接多個字符串對象。熟悉C語言的同學應該記得C語言的sprintf()方法,兩者有類似之處。format()方法有兩種重載形式。

format(String format, Object... args) 新字符串使用本地語言環(huán)境,制定字符串格式和參數(shù)生成格式化的新字符串。

format(Locale locale, String format, Object... args) 使用指定的語言環(huán)境,制定字符串格式和參數(shù)生成格式化的字符串。

顯示不同轉(zhuǎn)換符實現(xiàn)不同數(shù)據(jù)類型到字符串的轉(zhuǎn)換,如圖所示。

轉(zhuǎn)換符說明示例
%s字符串類型"mingrisoft"
%c字符類型'm'
%b布爾類型true
%d整數(shù)類型(十進制)99
%x整數(shù)類型(十六進制)FF
%o整數(shù)類型(八進制)77
%f浮點類型99.99
%a十六進制浮點類型FF.35AE
%e指數(shù)類型9.38e+5
%g通用浮點類型(f和e類型中較短的)
%h散列碼
%%百分比類型
%n換行符
%tx日期與時間類型(x代表不同的日期與時間轉(zhuǎn)換符

測試用例

public static void main(String[] args) {
        String str=null;
        str=String.format("Hi,%s", "王力");
        System.out.println(str);
        str=String.format("Hi,%s:%s.%s", "王南","王力","王張");          
        System.out.println(str);                         
        System.out.printf("字母a的大寫是:%c %n", 'A');
        System.out.printf("3>7的結果是:%b %n", 3>7);
        System.out.printf("100的一半是:%d %n", 100/2);
        System.out.printf("100的16進制數(shù)是:%x %n", 100);
        System.out.printf("100的8進制數(shù)是:%o %n", 100);
        System.out.printf("50元的書打8.5折扣是:%f 元%n", 50*0.85);
        System.out.printf("上面價格的16進制數(shù)是:%a %n", 50*0.85);
        System.out.printf("上面價格的指數(shù)表示:%e %n", 50*0.85);
        System.out.printf("上面價格的指數(shù)和浮點數(shù)結果的長度較短的是:%g %n", 50*0.85);
        System.out.printf("上面的折扣是%d%% %n", 85);
        System.out.printf("字母A的散列碼是:%h %n", 'A');
    }

輸出結果

Hi,王力
Hi,王南:王力.王張
字母a的大寫是:A 
3>7的結果是:false 
100的一半是:50 
100的16進制數(shù)是:64 
100的8進制數(shù)是:144 
50元的書打8.5折扣是:42.500000 元
上面價格的16進制數(shù)是:0x1.54p5 
上面價格的指數(shù)表示:4.250000e+01 
上面價格的指數(shù)和浮點數(shù)結果的長度較短的是:42.5000 
上面的折扣是85% 
字母A的散列碼是:41

搭配轉(zhuǎn)換符的標志,如圖所示。

標志說明示例結果
+為正數(shù)或者負數(shù)添加符號("%+d",15)+15
左對齊("%-5d",15)|15   |
0數(shù)字前面補0("%04d", 99)0099
空格在整數(shù)之前添加指定數(shù)量的空格("% 4d", 99)|  99|
,以“,”對數(shù)字分組("%,f", 9999.99)9,999.990000
(使用括號包含負數(shù)("%(f", -99.99)(99.990000)
#如果是浮點數(shù)則包含小數(shù)點,如果是16進制或8進制則添加0x或0("%#x", 99) ("%#o", 99)0x63 0143
格式化前一個轉(zhuǎn)換符所描述的參數(shù)("%f和%<3.2f", 99.45)99.450000和99.45
$被格式化的參數(shù)索引("%1$d,%2$s", 99,"abc")99,abc

測試用例

public static void main(String[] args) {
        String str=null;
        //$使用
        str=String.format("格式參數(shù)$的使用:%1$d,%2$s", 99,"abc");           
        System.out.println(str);                     
        //+使用
        System.out.printf("顯示正負數(shù)的符號:%+d與%d%n", 99,-99);
        //補O使用
        System.out.printf("最牛的編號是:%03d%n", 7);
        //空格使用
        System.out.printf("Tab鍵的效果是:% 8d%n", 7);
        //.使用
        System.out.printf("整數(shù)分組的效果是:%,d%n", 9989997);
        //空格和小數(shù)點后面?zhèn)€數(shù)
        System.out.printf("一本書的價格是:% 50.5f元%n", 49.8);
    }

輸出結果

格式參數(shù)$的使用:99,abc
顯示正負數(shù)的符號:+99與-99
最牛的編號是:007
Tab鍵的效果是:       7
整數(shù)分組的效果是:9,989,997
一本書的價格是:                                          49.80000元

日期和事件字符串格式化

在程序界面中經(jīng)常需要顯示時間和日期,但是其顯示的 格式經(jīng)常不盡人意,需要編寫大量的代碼經(jīng)過各種算法才得到理想的日期與時間格式。字符串格式中還有%tx轉(zhuǎn)換符沒有詳細介紹,它是專門用來格式化日期和時 間的。%tx轉(zhuǎn)換符中的x代表另外的處理日期和時間格式的轉(zhuǎn)換符,它們的組合能夠?qū)⑷掌诤蜁r間格式化成多種格式。

常見日期和時間組合的格式,如圖所示。

轉(zhuǎn)換符說明示例
c包括全部日期和時間信息星期六 十月 27 14:21:20 CST 2007
F“年-月-日”格式2007-10-27
D“月/日/年”格式10/27/07
r“HH:MM:SS PM”格式(12時制)02:25:51 下午
T“HH:MM:SS”格式(24時制)14:28:16
R“HH:MM”格式(24時制)14:28

測試用例

public static void main(String[] args) {
            Date date=new Date();                                
            //c的使用
            System.out.printf("全部日期和時間信息:%tc%n",date);        
            //f的使用
            System.out.printf("年-月-日格式:%tF%n",date);
            //d的使用
            System.out.printf("月/日/年格式:%tD%n",date);
            //r的使用
            System.out.printf("HH:MM:SS PM格式(12時制):%tr%n",date);
            //t的使用
            System.out.printf("HH:MM:SS格式(24時制):%tT%n",date);
            //R的使用
            System.out.printf("HH:MM格式(24時制):%tR",date);
        }

輸出結果

全部日期和時間信息:星期一 九月 10 10:43:36 CST 2012
年-月-日格式:2012-09-10
月/日/年格式:09/10/12
HH:MM:SS PM格式(12時制):10:43:36 上午
HH:MM:SS格式(24時制):10:43:36
HH:MM格式(24時制):10:43

定義日期格式的轉(zhuǎn)換符可以使日期通過指定的轉(zhuǎn)換符生成新字符串

public static void main(String[] args) {
            Date date=new Date();                                    
            //b的使用,月份簡稱
            String str=String.format(Locale.US,"英文月份簡稱:%tb",date);     
            System.out.println(str);                                                                            
            System.out.printf("本地月份簡稱:%tb%n",date);
            //B的使用,月份全稱
            str=String.format(Locale.US,"英文月份全稱:%tB",date);
            System.out.println(str);
            System.out.printf("本地月份全稱:%tB%n",date);
            //a的使用,星期簡稱
            str=String.format(Locale.US,"英文星期的簡稱:%ta",date);
            System.out.println(str);
            //A的使用,星期全稱
            System.out.printf("本地星期的簡稱:%tA%n",date);
            //C的使用,年前兩位
            System.out.printf("年的前兩位數(shù)字(不足兩位前面補0):%tC%n",date);
            //y的使用,年后兩位
            System.out.printf("年的后兩位數(shù)字(不足兩位前面補0):%ty%n",date);
            //j的使用,一年的天數(shù)
            System.out.printf("一年中的天數(shù)(即年的第幾天):%tj%n",date);
            //m的使用,月份
            System.out.printf("兩位數(shù)字的月份(不足兩位前面補0):%tm%n",date);
            //d的使用,日(二位,不夠補零)
            System.out.printf("兩位數(shù)字的日(不足兩位前面補0):%td%n",date);
            //e的使用,日(一位不補零)
            System.out.printf("月份的日(前面不補0):%te",date);
        }

輸出結果

英文月份簡稱:Sep
本地月份簡稱:九月
英文月份全稱:September
本地月份全稱:九月
英文星期的簡稱:Mon
本地星期的簡稱:星期一
年的前兩位數(shù)字(不足兩位前面補0):20
年的后兩位數(shù)字(不足兩位前面補0):12
一年中的天數(shù)(即年的第幾天):254
兩位數(shù)字的月份(不足兩位前面補0):09
兩位數(shù)字的日(不足兩位前面補0):10
月份的日(前面不補0):10

和日期格式轉(zhuǎn)換符相比,時間格式的轉(zhuǎn)換符要更多、更精確。它可以將時間格式化成時、分、秒甚至時毫秒等單位。格式化時間字符串的轉(zhuǎn)換符如圖所示。

轉(zhuǎn)換符說明示例
H2位數(shù)字24時制的小時(不足2位前面補0)15
I2位數(shù)字12時制的小時(不足2位前面補0)03
k2位數(shù)字24時制的小時(前面不補0)15
l2位數(shù)字12時制的小時(前面不補0)3
M2位數(shù)字的分鐘(不足2位前面補0)03
S2位數(shù)字的秒(不足2位前面補0)09
L3位數(shù)字的毫秒(不足3位前面補0)015
N9位數(shù)字的毫秒數(shù)(不足9位前面補0)562000000
P小寫字母的上午或下午標記中:下午
英:pm
z相對于GMT的RFC822時區(qū)的偏移量+0800
Z時區(qū)縮寫字符串CST
s1970-1-1 00:00:00 到現(xiàn)在所經(jīng)過的秒數(shù)1193468128
q1970-1-1 00:00:00 到現(xiàn)在所經(jīng)過的毫秒數(shù)1193468128984

測試代碼

public static void main(String[] args) {
        Date date = new Date();
        //H的使用
        System.out.printf("2位數(shù)字24時制的小時(不足2位前面補0):%tH%n", date);
        //I的使用
        System.out.printf("2位數(shù)字12時制的小時(不足2位前面補0):%tI%n", date);
        //k的使用
        System.out.printf("2位數(shù)字24時制的小時(前面不補0):%tk%n", date);
        //l的使用
        System.out.printf("2位數(shù)字12時制的小時(前面不補0):%tl%n", date);
        //M的使用
        System.out.printf("2位數(shù)字的分鐘(不足2位前面補0):%tM%n", date);
        //S的使用
        System.out.printf("2位數(shù)字的秒(不足2位前面補0):%tS%n", date);
        //L的使用
        System.out.printf("3位數(shù)字的毫秒(不足3位前面補0):%tL%n", date);
        //N的使用
        System.out.printf("9位數(shù)字的毫秒數(shù)(不足9位前面補0):%tN%n", date);
        //p的使用
        String str = String.format(Locale.US, "小寫字母的上午或下午標記(英):%tp", date);
        System.out.println(str); 
        System.out.printf("小寫字母的上午或下午標記(中):%tp%n", date);
        //z的使用
        System.out.printf("相對于GMT的RFC822時區(qū)的偏移量:%tz%n", date);
        //Z的使用
        System.out.printf("時區(qū)縮寫字符串:%tZ%n", date);
        //s的使用
        System.out.printf("1970-1-1 00:00:00 到現(xiàn)在所經(jīng)過的秒數(shù):%ts%n", date);
        //Q的使用
        System.out.printf("1970-1-1 00:00:00 到現(xiàn)在所經(jīng)過的毫秒數(shù):%tQ%n", date);
    }

輸出結果

2位數(shù)字24時制的小時(不足2位前面補0):11
2位數(shù)字12時制的小時(不足2位前面補0):11
2位數(shù)字24時制的小時(前面不補0):11
2位數(shù)字12時制的小時(前面不補0):11
2位數(shù)字的分鐘(不足2位前面補0):03
2位數(shù)字的秒(不足2位前面補0):52
3位數(shù)字的毫秒(不足3位前面補0):773
9位數(shù)字的毫秒數(shù)(不足9位前面補0):773000000
小寫字母的上午或下午標記(英):am
小寫字母的上午或下午標記(中):上午
相對于GMT的RFC822時區(qū)的偏移量:+0800
時區(qū)縮寫字符串:CST
1970-1-1 00:00:00 到現(xiàn)在所經(jīng)過的秒數(shù):1347246232
1970-1-1 00:00:00 到現(xiàn)在所經(jīng)過的毫秒數(shù):1347246232773

到此這篇關于Java中占位符的超全使用方法分享的文章就介紹到這了,更多相關Java占位符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mybatis-plus對單表操作的封裝實現(xiàn)

    Mybatis-plus對單表操作的封裝實現(xiàn)

    本文詳細介紹了MyBatis-Plus單表操作,包括自定義SQL、邏輯刪除、樂觀鎖、全局攔截器和代碼生成器等,具有一定的參考價值,感興趣的可以了解一下
    2024-12-12
  • 詳解Spring依賴注入:@Autowired,@Resource和@Inject區(qū)別與實現(xiàn)原理

    詳解Spring依賴注入:@Autowired,@Resource和@Inject區(qū)別與實現(xiàn)原理

    這篇文章主要介紹了詳解Spring依賴注入:@Autowired,@Resource和@Inject區(qū)別與實現(xiàn)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • 使用Java 8中的Lambda表達式實現(xiàn)工廠模式

    使用Java 8中的Lambda表達式實現(xiàn)工廠模式

    這篇文章主要給大家介紹了使用Java 8中的Lambda表達式實現(xiàn)工廠模式的相關資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • springboot使用alibaba的druid數(shù)據(jù)庫連接池錯誤的問題及解決

    springboot使用alibaba的druid數(shù)據(jù)庫連接池錯誤的問題及解決

    這篇文章主要介紹了springboot使用alibaba的druid數(shù)據(jù)庫連接池錯誤的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 基于Feign使用okhttp的填坑之旅

    基于Feign使用okhttp的填坑之旅

    這篇文章主要介紹了基于Feign使用okhttp的填坑之旅,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot如何使用自定義注解實現(xiàn)接口限流

    SpringBoot如何使用自定義注解實現(xiàn)接口限流

    這篇文章主要介紹了SpringBoot如何使用自定義注解實現(xiàn)接口限流,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • MybatisPlus+Postgresql整合的幾個坑及解決

    MybatisPlus+Postgresql整合的幾個坑及解決

    這篇文章主要介紹了MybatisPlus+Postgresql整合的幾個坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 基于java配置nginx獲取真實IP代碼實例

    基于java配置nginx獲取真實IP代碼實例

    這篇文章主要介紹了基于java配置nginx獲取真實IP代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java數(shù)據(jù)類型超詳細示例講解

    Java數(shù)據(jù)類型超詳細示例講解

    Java程序中要求參與的計算的數(shù)據(jù),必須要保證數(shù)據(jù)類型的一致性,如果數(shù)據(jù)類型不一致將發(fā)生類型的轉(zhuǎn)換。本文將通過示例詳細說說Java中數(shù)據(jù)類型的轉(zhuǎn)換,感興趣的可以了解一下
    2022-11-11
  • Spring @Conditional注解從源碼層講解

    Spring @Conditional注解從源碼層講解

    @Conditional是Spring4新提供的注解,它的作用是按照一定的條件進行判斷,滿足條件給容器注冊bean,這篇文章主要介紹了Spring @Conditional注解示例詳細講解,需要的朋友可以參考下
    2023-01-01

最新評論

贡觉县| 龙州县| 旬邑县| 天长市| 昌图县| 嫩江县| 游戏| 孝义市| 白山市| 宜城市| 富阳市| 万安县| 太仓市| 通道| 水富县| 桐庐县| 手游| 枣强县| 武冈市| 寿光市| 宁河县| 内黄县| 亚东县| 白河县| 泽库县| 沁阳市| 通渭县| 安远县| 道真| 怀化市| 德阳市| 大同市| 社旗县| 奎屯市| 漳州市| 封开县| 富民县| 思南县| 邻水| 甘孜县| 陕西省|