常用類(更新)
字串相關類
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);
}
}