好程序員大數據學習路線之大數據自學路線一
System類
exit():終止虛擬機
gc():運行垃圾回收機制
currentTimeMillis():返回以毫秒爲單位的當前時間
arraycopy(Object src,int srcPos, Object dest,int destPos,int length):
從指定源數組中複製一個數組,複製從指定的位置開始,到目標數組的指定位置結束
String
不可變字符串:String
String s = "s";
不可變字符串是一個常量,改變會指向新開闢空間
存儲在堆區的字符串常量區
同一個字符串常量在常量區只允許存儲一個值
s1 = "1000"; s2 = "1000"; s1==s2;//true
a = "00"; s3 = "10"+a; s1==s3;//false
s4 = "10"+new String("00"); s1==s4;//false
String默認重寫了Object的equals()方法,可以進行值的比較
String常用方法
1.boolean contains(CharSequence s):判斷是否包含一個子字符串
2.boolean equals(Object anObject):判斷兩個字符串的內容是否相同
3.boolean equalsIgnoreCase(String anotherString):忽略大小寫判斷兩個字符串的內容是否相同
4.boolean startsWith(String prefix):判斷是否以某字符串開頭
5.boolean endsWith(String suffix):判斷是否以某字符串結尾
6.將字符數組轉換成字符串:
1.構造方法:String(char[] value) 、String(char[] value, int offset, int count)
2.使用靜態方法:static String copyValueOf(char[] data)、static String copyValueOf(char[] data, int offset, int count)
7.將字符串轉成字符數組:toCharArray()
8.將基本數據類型轉換成字符串:String.valueOf()-----字符串轉int:Integer.parseInt()
9.替換:String replace(char oldChar, char newChar)
10.獲取字串:String substring(int beginIndex)、String substring(int beginIndex, int endIndex):不包括右邊界
11.大小寫轉換:String toLowerCase()、String toUpperCase()
12.去除字符串兩端的空格:String trim()
13.字典順序比較兩個字符串:int compareTo(String anotherString)
14.切割:String[] split(String)
StringBuffer和StringBuilder
可變字符串:StringBuffer(線程安全)、StringBuilder(線程不安全)
*線程是工作的最小單位
*軟件更新的作用:增加功能;修改bug;增加安全性;提升用戶體驗
StringBuffer sb = new StringBuffer("sb");//可以傳String參
常用方法:
1.從最後插入元素:StringBuffer append(boolean b)
2.從指定位置插入元素:StringBuffer insert(int offset, boolean b)
3.刪除一部分字符串:StringBuffer delete(int start, int end)
4.刪除一個字符:StringBuffer deleteCharAt(int index)
5.替換指定的子字符串:StringBuffer replace(int start, int end, String str)
6.修改一個字符:void setCharAt(int index, char ch)
7.獲取:char charAt(int index)
8.從左到右返回指定子字符串的下標:int indexOf(String str)
9.返回長度(字符數):int length()
10.反轉:StringBuffer reverse()
網址
實現客戶端與服務器的通信
網址:協議+域名+端口+資源在服務器的路徑+查詢條件
http協議:超文本傳輸協議
https協議:安全的http協議
作業:切割網址
日期類Date
Date date = new Date();//獲取當前時間(西方日期格式)
Date date = new Date(3000);//獲取當前時間(西方日期格式)
獲取long型的時間,從1970年開始計算的毫秒數
long time = date.getTime;//毫秒
日期格式轉換器:
```java
//1.使用系統提供的默認的格式-DateFormat--提供了四種可選模式:short,long,full,default
//第一個參數用於指定日期格式 第二個參數用於指定時間格式
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
String stringDate = dateFormat.format(new Date());
System.out.println(stringDate);
//1993-02-03 23:23:12 1993/02/03 23:23:12
//2.使用自定義的日期格式轉換器實現自由轉換----SimpleDateFormat
//"E yyyy.MM.dd 'at' hh:mm:ss a zzz"
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//HH代表24小時制
String stringDate1 = simpleDateFormat.format(new Date());
System.out.println(stringDate1);
```
日曆類Calendar
Calendar calendar = Calendar.getInstance();
| Calendar.YEAR | 年份 |
| --------------------- | ------------------------------ |
| Calendar.MONTH | 月份 |
| Calendar.DATE | 日期 |
| Calendar.DAY_OF_MONTH | 日期,和上面的字段意義完全相同 |
| Calendar.HOUR | 12小時制的小時 |
| Calendar.HOUR_OF_DAY | 24小時制的小時 |
| Calendar.MINUTE | 分鐘 |
| Calendar.SECOND | 秒 |
| Calendar.DAY_OF_WEEK | 星期幾 |
#### 權限修飾符:
private:同一個類
默認(default/friendly):同一個包
protected:同一個包、不同包的所有繼承關係
public:所有都能訪問
數組工具類Arrrays
內部封裝了大量操作數組的靜態方法:
toString(arr):簡單數據類型數組轉字符串
asList(arr):簡單數據類型數組轉集合,將整個數組作爲1個元素
asList(strings):引用數據類型數組轉集合,一個數組元素對應一個元素
數組轉過來的集合長度固定,不能執行增加,刪除,可以執行修改,遍歷
binarySearch(arr,key);//二分查找
正則表達式
qq = "4446512";
String regex = "[1-9]\\d{4,12}";
boolean istrue = qq.matches(regex);
[]:限定某一位,能取到的值的範圍
\d:代表數字
{}:限定個數
匹配:matches(regex); 切割:split(regex);
替換:replaceAll(regex,place)
```
正則表達式:
預定義字符:
. 匹配任何字符(與行結束符可能匹配可能不匹配)
\d 數字[0-9]
\D 非數字 [^0-9]
\s 空白字符 [ \t \n \x0B \f \r]
\S 非空白字符 [^\s]
\w 單詞字符[a-z A-Z _ (下劃線) 和0-9]
\W 非單詞字符[^\w]
注意 任何預定義字符沒有沒有加上數量詞之前都只能匹配一個字符而已
數量詞 :
X? 一次或者一次都沒有
X* 零次或多次
X+ 一次或多次
X{n} 恰好n次
X{n,} 至少n次
X{n,m} 至少n次,不超過m次
範圍詞:
[abc] a, b, c中的一個
[^abc] 任何字符 除了 a b c
[a-zA-Z] a到z A到Z 兩頭的字母包括在內
[a-d[m-p]] a到d 或 m到p:[a-dm-p](並集)
注意 範圍次不管有多長,沒有數量詞只能匹配一個字符而已
```