Java基礎知識 --狂神說筆記Day1
- 相關知識及環境配置
- 特性和優勢
- 簡單
- 面向對象
- 可移植性
- 高性能
- 分布式
- 動态性
- 多線程
- 安全性
- 健壯性
- Java三個版本
- JavaSE:标準版(桌面程式、控制台開發)
- JavaME:嵌入式開發(手機、家電)
- JavaEE:企業級開發(web端、伺服器開發)
- JDK JRE JVM
- JDK: Java Development Kit
- JRE:Java Runtime Environment
- JVM:Java Virtual Machine
Java基礎知識 --狂神說筆記Day1 - 解除安裝JDK
- 删除java安裝目錄
- 删除系統變量裡的JAVA_HOME
- 删除系統變量path下關于Java的目錄
- java -version檢查是否删除
- 編譯型和解釋型
- IDEA使用
- psvm:public static void main(String[] args)
- sout:System.out.println("");
- 快速補全分号:ctrl+shift+enter
- java基礎文法
- 注釋
- 單行注釋://
- 多行注釋:/* */
-
文檔注釋:JavaDoc
/**
*@Description:
*@
*/
- 辨別符和關鍵字
- 關鍵字
Java基礎知識 --狂神說筆記Day1 - 辨別符規則
- 以 字母、$、_ 開始
- 首字母後可以是 字母、$、_ 的任意組合
- 不能使用關鍵字作為變量名或方法名
- 大小寫敏感
- 資料類型
- Java是強類型語言:要求變量的使用要嚴格符合規定,所有變量必須先定義後使用
- Java資料類型分為兩類:
- 基本資料類型
- 數值類型
- 整數類型
- byte 1個位元組 -128~127
- short 2個位元組 -32768~32767
- int 4個位元組 -2147483648~2147483647
- long 8個位元組(在數字後面加個L)
- 浮點類型
- float 4個位元組(數字後面加個F)
- double 8個位元組
- 字元類型:char 2個位元組
- 整數類型
- Boolean類型:1位 true/false
- 數值類型
- 引用資料類型
- 類
- 接口
- 數組
- 基本資料類型
- 資料類型拓展(面試)
- 進制
- 二進制:0b開頭
- 十進制:無
- 八進制:0開頭
- 十六進制:0x開頭
- 浮點數拓展
- float是有限的,離散的、存在舍入誤差 接近但不等于 不要用浮點數比較
- 銀行業務用BigDecimal
- 字元拓展
- 所有的字元本質還是數字 編碼 Unicode 2位元組:65536種編碼
-
String a = new String("hello word");
String b = new String("hello word");
System.out.println(a==b);
輸出false;
-
String c = "hello word";
String d = "hello word";
System.out.println(c==d);
輸出true
從記憶體角度分析
- 進制
- 類型轉換
-
低--→高
byte、short、char→int→long→float→double
-
強制類型轉換 高→低
(類型)變量名
- 自動類型轉換
- 注意點:
- 不能對bool值進行轉換
- 不能把對象類型轉換為不相幹類型
- 在把高容量轉換到低容量的時候,強制類型轉換
- 轉換的時候可能存在記憶體溢出或精度問題
- 操作比較大的數字的時候,主義溢出問題
-
- 變量、常量、作用域
- 運算符
- 位運算
- A&B:每位進行與運算,有一位為0結果為0
- A|B:每位進行或運算,有一位為1結果為1
- A^B:異或
- ~B:取反
- 位運算
- 包機制 為了更好地組織類,用于差別類名的命名空間
- package pkg1[.pgk2[.pkg3...]]
- import 導入該包
- JavaDoc:生成API文檔
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 參數名
- @return 傳回值情況
- @throw 異常抛出情況
生成文檔指令:
javadoc -encoding UTF-8 -charset UTF-8 Java檔案名.java
使用IDEA生成JavaDoc文檔:
tools→Generate JavaDoc→選擇Output directory
設定語言和編碼集 -encoding utf-8 -charset utf-8
-
增強for循環(周遊數組、集合)
for(聲明語句:表達式){
//代碼
}
聲明語句:聲明新的局部變量。該變量的類型必須與數組元素的類型比對,其作用域限定在循環語句塊,其值與此時數組元素的值相等
表達式:要通路的數組名,或者是傳回值為數組的方法
-
for循環列印*号三角形:
for(int i=1; i<=5; i++){
for(int j=5; j>=i; i--){
System.out.print(" "); //列印每行的空格
}
for(int j=1; j<=i; j++){
System.out.print("*"); //列印每行的左半部分星号
for(int j=1; j<i; j++){
System.out.print("*"); //列印每行的右半部分星号,j<i 每行需要少列印一次
System.out.println();
- 方法:語句的集合,它們在一起執行一個功能
- 方法是解決一類問題的步驟的有序集合
- 方法包含于類或對象中
- 方法在程式中被建立,在其他地方被引用
- 設計原則:一個方法隻完成一個功能
- 方法重載規則
- 方法名稱必須相同
- 參數清單必須不同(個數、類型、參數排列順序 不同)
- 僅僅傳回類型不同不足以成為方法的重載
- 實作理論:方法名稱相同時,編譯器會根據調用方法的參數個數、類型等去逐個比對,以選擇對應的方法,如果比對失敗,則編譯器報錯。
- 指令行傳參(傳參數給main函數)
- 可變參數
- 在方法聲明中,在指定參數類型後加 ... (可以傳入多個同類型的變量,以數組形式傳入)
- 一個方法隻能指定一個可變參數,必須是方法的最後一個參數。
-
例: public void printMax(double... numbers)
此時傳入的numbers就會是一個數組
- 注釋