Java學習筆記,不斷更新

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。

image

數據類型

數據類型 內存空間(1字節=8位)
Boolean 8位/16位
byte 8位
char 16位
short 16位
int 32位
long 64位
float 32位
double 64位

創建字符串String

 1、String s = new String({'g','o','o','d'});

字符串操作

 str.indexOf("g");// 查找索引位置

輸入: Scanner()

 Scanner scan = new Scanner(System.in)

.hasNext() 判斷是否存在下一個輸入,返回bool類型。

.hasNextInt() 判斷下一個輸入是否為Int型,返回bool類型。

.next() 取下一個輸入值,遇到結束符停止(空格鍵、Tab鍵或Enter鍵等)。

.nextLine() 取下一行輸入值,遇到Enter鍵停止,可以獲得空白。

字符切割:split() (1)split表達式,就是一個正則表達式。*** ^ |** 等符號在正則表達式中屬于一種有特殊含義的字符,如果使用此種字符作為分隔符,必須使用轉義符即 ** 加以轉義。 (2)如果使用多個分隔符則需要借助 | 符號,如 "^|@|#",但需要轉義符的仍然要加上分隔符進行處理。

使用一個或多個空格分割字符串

str.split("\\s+");

String 轉換成 int

 1). int i = Integer.parseInt([String]);//遇到不能被轉換為整型的字符時,會拋出異常

int 轉換成 String

 1.) String s = String.valueOf(i);

Char[] 轉換成 String

 String str = String.copyValueOf(charArray)

String 轉換成 Char[]

 char[] arr = str.toCharArray()

String 轉換成 Int[]

int[] arr = Arrays.stream(str.split(" "))

數組[]轉list

List<String> list = Arrays.asList(stringArray);

float取整

// 1、向下取整:floor

獲取數組最大值

int max = Arrays.stream(arr).max().getAsInt();

函數迭代示例

// 輸入: 一個整數,當月利潤。

HashMap方法

.put(Object key,Object value)// 添加元素

數組sort排序

1.Array.sort(int[] a) // 直接對數組進行升序排序

list集合sort排序

1、降序排列

倒序輸出

1、list集合:

捕捉異常

