1. 程式人生 > >Java----- 常用類 系統相關類 、 字串相關類

Java----- 常用類 系統相關類 、 字串相關類

   常用類 

系統相關類

System類 代表當前ava程式的執行平臺。.

System. currentTimeMillis()獲得系統當前時間的函式.

開始:   System. out.println(System. currentTimeMilLis());  //   1毫秒== 1000*1000毫微秒.

結束 :  System.out.println(System.currentTimeMilLis());

System. nanoTime ()這個函式並非是獲取系統當前時間的函式,它是一個獲得系統計時器的函式,該函式不能表示具體的日期,

它只能表示從某一個不確定的時間,到當前時間的時間差(有的人說:它是從CPU開始執行時,計算的與當前時間的時間差).

開始:   long startTime = System.nanoTime();

              System.out.println(stantTime);

System. nanoTime ()與鐘錶所定義的時間,沒有任何關係,它的作用就只有1個,計算程式碼的執行時間? 

結束:   long endTime = System.nanoTime();

              System.out.println("上述程式碼,總共耗時:"+ (endTime -startTime) /(1000*1000)/1000 +"秒的時間").

              Syem.exit(0); // 關閉虛擬機器 (慎用).

gc

public static void gc()

        執行垃圾回收器。

呼叫gc方法暗示著Java 機做了一些努力來回收未用物件,以便能夠快速地重用這些物件當前佔用的記憶體。當控制權從方法呼叫中返回時虛擬機器已經盡最大努力從所有天棄的物件中回收了空間

         呼叫System.gc()實際上等效於呼叫:

                    Runtime. getRuntime ().gc()

                     System.gc(); // 提醒垃圾回收期,可以回收垃圾了.

System.out.println(System.getProperties());//得到系統的環境變數

Runtime類 代表Java程式的運環境。

每個Java應用程式都有一個Runtime類例項,使用程式與接。可以通過getRuntime方法獲取當前執行時. 應用程式不能建立自己的Runtime類例項。

System.out.println(Runtime.getRuntime (). maxMemory () / 1024 / 1024);//得到最大的JVM虛擬機器記憶體  System.out.println(Runtime.getRuntime (). freeMemory () / 1024 / 1024);//得到JVM虛擬機器中的空閒記憶體 System.out.println(Runtime.getRuntime (). totalMemory() / 1024 / 1024);//當前程式正在使用的記憶體量 System.out.println(Runtime.getruntime (). availableProcessors());//得到處理器的數量 Runtime.getRuntime ().exec( "motepad.exe");//開啟記事本

字串相關類

String類

//string字串,一旦確定,那麼這個字串,無論長度,還是內容,都不能改變.

//不是通過"構造器"建立的字串,放置在常量池中.

string str="abc" ;

//使用"構造器"建立的字串,資料存放在堆中

//下面這行程式碼,實際上建立兩個物件,,一個物件在堆中, 1個物件在常量池中.

string str00 = new String("abc");

//獲得字串的長度

System.out.println(str.length());

//按照字元在字串中,所在的位置獲取對應的字元資料,取值範圍是: 0-length()-1

System.out.println(str.charAt(2));

//按照字元在字串中,所在的位置獲取對應的字元資料的Ascl1碼值.

System.out.printin(str.codePointAt(2));

//主要使用者字串拼接,不是在原有的字串後面去追加,而是建立一個新的字串.

System.out.println(str.concat("e"));

//判斷字串中,是否存在某一個字串 .

System.out.println(str.contains ("bc"));

//判斷兩個字串內容是否相同.

System.out.println(str.contentEquals("abc"));

//判斷字串,是否是以某一段字串結束.

System.out.println(str.endswith("bcd"));

string str = "張三-李四-王五-趙六"; 

string [] names = str.split("-");        //拆分字串 System.out.println(Arrays. tostring(names));

