天天看點

Java基礎知識 --狂神說筆記Day1

Java基礎知識 --狂神說筆記Day1

  1. 相關知識及環境配置
  • 特性和優勢
    1. 簡單
    2. 面向對象
    3. 可移植性
    4. 高性能
    5. 分布式
    6. 動态性
    7. 多線程
    8. 安全性
    9. 健壯性
  • Java三個版本
    • JavaSE:标準版(桌面程式、控制台開發)
    • JavaME:嵌入式開發(手機、家電)
    • JavaEE:企業級開發(web端、伺服器開發)
  • JDK JRE JVM
    • JDK: Java Development Kit
    • JRE:Java Runtime Environment
    • JVM:Java Virtual Machine
    Java基礎知識 --狂神說筆記Day1
  • 解除安裝JDK
    1. 删除java安裝目錄
    2. 删除系統變量裡的JAVA_HOME
    3. 删除系統變量path下關于Java的目錄
    4. java -version檢查是否删除
  • 編譯型和解釋型
  • IDEA使用
    • psvm:public static void main(String[] args)
    • sout:System.out.println("");
    • 快速補全分号:ctrl+shift+enter
  1. java基礎文法
    • 注釋
      • 單行注釋://
      • 多行注釋:/* */
      • 文檔注釋:JavaDoc

        /**

        *@Description:

        *@

        */

    • 辨別符和關鍵字
      • 關鍵字
      Java基礎知識 --狂神說筆記Day1
      • 辨別符規則
        • 以 字母、$、_ 開始
        • 首字母後可以是 字母、$、_ 的任意組合
        • 不能使用關鍵字作為變量名或方法名
        • 大小寫敏感
      • 資料類型
        • Java是強類型語言:要求變量的使用要嚴格符合規定,所有變量必須先定義後使用
        • Java資料類型分為兩類:
          1. 基本資料類型
            1. 數值類型
              1. 整數類型
                1. byte 1個位元組 -128~127
                2. short 2個位元組 -32768~32767
                3. int 4個位元組 -2147483648~2147483647
                4. long 8個位元組(在數字後面加個L)
              2. 浮點類型
                1. float 4個位元組(數字後面加個F)
                2. double 8個位元組
              3. 字元類型:char 2個位元組
            2. Boolean類型:1位 true/false
          2. 引用資料類型
            1. 接口
            2. 數組
      • 資料類型拓展(面試)
        • 進制
          • 二進制: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

        • 強制類型轉換 高→低

          (類型)變量名

        • 自動類型轉換
        • 注意點:
          1. 不能對bool值進行轉換
          2. 不能把對象類型轉換為不相幹類型
          3. 在把高容量轉換到低容量的時候,強制類型轉換
          4. 轉換的時候可能存在記憶體溢出或精度問題
          5. 操作比較大的數字的時候,主義溢出問題
      • 變量、常量、作用域
      • 運算符
        • 位運算
          • 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就會是一個數組

上一篇: 結對作業1
下一篇: 寒假作業1/2