1. 程式人生 > >常用類(更新)

常用類(更新)

字串相關類

String類

Java.lang.String類代表不可變的字元序列

“XXXX”為該類的一個物件

常見的構造方法


public class Test1 {
	public static void main(String[] args) {
		String s1 = "hello";
		String s2 = "world";
		String s3 = "hello";
		System.out.println(s1 == s3); //true
		
		s1 = new String ("hello");
		s2 = new String ("hello");
		System.out.println(s1==s2);  //false
		System.out.println(s1.equals(s2)); //true
		
		char c[]= {'s','u','n',' ','j','a','v','a'};
		String s4 = new String(c);
		String s5 = new String(c,4,4);
		System.out.println(s4); //sun java
		System.out.println(s5); //java
	}

}


public class Test1 {
	public static void main(String[] args) {
		String s1 = "sun java";
		String s2 = "Sun Java";
		System.out.println(s1.charAt(1)); //u
		System.out.println(s2.length());//8
		System.out.println(s1.indexOf("java")); //4
		System.out.println(s1.indexOf("Java")); //-1
		System.out.println(s1.equals(s2));  //false
		System.out.println(s1.equalsIgnoreCase(s2)); //true
		
		String sr = s1.replace('j', 'J');
		System.out.println(sr);
	}

}


public class Test1 {
	public static void main(String[] args) {
		String s = "Welcome to Java World!";
		String s1 = " sun java ";
		System.out.println(s.startsWith("Welcome")); //true
		System.out.println(s.endsWith("World")); //false
		String sL = s.toLowerCase();
		String sU = s.toUpperCase();
		System.out.println(sL);
		System.out.println(sU);
		String subS = s.substring(11);
		System.out.println(subS);
		String sp = s1.trim();
		System.out.println(sp);
		}

}

靜態過載方法

public static String valueOf(...)可以將基本型別資料轉化為字串;

eg: public static String valueOf(double d)

public static String valueOf(int i);

public String[] split(String regex)可以將一個字串按照指定的分隔符分隔,然後返回分隔後的字串陣列。


public class Test1 {
	public static void main(String[] args) {
		int j = 1234567;
		String sNumber = String.valueOf(j);
		System.out.println("j 是" + sNumber.length()+"位數");
		
		String s = "Mary,F,1976";
		String[] sPlit = s.split(",");
		for(int i = 0;i<sPlit.length;i++) {
			System.out.println(sPlit[i]);
		}
	}

}

StringBuffer 類

可變的字元序列

String一旦被定義,就不可以被改變,s1+=s2是另外開闢了一片內容,s1,s2拷貝到新的記憶體中,效率低。

StringBuffer類,可變的,可以直接在後面開闢記憶體。

常用方法:

過載方法public StringBuffer append(...)可以為該StringBuffer物件新增字元序列,返回新增後的該StringBuffer物件引用。

過載方法public StringBuffer insert(...)可以為該StringBuffer物件在指定位置插入字元序列,返回修改後的該StringBuffer物件引用。

方法public StringBuffer delete(int start,int end)可以刪除從start到end-1的一段字串

方法public StringBuffer reverse()用於將字元序列逆序,返回修改後的該StringBuffer物件

基本資料型別包裝類

包裝類(如:Integer,Double等)這些類封裝了一個相應的基本資料型別數值,併為其提供了一系列操作。

以Java.lang.Integer類為例:構造方法

Integer(int value)

Integer(String s)


public class Test1 {
	public static void main(String[] args) {
		Integer i = new Integer(100);
		Double d = new Double("123.456");
		int j = i.intValue() + d.intValue();
		float f = i.floatValue()+d.floatValue();
		System.out.println(j + " " + f);
		double pi = Double.parseDouble("3.1415926");
		double r = Double.valueOf("2.0").doubleValue();
		double s = pi*r*r;
		System.out.println(s);
		try {
			int k = Integer.parseInt("1.25");
		}catch (NumberFormatException e) {
			System.out.println("資料格式不對");
		}
		System.out.println(Integer.toBinaryString(123)+"B");
		System.out.println(Integer.toHexString(123)+"H");
		System.out.println(Integer.toOctalString(123)+"O");
	}

}

Math類


public class Test1 {
	public static void main(String[] args) {
		double a = Math.random();
		double b = Math.random();
		System.out.println(a +" "+ b);
		System.out.println(Math.sqrt(a*a+b*b));
		System.out.println(Math.pow(a, 8));
		System.out.println(Math.round(b));
		System.out.println(Math.log(Math.pow(a, b)Math.E, 15));
		double d = 60.0, r=Math.PI/4;
		System.out.println(Math.toRadians(d));
		System.out.println(Math.toDegrees(r));
	}

}

File類

代表系統檔名(路徑和檔名)

File類的常見構造方法:

public File(String pathname)

以pathname為路徑建立File物件,如果pathname是相對路徑,則預設的當前路徑在系統屬性user.dir中儲存

public File(String parent,String child)

以parent為父路徑,child為子路徑建立file物件

File的靜態屬性string separator儲存了當前系統的路徑分隔符

//以樹狀結構展現特定的資料夾及其子檔案
import java.io.*;
public class FileList {
	public static void main(String[] args) {
		File f = new File("d:/A");
		tree(f);
	}
	
	private static void tree(File f) {
		File[] childs = f.listFiles();
		for(int i=0;i<childs.length;i++) {
			System.out.println(childs[i].getName());
			if(childs[i].isDirectory())
				tree(childs[i]);
			
		}
	}
}

列舉類


public class TestEnum {
	public enum MyColor{ red, green, blue }; //與c不同,不能與0,1,對應和替換
	public static void main(String[] args) {
		MyColor m = MyColor.red;
		switch(m) {
		case red:
			System.out.println("red");
			break;
		case green:
			System.out.println("green");
			break;
		case blue:
			System.out.println("blue");
			break;
		default:
			System.out.println("XX");
		
		}
		System.out.println(m);
	}

}