1.字串,字串在顯示資訊內容常常使用,除了 String 還有 StringBuffer , StringBuilder 可以使用
1: package Test_Format;
2:
3: public class Test_Format {
4:
5: /**
6: * @param args
7: */
8: public static void main(String[] args) {
9: // TODO Auto-generated method stub
10:
11: /**字串使用 String */
12: String s1;
13: s1 = "AbC";
14: s1+="123";
15: s1 = s1.concat("dEf");//使用concat,注意 = 符號
16: s1.concat("ghi");//沒有效果,不會錯誤
17: s1 = s1.toUpperCase();//轉大寫
18: /**取得字串內容*/
19: char[] tempcArr1 = new char[s1.length()];
20: for(int i=0;i<s1.length();i++)
21: {
22: char tempc = s1.charAt(i);
23: // System.out.print(tempc);ABC123DEF
24: tempcArr1[i] = s1.charAt(i);
25: // System.out.print(tempcArr1[i]);ABC123DEF
26: }
27: for(char tempc : s1.toCharArray())
28: {
29: // System.out.print(tempc);ABC123DEF
30: }
31: byte[] bArr1 = s1.getBytes();
32: for(byte tempb : bArr1)
33: {
34: // System.out.print((char)tempb);ABC123DEF
35: }
36: // System.out.println();
37: // System.out.println(s1.length());//9 字串長度
38:
39:
40: /**StringBuffer使用,比String效率更好 ,Thread-Safe*/
41: StringBuffer sb = new StringBuffer("123456");
42: sb.append("abc");
43: sb.delete(0, 2);//注意 2 會減1,所以會去除 ab
44: String temps = sb.substring(0, 1);//注意 substring會回傳string
45: char[] tempcArr2 = new char[sb.length()];
46: for(int i=0; i<sb.length(); i++)
47: {
48: tempcArr2[i] = sb.charAt(i);
49: System.out.print(tempcArr2[i]);//3456abc
50: }
51: System.out.println(sb.length());//5 字串長度
52:
53: /**StringBuilder使用 ,和StringBuffer類似,效率最高,但不是Thread-Safe*/
54: StringBuilder sbr = new StringBuilder("abcdef");
55: System.out.println(sbr.length());//6
56: sbr.reverse();//反轉
57: char[] tempcArr3 = new char[sbr.length()];
58: for(int i=0; i<sbr.length(); i++)
59: {
60: tempcArr3[i] = sbr.charAt(i);
61: System.out.print(tempcArr3[i]);//fedcba
62: }
63:
64: }
65:
66: }
2.數字顯示格式,DecimalFormat,可自訂數字顯示的格式化,日期格式DateFormat,可以不同的格式取得現在日期和時間
1: package Test_Format;
2:
3: import java.text.*;//需要的類別套件
4: import java.util.*;
5:
6: public class Test_DecimalFormat {
7:
8: /**
9: * @param args
10: */
11: public static void main(String[] args) {
12: // TODO Auto-generated method stub
13:
14: /**DecimalFormat使用*/
15: int i1 = 1234567;
16: double d1 = 123456.789;
17:
18: //正常顯示
19: System.out.println(i1);//1234567
20: System.out.println(d1);//123456.789
21:
22: //使用 DecimalFormat 預設顯示
23: DecimalFormat df = new DecimalFormat();
24: System.out.println(df.format(i1));//1,234,567
25: System.out.println(df.format(d1));//123,456.789
26:
27: //在實體化時可自訂格式
28: df = new DecimalFormat("###,#####");
29: System.out.println(df.format(i1));//12,34567
30: df = new DecimalFormat("000,00000");
31: System.out.println(df.format(i1));//012,34567
32: df = new DecimalFormat("###,####.##");//小數點
33: System.out.println(df.format(d1));//12,3456.79
34:
35: /**Date使用*/
36: Date date = new Date();//取得今天日期時間
37: System.out.println(date.getTime());//以毫秒為單位的數值
38:
39: /**DateFormat使用*/
40: DateFormat df2 = DateFormat.getDateInstance(0);//取得日期實體(預設格式)
41: System.out.println(df2.format(date));
42: df2 = DateFormat.getTimeInstance(3,Locale.TAIWAN);//取得時間實體(short格式)
43: System.out.println(df2.format(date));
44: df2 = DateFormat.getDateTimeInstance(3, 3);//取得日期時間實體
45: System.out.println(df2.format(date));
46:
47: }
48:
49: }
3.正規表示式 Pattern,正規表示式常用在資料的搜尋和比對,使用方法如下
1: package Test_Format;
2:
3: import java.util.regex.Matcher;//需要的套件類別
4: import java.util.regex.Pattern;//需要的套件類別
5:
6: public class Test_Pattern {
7:
8: /**
9: * @param args
10: */
11: public static void main(String[] args) {
12: // TODO Auto-generated method stub
13:
14: /**Pattern使用*/
15: Pattern p1 = Pattern.compile("abc");//基本的正規表示式
16: Pattern p2 = Pattern.compile("abc.");//.代表可後接任一個字元
17: Pattern p3 = Pattern.compile("abc*");//*代表可後接多個字元
18: Pattern p4 = Pattern.compile("abc[def]");//[def]代表可後接[ ]中字元,任一個
19: Pattern p5 = Pattern.compile("abc[d-f]");//-代表範圍所以從d到f都可
20: Pattern p6 = Pattern.compile("abc[de|fg|hi]");//|代表分隔,所以後接 de fg hi
21:
22: /**Matcher使用*/
23: Matcher m1 = p1.matcher("abc");
24: System.out.println(m1.matches());//true
25: m1 = p2.matcher("abc");
26: System.out.println(m1.matches());//false
27: m1 = p3.matcher("abc123");
28: System.out.println(m1.matches());//false
29: m1 = p4.matcher("abcg");
30: System.out.println(m1.matches());//false
31: m1 = p5.matcher("abcf");
32: System.out.println(m1.matches());//true
33: m1 = p6.matcher("abcdef");
34: System.out.println(m1.matches());//true
35:
36: /**find使用*/
37: String tempStr = "abc is a english word,abc";
38: Pattern p7 = Pattern.compile("abc");
39: Matcher m2 = p7.matcher(tempStr);
40: while(m2.find())//尋找指定字元 abc
41: {
42: System.out.println(m2.start()+"~"+(m2.end()-1));//0~2 22~24
43: }
44:
45:
46:
47: }
48:
49: }