1.重載方法public StringBuffer append(…)
可以為該StringBuffer對象添加字符序列,返回添加后的該StringBuffer對象引用,例如:(String str)/(StringBuffer sbuf)/(char[] str)/(char[] str,int offset,int len)添加一個字符數組的一部分/(double d)/(Object obj)
2.重載方法public StringBuffer insert(…)
可以在該StringBuffer在指定位置插入字符序列,返回修改后的該StringBuffer對象引用,例如:?
public StringBuffer insert(int offset,String str)?public StringBuffer insert(int offset,doublie d)…… …?方法public Stringbuffer delete(int start,int end)可以刪除從start開始到end-1為止的一段字符序列,返回修改后的該StringBuffer對象引用。?3.和String類含義類似的方法:?public int indexOf(Stirng str)?public int indexOf(String str,int fromIndex)?public String substring(int start)?public Stirng substirng(int start,int end)?public int length()?方法public StringBUffer reverse()用于將字符序列逆序,返回修改后的該StirngBuffer對象引用。?例:
public class TestStringBuffer { public static void main(String agrs[]) { String s = "Mircosoft"; char a[] = {'a', 'b', 'c'}; StringBuffer sb1 = new StringBuffer(s); sb1.append('/').append("IBM").append('/').append("Sun"); System.out.PRintln(sb1); StringBuffer sb2 = new StringBuffer("數字"); for (int i = 0; i <= 9; i++) { sb2.append(i); } System.out.println(sb2); sb2.delete(8, sb2.length()).insert(0, a); System.out.println(sb2); System.out.println(sb2.reverse()); }}結果:Mircosoft/IBM/Sun數字0123456789abc數字012345543210字數cba?2.基礎數據類型包裝類?包裝類(如:Integer,Double等)這些類封裝了一個相應的基本數據類型數值,將數據分配在堆空間上,并為其提供了一系列操作。?以java.lang.Integer類為例,構造方法:?Integer(int value)?Integer(String s)?包裝類常見方法:以下方法以java.lang.Integer為例?public static final int MAX_VALUE 最大的int型數(2的31次方-1)?Public static final int MIN_VALUE 最小的int型數(-2的31次方)?public long longValue() 返回封裝數據的long型值?public double doubleValue 返回封裝數據的double型值?public int intValue 返回封裝數據的int型值?public static int parseInt(String s)throws NumberFormatException 將字符串解析成int型數據,返回該數據?public static Integer valueOf(String s)throws NumberFormatException 返回Interger對象,其中封裝的整型數據為字符串s所表示??例如:public class TestStringBuffer { public static void main(String agrs[]) { 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); System.out.println(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"); }}結果是:
223
223.456
12.5663704
數據格式不對
1111011B
7bH
173O?
數組解析器代碼:public class ArrayParser { public static void main(String[] args) { double[][] d; String s = "1,2;3,4,5;6,7,8"; String[] sFirst = s.split(";"); d = new double[sFirst.length][]; for (int i = 0; i < sFirst.length; i++) { String[] sSecond = sFirst[i].split(","); d[i] = new double[sSecond.length]; for (int j = 0; j < d[i].length; j++) { d[i][j] = Double.parseDouble(sSecond[j]); } } for (int i = 0; i < d.length; i++) { for (int j = 0; j < d[i].length; j++) { System.out.print(d[i][j] + " "); } System.out.println(); } }}結果是:1.0 2.03.0 4.0 5.06.0 7.0 8.03.Math類?java.lang.Math提供了一系列靜態方法用于科學計算;其方法的參數和返回值類型一般為double型。?abs絕對值 acos反余弦,asin,atan,cos,sin,tan?sprt平方根 pow(double a,double b)a的b次冪?log 自然對數 exp e為底指數?max(double a,double b) min(double a,double b)?random()返回0.0到1.0的隨機數?long round(double a) double型的數據a轉換成long型(四舍五入)?toDegrees(double angrad)弧度->角度?toRadians(double angrad)角度->弧度?Math.E是一個靜態常量 e = 2.7182818284594.File類??java.io.File類代表系統文件名(路徑和文件名)?public File (Stirng pathname) 以pathname為路徑創建File對象,如果pathname是相對路徑,則默認的當前路徑在系統屬性user.dir中存儲?public File(String parent,Stirng child) 以parent為父路徑,children為子路徑創建File對象?File的靜態屬性Stirng separator存儲了當前系統的路徑分隔符?File類常用方法?通過File對象可以訪問文件的屬性。?public boolean canRead()
public boolean canWrite()?
public boolean exists() 是不是存在
public boolean isDirectory() 目錄?
public boolean isFile() 文件名
public boolean isHidden() 是不是隱藏的?
public long lastModified() 上次修改時間ms
Public long length()?
public String getName()
public String getPath()路徑?
通過File對象創建空文件或目錄(在該對象所指的文件或目錄不存在的情況下)?public boolean createNewFile() throws IOException?public boolean delete()?public boolean mkdir()?//創建路徑public boolean mkdirs()// 創建在路徑中的一系列目錄?例如:import java.io.*;public class TestFile { public static void main(String[] args) { String separator = File.separator; String filename = "myfile.txt"; String directory = "mydir1" + separator + "mydir2"; //String directory = "mydir1/mydir2"; //String directory = "mydir1//mydir2"; File f = new File(directory, filename); if (f.exists()) { System.out.println("文件名:" + f.getAbsolutePath()); System.out.println("文件大?。?quot; + f.length()); } else { f.getParentFile().mkdirs(); try { f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } }}結果是:
文件名:C:/Users/Administrator/workspace/helloworld/mydir1/mydir2/myfile.txt?
文件大?。?
遞歸列出目錄結構:
public class FileList { public static void main(String[] args) { File f = new File("d:/A"); System.out.println(f.getName()); tree(f, 1); } private static void tree(File f, int level) { String preStr = ""; for (int i = 0; i < level; i++) { preStr += " "; } File[] childs = f.listFiles(); for (int i = 0; i < childs.length; i++) { System.out.println(preStr + childs[i].getName()); if (childs[i].isDirectory()) { tree(childs[i], level + 1); } } }}結果是:A B E F.txt C D.txt??5.Enum枚舉類??枚舉類型:只能夠取特定值中的一個,使用enum關鍵字,是java.lang.Enum類型定義一種新的類型不是變量就是一個類,然后在定義變量?舉例:public class TestEnum { public enum MyColor {red, green, blue}; public static void main(String agrs[]) { MyColor m = MyColor.red; switch (m) { case red: System.out.println("red"); break; case green: System.out.println("green"); break; default: System.out.println("default"); } System.out.println(m); }}結果是:?red?red
新聞熱點
疑難解答