try{
image
數組快速打印
 // 打印一維數組
兩個數組間復制
 // 直接 = ,則是引用的復制,改變一個,另一個也會變:
Java引用類型

Java 中的“引用”,類似于C 和 C++ 里的“指針”。類、接口類型、數組類型、枚舉類型、注解類型

基本數據類型:在被創建時,在棧上給其劃分一塊內存,將數值直接存儲在棧上。
引用數據類型:在被創建時,首先要在棧上給其引用(句柄)分配一塊內存,而對象的具體信息都存儲在堆內存上,然后由棧上面的引用指向堆中對象的地址。

靜態區、堆區、棧區、文字常量區

靜態區: 保存自動全局變量和 static 變量(包括 static 全局和局部變量)。靜態區的內容在總個程序的生命周期內都存在,由編譯器在編譯的時候分配。 堆區: 一般由程序員分配釋放,由 malloc 系列函數或 new 操作符分配的內存,其生命周期由 free 或 delete 決定。在沒有釋放之前一直存在,直到程序結束,由OS釋放。其特點是使用靈活,空間比較大,但容易出錯 棧區: 由編譯器自動分配釋放,保存局部變量,棧上的內容只在函數的范圍內存在,當函數運行結束,這些內容也會自動被銷毀,其特點是效率高,但空間大小有限 常量區: 常量字符串就是放在這里的。 程序結束后由系統釋放。

權限修飾符
image.gif
Jsoup(HTML解析器)
繼承關系:Document繼承Element繼承Node。TextNode繼承Node。
Jsoup下載文件
 Connection.Response imgRes = Jsoup.connect(str).ignoreContentType(true).execute();
File類

java.io.File類用于表示文件或目錄。

 創建File對象:
序號 方法描述
1 public String getName() 返回由此抽象路徑名表示的文件或目錄的名稱。
2 public String getParent()****、 返回此抽象路徑名的父路徑名的路徑名字符串,如果此路徑名沒有指定父目錄,則返回 null
3 public File getParentFile() 返回此抽象路徑名的父路徑名的抽象路徑名,如果此路徑名沒有指定父目錄,則返回 null
4 public String getPath() 將此抽象路徑名轉換為一個路徑名字符串。
5 public boolean isAbsolute() 測試此抽象路徑名是否為絕對路徑名。
6 public String getAbsolutePath() 返回抽象路徑名的絕對路徑名字符串。
7 public boolean canRead() 測試應用程序是否可以讀取此抽象路徑名表示的文件。
8 public boolean canWrite() 測試應用程序是否可以修改此抽象路徑名表示的文件。
9 public boolean exists() 測試此抽象路徑名表示的文件或目錄是否存在。
10 public boolean isDirectory() 測試此抽象路徑名表示的文件是否是一個目錄。
11 public boolean isFile() 測試此抽象路徑名表示的文件是否是一個標準文件。
12 public long lastModified() 返回此抽象路徑名表示的文件最后一次被修改的時間。
13 public long length() 返回由此抽象路徑名表示的文件的長度。
14 public boolean createNewFile() throws IOException 當且僅當不存在具有此抽象路徑名指定的名稱的文件時,原子地創建由此抽象路徑名指定的一個新的空文件。
15 public boolean delete() 刪除此抽象路徑名表示的文件或目錄。
16 public void deleteOnExit() 在虛擬機終止時,請求刪除此抽象路徑名表示的文件或目錄。
17 public String[] list() 返回由此抽象路徑名所表示的目錄中的文件和目錄的名稱所組成字符串數組。
18 public String[] list(FilenameFilter filter) 返回由包含在目錄中的文件和目錄的名稱所組成的字符串數組,這一目錄是通過滿足指定過濾器的抽象路徑名來表示的。
19 public File[] listFiles() 返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名所表示目錄中的文件。
20 public File[] listFiles(FileFilter filter) 返回表示此抽象路徑名所表示目錄中的文件和目錄的抽象路徑名數組,這些路徑名滿足特定過濾器。
21 public boolean mkdir() 創建此抽象路徑名指定的目錄。
22 public boolean mkdirs() 創建此抽象路徑名指定的目錄,包括創建必需但不存在的父目錄。
23 public boolean renameTo(File dest) 重新命名此抽象路徑名表示的文件。
24 public boolean setLastModified(long time) 設置由此抽象路徑名所指定的文件或目錄的最后一次修改時間。
25 public boolean setReadOnly() 標記此抽象路徑名指定的文件或目錄,以便只可對其進行讀操作。
26 public static File createTempFile(String prefix, String suffix, File directory) throws IOException 在指定目錄中創建一個新的空文件,使用給定的前綴和后綴字符串生成其名稱。
27 public static File createTempFile(String prefix, String suffix) throws IOException 在默認臨時文件目錄中創建一個空文件,使用給定前綴和后綴生成其名稱。
28 public int compareTo(File pathname) 按字母順序比較兩個抽象路徑名。
29 public int compareTo(Object o) 按字母順序比較抽象路徑名與給定對象。
30 public boolean equals(Object obj) 測試此抽象路徑名與給定對象是否相等。
31 public String toString() 返回此抽象路徑名的路徑名字符串。
進制轉換
 // 10進制轉2進制,返回一個二進制字符串

MQTT

基類 介紹
MqttClient 同步調用客戶端,使用阻塞方法與MQTT服務器通信
MqttAsyncClient 異步調用客戶端,使用非阻塞方法與MQTT服務器通信,允許操作在后臺運行
MqttClientPersistence 表示持久性數據存儲,用于存儲正在傳輸的出站和入站消息,從而實現向指定的QoS的傳遞。可以使用 MqttClient指定此接口的實現,MqttClient將使用該實現來持久保存QoS為1和2消息
MqttConnectOptions 保存控制客戶端連接到服務器的方式的選項集,包括用戶名、密碼等
MqttMessage MQTT消息,保存應用程序有效負載和指定消息如何傳遞的選項消息

日期轉為字符串
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String nowStr = now.format(format);
字符串轉為日期
String dateStr= "2019-08-01 14:28:58";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime date= LocalDateTime.parse(dateStr, formatter);
字符串轉json
import com.alibaba.fastjson.JSONObject;
JSONObject jo = JSONObject.parseObject("字符串");
判斷字符串是否為空
TextUtils.isEmpty(str);

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,837評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,196評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,688評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,654評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,456評論 6 406
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,955評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,044評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,195評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,725評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,608評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,802評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,318評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,048評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,422評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,673評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,424評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,762評論 2 372