JAVA知識點總結(五)(常用類)
阿新 • • 發佈:2019-09-28
第十八章:常用類
一、main方法解讀:
三、System類:
1、Arraycopy
1 public static void main(String[] args) 2 //當點選執行時,JVM會自動呼叫main方法 3 //public: 被JVM呼叫的方法,他的許可權要足夠大 4 //static: 被JVM呼叫的方法,不需要建立物件,直接通過類名呼叫 5 //void: 被JVM呼叫的方法,不需要返回值 6 //main: 方法的名稱,只能這樣寫,不然jvm識別不了 7 //String [] args:以前指的是鍵盤的錄入
二、Scanner類:
1 Scanner sc = new Scanner(System.in); 2 //等待從鍵盤錄入一個int型別的數, 3 int i = sc.nextInt(); 4 System.out.println(i);
public static void main(String[] args) { // src - 源陣列。 //srcPos - 源陣列中的起始位置。 //dest - 目標陣列。 //destPos - 目標資料中的起始位置。 //length - 要複製的陣列元素的數量。 int [] src = {1,2,3,4,5,6}; int [] desc = new int[10]; System.arraycopy(src, 3, desc, 3, 3); System.out.println(Arrays.toString(src)); System.out.println(Arrays.toString(desc)); //結果: // [1, 2, 3, 4, 5, 6] // [0, 0, 0, 4, 5, 6, 0, 0, 0, 0]
2、System.currentTimeMillis() ; 計算程式碼耗時
public static void main(String[] args) { //獲取當前時間的毫秒值 1s等於1000毫秒 //從197----現在的時間 long time1 = System.currentTimeMillis(); for(int i=0;i<10000;i++){ System.out.println(i); } long time2 = System.currentTimeMillis(); long time3 = time2-time1; System.out.println("總耗時:"+time3);
3、退出程式:System.exit(0);
//終止當前正在執行的 Java 虛擬機器。 System.exit(0);
4、啟動自動立即回收機制:
new SystemMethod(); new SystemMethod();//匿名物件,匿名物件只執行一次, 之後就等大gc回收。 //立即執行垃圾回收器。 System.gc();四、Math類: 1、求兩個數的最大值:
//求兩個數的最大值,最小值用min同理 int res = Math.max(10,20); System.out.println(res);
2、開平方根:
//求4的平方根 double res = Math.sqrt(4); System.out.println(res);
3、Math.random();
//返回[0 1) 之間的一個隨機數 Math.random();
4、大精度小數BigDecimal:
//float double 只能表示小數,不能表示精確的小數 public static void main(String[] args) { //表示金錢都用BigDecimal BigDecimal big1 = new BigDecimal("0.01"); BigDecimal big2 = new BigDecimal("0.09"); BigDecimal big3 = big1.add(big2); System.out.println(big3); }五、字串: 1、什麼是字串? 把多個字串起來。 2、字串建立:
String str = "myxq";//直接建立 String str = new String("myxq");//通過構造器建立
3、字串分類:
1.不可變字串:String 效率低, 定義好之後就不能改變(記憶體地址) 2.可變字串:StringBuilder/StringBuffer 效率高,StirngBuilder更高,但是StringBuffer安全,定義好之後還能進行修改地址4、字串為空的兩種形式:
String str = null; String str = "";
5、比較兩個字串是否相等:
1 //方法一 2 if(str == str2){ 3 System.out.println("是相等的"); 4 }else{ 5 System.out.println("其實不相等"); 6 } 7 //方法二 8 if(str.equals(str2)){ 9 System.out.println("是相等的"); 10 }else{ 11 System.out.println("其實不相等"); 12 }
6、字串記憶體分析:
1 String str1 = "ABCD"; 2 String str2 = "ABCD"; 3 String str3 = "abc"; 4 5 String str4 = new String("ABCD"); 6 String str5 = new String("myxq");
7、char 陣列轉換成字串:
1 //把一個char陣列轉換成字串 2 char[] c1 = new char[]{'A','b','c'}; 3 String str1 = new String(c1); 4 System.out.println(str1);
8、字串轉換為char陣列:
String str1 = "abc"; char[] c2 = str1.toCharArray(); System.out.println(c2);
9、獲取字串當中指定位置的字元:
//獲取字串當中的資訊 String str2 = "myxq"; System.out.println(str2.charAt(2));
10、獲取字串的長度:
1 //獲取字串當中的資訊 2 String str2 = "myxq"; 3 //返回字串長度 4 System.out.println(str2.length());
11、返回一個子字串在另一個字串中第一次出現的位置:
1 //返回一個字串在另一個字串當中出現的第一個位置 2 String str3 = "ABCDEFGCDOOL"; 3 String str4 = "CD"; 4 System.out.println(str3.indexOf(str4));
12、返回一個子字串在另一個字串中最後一次出現的位置:
1 String str3 = "ABCDEFGCDOOL"; 2 String str4 = "CD"; 3 //返回一個字串在另一個字串當中出現的最後一個位置 4 System.out.println(str3.lastIndexOf(str4));
13、把所有字母變成大寫:
1 System.out.println(str3.toUpperCase());//小寫的話方法名變為toLowerCase
14、忽略大小寫比較兩個字串是否相等:
1 System.out.println(str4.equalsIgnoreCase(str5));
15、用一個字元可以對字串做一個分割,返回的是一個數組:
1 String fileNames = "abc.java;hello.java;hello.txt;hello.java.txt"; 2 String[] res = fileNames.split(";"); 3 System.out.println(Arrays.toString(res));
16、是否以指定的字串開頭:
1 String str = "myxq123"; 2 boolean res = str.startsWith("my"); 3 System.out.println(res);
17、獲取從指定位置開始,到指定位置結束之間的字元
1 String str = "myxq123"; 2 String res = str.substrign(1,4); 3 System.out.println(res);
18、去掉字串兩端的空格:
1 String str = " my xqqq "; 2 str = str.trim();
19、使用一個新字元替換字串中的老字元:
1 String str = " my xqqq "; 2 String newStr = str.replace("d","q");// 用新的字元代替舊的字元
六、UUID
1 //UUID 通用唯一識別符 2 //在一臺機器上,生成的數字 3 //根據當前的時間,,電腦的網絡卡,生成的一段字元 4 String uuid = UUID.randomUUID().toString(); 5 System.out.println(uuid);