String.format()

场景

在开发的时候一段字符串的中间某一部分是需要可变的,一长串拼接起来比较繁琐
例如:http://www.test.com?userName=张三&age=25&address=北京市&sex=&id=666
用户名 userName 为可变的string数据 
年龄 age 为可变的int数据 
地址 address 为可变的string数据
性别 sex 为可变的string数据 
id 为可变的int数据

解决方法
String.format()
format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
format(Locale locale, String format, Object… args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串

常用数据类型

String userName = "张三";
String age = "25";
String address = "北京市";
String sex = "男";
String id= "666";
String requestUrl = "http://www.test.com?userName=%s&age=%s&address=%s&sex=%s&id=%s";
String url = String.format(requestUrl,userName,age,address,sex,id);
System.out.println(url);
System.out.println(String.format("Hi,%s", "张三"));
System.out.println(String.format("Hi,%s %s %s", "张三","是个","人才"));
System.out.println(String.format("字母m的大写是:%c", 'm'));
System.out.println(String.format("布尔结果是:%b", "张三".equals("帅哥")));
System.out.println(String.format("100的一半是:%d", 100/2));
System.out.println(String.format("100的16进制数是:%x", 100));
System.out.println(String.format("100的8进制数是:%o", 100));
System.out.println(String.format("50元的书打8.5折扣是:%f 元", 50*0.85));
System.out.println(String.format("上面价格的16进制数是:%a", 50*0.85));
System.out.println(String.format("上面价格的指数表示:%e", 50*0.85));
System.out.println(String.format("上面价格的指数和浮点数结果的长度较短的是:%g", 50*0.85));
System.out.println(String.format("上面的折扣是%d%%", 85));
System.out.println(String.format("字母A的散列码是:%h", 'A'));

结果

http://www.test.com?userName=张三&age=25&address=北京市&sex=&id=666
Hi,张三
Hi,张三 是个 人才
字母m的大写是:m
布尔结果是:false
100的一半是:50
10016进制数是:64
1008进制数是:144
50元的书打8.5折扣是:42.500000 元
上面价格的16进制数是:0x1.54p5
上面价格的指数表示:4.250000e+01
上面价格的指数和浮点数结果的长度较短的是:42.5000
上面的折扣是85%
字母A的散列码是:41

在这里插入图片描述
在这里插入图片描述

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);  

结果

全部日期和时间信息:星期三 九月 21 22:43:36 CST 2016--日格式:2016-09-21//年格式:16/10/21  
HH:MM:SS PM格式(12时制):10:43:36 下午  
HH:MM:SS格式(24时制):22:43:36  
HH:MM格式(24时制):22:43  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值