System.out.println(str. indexof("李四"));//得到某譽字元在字串中,所出現首次位置下標,-1表示沒有這個字串.

System.out.println(str.lastIndexof("趙六"));//得到某些字元在字串中,所出現最後一次位置下標.

System.out.println(str.replace("李四", ".二狗蛋"));//更改字串,並不是真正的更改,而是重寫創新的.

System.out.println("abcD".touppercase()); System.out.println("abcD".toLowerCase());//大小寫轉換.

char[] arrs = "abcD".toCharArray();//將字串轉換為字元陣列  arrs[3] =97; System.out.println(string.valueof(arrs));// 又轉回成字串.

System.out.println(" ad bc ".trim());//trim(),可以忽略字串前後的空白(空格) .

System.out.println("abcdefg".substring(4));//返回一個新的字串,它是此字串的一個子字串。該子字串從指定索引處的字元開始,直到此字串末尾。

System.out.println("abcdefg".substring(4,6));//字串擷取函式

System.out.println("abcdefg".subSequence (4, 6));//字串擷取函式

//string.valueof()讓基本資料型別和引用資料型別,以字串的方式來進行展現  System.out.println(String.valueof(1));

StringBuffer類

方   法                                                                  描   述 StringBuffer append(資料)                      將資料追加到StringBuffer所代表的字串的末尾 int capacity()                                           返回StringBuffer的當前容量 StringBuffer delete(int start, int end)       刪除字串中從索引位置start到end(不包括)位置的字元。 StringBuffer deleteChartAt(int index)      刪除指定位置的字元 StringBuffer insert(int offset, 資料)          將指定的資料插入到該StringBuffer指定位置 StringBuffer replace(int start, int end, String str)    用指定字串中的字元替換該StringBuffer中的字元 StringBuffer reverse()                             倒序替換該StringBuffer中包含的字元序列 void setCharAt(int index, char ch)          將該StringBuffer指定索引處的字元賦給ch void setLength(int newLength)               設定該StringBuffer的長度

//StringBuffer實際上,就是前面的超級陣列類的變換 StringBuffer buffer = new StringBuffer("abc第");          StringBuilder buider = new StringBuilder("abc第");

System.out.println(buffer.capacity());//得到StringBuffer類中的字元陣列的長度 System.out.println(buffer.length());//得到StringBuffer類中的字元陣列中,已經存放的元素的個數          //向StringBuffer所定義的陣列中的尾部,追加新的資料 buffer.append("edh"); System.out.println(buffer.capacity());//得到StringBuffer類中的字元陣列的長度 System.out.println(buffer.length());//得到StringBuffer類中的字元陣列中,已經存放的元素的個數          System.out.println(buffer.toString()); buffer.delete(4, 6);//刪除4,5號位的資料 System.out.println(buffer.toString());          buffer.deleteCharAt(4); System.out.println(buffer.toString());          buffer.insert(4, "胡帥,你真可愛!"); System.out.println(buffer.toString());      buffer.replace(3, 5, "要死啊!"); System.out.println(buffer.toString());          buffer.reverse();//StringBuffer類中陣列,倒序排列          System.out.println(buffer.toString());          char ch = '0'; buffer.setCharAt(5, ch);//使用新的字元,去替代某個下標所在的字元 System.out.println(buffer.toString());      //擷取從開始位置,到結束位置之間的字串(包前不包後)         System.out.println(buffer.substring(3, 7));                   String str = "abc"; String str2 = new String("abc"); System.out.println(str.intern() == str2.intern());

string和stringBuffer和stringBuilder區別

三者在執行速度方面的比較:StringBuilder >  StringBuffer  >  String

String 字串常量---- 適用於少量的字串操作的情況

StringBuffer 字串變數(執行緒安全)---- 適用於單執行緒下在字元緩衝區進行大量操作的情況

StringBuilder 字串變數(非執行緒安全)----適用多執行緒下在字元緩衝區進行大量操作的情況