1. 程式人生 > >Leroyy's Blogs

Leroyy's Blogs

核心概念:JVM、JDK、JRE、

Java :1995年誕生,sun公司,
  java SE 基礎核心,Java EE ,Java ME
  開源,跨平臺(不同的系統平臺都可以執行---虛擬機器的支援)(可移植性)
JVM :JAVA Virtual Machine 
原始碼(.java)--->編譯器(字解碼檔案)(.class)---->直譯器----->顯示執行

JDK(Java Development Kit) :開發工具包

JRE (Java Runtime Environment) :執行環境
javac HelloWord.java(編譯,生成  .class檔案)
Java HelloWord  (執行)

1.安裝JDK,
2.配置環境變數
  1.JAVA_HOOME--->配置JDK安裝路徑,
  2.PATH--->配置JDK命令檔案的位置,

  3.CLASSPATH--->配置類庫的位置

識別符號:就是用於給 Java 程式中變數、類、方法等命名的符號。

使用識別符號時,需要遵守幾條規則:
1.識別符號可以由字母、數字、下劃線(_)、美元符($)組成,但不能包含 @、%、空格等其它特殊字元,不能以數字開頭。譬如:123name 就是不合法滴
2.識別符號不能是 Java 關鍵字和保留字( Java 預留的關鍵字,以後的升級版本中有可能作為關鍵字),但可以包含關鍵字和保留字。如:不可以使用 void 作為識別符號,但是 Myvoid 可以
3.識別符號是嚴格區分大小寫的。 所以涅,一定要分清楚 imooc 和 IMooc 是兩個不同的識別符號哦!
4.識別符號的命名最好能反映出其作用,做到見名知意。

資料型別:基本資料型別變數存的是資料本身,而引用型別變數存的是儲存資料的空間地址
  String 是一種常見的引用資料型別
  引用資料型別(類,介面,陣列)
  基本資料型別
1.數值型
整數型別(byte--1,short,int--4,long)
浮點型(float---4,double---8)
2.字元型(char---2)
3.布林值(boolean---1)

Java中變數的使用規則:
1、Java 中的變數需要先聲明後使用
2、變數使用時,可以宣告變數的同時進行初始化
3、變數中每次只能賦一個值,但可以修改多次
4、main 方法中定義的變數必須先賦值,然後才能輸出

5.變數名不建議使用中文,容易產生安全隱患,譬如後期跨平臺操作時出現亂碼等等

常量名:
程式執行過程中不允許改變,一般使用大寫字元,
語法:final 常量名 = 值;

Java 語言中常用的運算子可分為如下幾種:
算術運算子、賦值運算子、比較運算子、邏輯運算子、條件運算子(三元運算子)

Java 運算子優先順序:
  1. ()
  2. ! +(正) -(負) ++ --
  3. *  /  %
  4. +(加) -(減)
  5. <  <=  >  >=
  6. ==  !=
  7. ^
  8. &&
  9. ||
  10. ?:
  11. =  +=  -=  *=  /=  %=

獲取輸入的值:
import java.util.Scanner;
Scanner input = new Scanner(Systrm.in);

陣列:
1、 宣告陣列
語法:  資料型別[ ] 陣列名;
        資料型別 陣列名[ ];
int[] scores=new int[5];
int[] scores={1,2,3,4,5};
int[] scores=new int[]{1,2,3,4,5};

Arrays類:
是 Java 中提供的一個工具類,在 java.util 包中。
按升序排列:Arrays.sort(陣列名);
Arrays.toString(陣列名);     陣列-->字串(逗號間隔)

二維陣列:
int[][] num=new int[3][4];
String[][]  names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};

static關鍵字的特點
* A:static關鍵字的特點
* a:隨著類的載入而載入
* b:優先於物件存在
* c:被類的所有物件共享
* 舉例:咱們班級的學生應該共用同一個班級編號。
* 其實這個特點也是在告訴我們什麼時候使用靜態?
* 如果某個成員變數是被所有物件共享的,那麼它就應該定義為靜態的。
* 舉例:
* 飲水機(用靜態修飾)
* 水杯(不能用靜態修飾)
* 共性用靜態,特性用非靜態
* d:可以通過類名呼叫
* 其實它本身也可以通過物件名呼叫。
* 推薦使用類名呼叫。
* 靜態修飾的內容一般我們稱其為:與類相關的,類成員

static的注意事項
* a:在靜態方法中是沒有this關鍵字的
* 如何理解呢?
* 靜態是隨著類的載入而載入,this是隨著物件的建立而存在。
* 靜態比物件先存在。
* b:靜態方法只能訪問靜態的成員變數和靜態的成員方法
* 靜態方法:
* 成員變數:只能訪問靜態變數
* 成員方法:只能訪問靜態成員方法
* 非靜態方法:
* 成員變數:可以是靜態的,也可以是非靜態的
* 成員方法:可是是靜態的成員方法,也可以是非靜態的成員方法。
* 簡單記:
* 靜態只能訪問靜態。

static 四種用法
* static是java中非常重要的一個關鍵字,而且它的用法也很豐富,主要有四種用法:
* 用來修飾成員變數,將其變為類的成員,從而實現所有物件對於該成員的共享;
* 用來修飾成員方法,將其變為類方法,可以直接使用“類名.方法名”的方式呼叫,常用於工具類;
* 靜態塊用法,將多個類成員放在一起初始化,使得程式更加規整,其中理解物件的初始化過程非常關鍵;
* 靜態導包用法,將類的方法直接匯入到當前類中,從而直接使用“方法名”即可呼叫類方法,更加方便。

靜態變數和成員變數的區別
* 靜態變數也叫類變數  成員變數也叫物件變數
* A:所屬不同
* 靜態變數屬於類,所以也稱為為類變數
* 成員變數屬於物件,所以也稱為例項變數(物件變數)
* B:記憶體中位置不同
* 靜態變數儲存於方法區的靜態區
* 成員變數儲存於堆記憶體
* C:記憶體出現時間不同
* 靜態變數隨著類的載入而載入,隨著類的消失而消失
* 成員變數隨著物件的建立而存在,隨著物件的消失而消失
* D:呼叫不同
* 靜態變數可以通過類名呼叫,也可以通過物件呼叫
* 成員變數只能通過物件名呼叫

程式碼塊:
在Java中,使用{}括起來的程式碼被稱為程式碼塊。
* a:區域性程式碼塊 
* 在方法中出現;限定變數生命週期,及早釋放,提高記憶體利用率
* b:構造程式碼塊 (初始化塊)
*在類中方法外出現;多個構造方法方法中相同的程式碼存放到一起,每次呼叫構造都執行,並且在構造方法前執行
* c:靜態程式碼塊 
* 在類中方法外出現,並加上static修飾;用於給類進行初始化,在載入的時候就執行,並且只執行一次。
* 一般用於載入驅動

* 隨著類的載入而載入,優先於main方法執行