通常拼接一段字符串在編程中是很常見的事,下面簡單作個總結: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
參考: