通常拼接一段字符串在编程中是很常见的事,下面简单作个总结:html
什么是占位符?占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号.java
1.Java中处理方法:编程
package com.amos; import java.text.MessageFormat; /** * Created by amosli on 14-7-24. */ public class Test { public static void main(String args[]) { //拼接一段string 经常使用的方法 String name="amosli"; //方法1: String result = "hello,"+name; System.out.println(result);//hello,amosli //方法2: result = "hello,".concat(name); System.out.println(result);//hello,amosli //方法3: result = String.format("%d%s", 200, "元"); System.out.println(result);//200元 //方法4: result = MessageFormat.format("hi,{0},I am {1}", "Jack", "Amosli"); System.out.println(result);//hi,Jack,I am Amosli } }
注:spa
方法一应该是使用的最多的,直接使用+号链接符;指针
方法二使用String类的一个方法concat()方法进行链接,跟+号很相似;code
方法三.四使用的是占位符,方法三中用的是String.format()方法,须要注意的是表示须要替换的内容通常字符串要用%s,数字通常用%d进行表示.orm
方法四中直接用{n},其中n为数字表示参数的顺序,这个和C#中的很是相似.htm
static void Main() { string c="hello,amosli"; string m=String.Format(“{0}”,c); //字符串格式输出 Console.WriteLine(m); //hello,amosli }
下面给你们介绍几个经常使用的格式化标识符: 字母 含义 C或c Currency 货币格式 D或d Decimal 十进制格式(十进制整数,不要和.Net的Decimal数据类型混淆了) E或e Exponent 指数格式 F或f Fixed point 固定精度格式 G或g General 经常使用格式 N或n 用逗号分割千位的数字,好比1234将会被变成1,234 P或p Percentage 百分符号格式 R或r Round-trip 圆整(只用于浮点数)保证一个数字被转化成字符串之后能够再被转回成一样的数字 X或x Hex 16进制格式 示例以下(见cs_6.cs) static void Main() { int i=12345; Console.WriteLine("{0:C}",i); //货币 Console.WriteLine("{0:D}",i); //十进制数 Console.WriteLine("{0:E}",i); //科学技术法 Console.WriteLine("{0:F}",i); // 浮点数表示法 Console.WriteLine("{0:G}",i); //G或g General 经常使用格式 Console.WriteLine("{0:N}",i); //N或n 用逗号分割千位的数字 }
注:若是您使用@符号.他会忽略全部的转义.也就是{1}什么的就是{1}而不是标识占位符了,这里须要注意.即"@{1}"这种类型将不被识别为占位符.blog
C语言中的格式占位符: %a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数 %x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,能够用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合 %% 读%符号 格式输入输出示例 scanf("%d,%d,%d",&a,&b,&c); // 从键盘输入三个整数,用逗号分隔 scanf("%c", &s); //从键盘输入一个字符 scanf("%f", &f); //从键盘输入一个浮点型数据 printf("%d\n",a); //输出一个整数 printf("%f\n",b); //输出一个浮点数 printf("%s\n",c); //输出一个字符
基本能够看出来三者很是像,Java和C#基本仍是抄C语言的.ip
参考: