1. 程式人生 > >Java基礎語法吐血整理

Java基礎語法吐血整理

# 前言 自己的Java理論知識方面一直都不是很好,決定從0開始好好總結下,把想到的和以前不確定的(查閱資料確定)的知識整理一下,加油!!堅持!!! # Java概述 ## Java三大體系 1、JavaSE 標準版 2、JavaEE 企業版(主流) 3、JavaME 微型版 ## JDK下載安裝 > 建議安裝JDK8以上 ## 環境變數配置 1、JAVA_HOME > JDK安裝根目錄,示例: ```bash D:\JDK8_211 ``` 2、path ```bash ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin ``` 3、CLASSPATH ```bash .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar ``` ## 驗證安裝和編譯執行DOS ### 驗證安裝 ```bash java -version ``` ### 編譯執行 1、javac:編譯成class檔案 ```bash javac Hello.java ``` 2、java:執行java ```bash java Hello ``` ### HelloWorld.java ```java public class HelloWorld{ public static void main(String args[]){ System.out.println("Hello World!"); } } ``` # Java語法規則(規範) 1、大小寫敏感 2、類名首字母大寫 3、方法名小寫 4、原始檔名與類名必須相同,字尾名為.java 5、一個原始檔只能有一個public修飾的類,可以有多個其他類(內部類、匿名類) 6、所有程式由主方法(main())入口開始執行 7、**識別符號規則** 1. 以字母、美元符、下劃線開頭,不能用數字開頭 2. 關鍵字不能做識別符號 8、**註釋** 1. 單行:// 2. 多行:/**/ # Java關鍵字 常見的都在這裡了,可以邊看邊回憶這些關鍵字的意義和使用,複習鞏固,查漏補缺 ## 訪問控制 ```java private //私有模式 protected //保護模式 public //共用模式 ``` ## 類、方法和變數修飾符 ```java class //宣告一個類 abstract //表明類或者成員方法具有抽象屬性 extends //繼承 final //最終屬性,不能改變 interface //宣告一個介面 implements //實現一個介面 new //建立新例項物件 static //表明具有靜態屬性 synchronized //表明一段程式碼需要同步執行 volatile //表明兩個或者多個變數必須同步發生變化 ``` ## 程式控制語句 ```java break //跳出最裡迴圈 continue //跳出本次繼續下一次迴圈 return //從成員方法返回資料 do..while() //至少先執行一次,再判斷是否繼續迴圈 if()..else //如果,條件判斷 for //迴圈 instanceof //判斷一個物件是否是指定型別的例項物件 switch //分支語句 case //在switch後,表示其中的一個分支 default //switch中都不符合條件則使用default ``` ## 錯誤處理 ```java try //嘗試一個可能丟擲異常的程式碼塊 catch //捕捉異常,並進行處理 throw //丟擲異常 throws //宣告在當前成員方法所有需要丟擲的異常 ``` ## 包相關 ```java import //指定要訪問的包或類 package //包 ``` ## 基本型別 ```java boolean //布林型 byte //位元組型 short //短整型 int //整型 long //長整型 char //字元型 float //單精度浮點型 double //雙精度浮點型 null //空,注意:不能賦給原始型別(int,long...) true //真 false //假 ``` ## 變數引用 ```java super //表示當前物件父型別的引用或父型別的構造方法 this //表示當前物件的引用 void //表示當前成員方法沒有返回值 ``` ## 保留關鍵字 ```java goto const ``` # 常量和變數 ## 常量 1、使用final修飾常量 2、一般使用大寫命名,示例: ```java final String DEMO = "Hello"; ``` > final 修飾變數只允許初始化一次,一般與 static 一起使用 ## 變數 示例:int a = 2; # 資料型別 ## 基本資料型別 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20201201164751137.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3NjUxMjUy,size_16,color_FFFFFF,t_70#pic_center) ## 引用資料型別 陣列 類 介面 ## 資料型別轉換 ### 自動型別轉換 > 1、表數範圍小的自動轉換為表數範圍大的 > 2、byte和short不能和char相互轉換,char值範圍為0~65535,byte和short都包含負數 > 3、字串與任何資料型別相連都會轉換為字串型別 > 4、運算有多種資料型別結果自動轉換為最大的資料型別 ### 強制型別轉換 > 1、表數大的轉表數小的需要強制轉換 > 2、運算子為(),括號裡寫小的資料型別,示例:byte b = (byte)12 # 運算子 ## 算數 > +,-,*,/,%,++,-- ## 賦值 > =,+=,*=,/=,%/ ## 比較 > < ,>, >= , <=, != ,== ## 邏輯 > &&, || ,! ## 三目 > 條件?true的取值:false的取值 ## 優先順序 > 儘量使用 小括號,可讀性更好 ## instanceof > 檢查當前物件是否是某個特定型別 # 控制流程 ## 順序 ## 分支 > if else switch case ## 迴圈 > while > do while >至少執行一次 >for **增強型for迴圈** ```java for(int hero : heros) { //程式碼句子 } ``` **關鍵字** > break 最裡層迴圈完全中止 >continue 中止本次迴圈,開始下一次迴圈 >return 直接結束一個方法 # 陣列 ## 定義 >儲存在堆上的物件,可儲存多個同類型變數 >陣列初始化,記憶體所佔空間固定,長度不可改變 ### 靜態初始化 ```java int demoArray[3] = {1,2,3}; ``` ### 動態初始化 ```java int demoArray[10]; ``` ### 宣告 ```java int[] a ``` ### 建立 ```java int[] a = new int[5]; int[] a = {1,2,3,4,5}; ``` ### 遍歷 ```java //陣列索引從0開始 for (int i = 0; i < myList.length; i++) { System.out.println(myList[i] + " "); } //for each迴圈 for (double element: myList) { System.out.println(element); } ``` ### Arrays類方法 >排序 sort >比較 equals ### 常見操作 排序(冒泡,選擇) 求最大最小值 折半查詢 說實話,有點難頂[笑哭]。。。。加油!!堅持!! ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20201201172754378.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3NjUxMjUy,size_16,color_FFFFFF,t_70#pic_