1. 程式人生 > >Java基礎個人筆記之概念,配置環境與變數

Java基礎個人筆記之概念,配置環境與變數

跨平臺:JDK和JRE跨平臺
Java的虛擬機器:JVM
Java執行環境:JRE(java執行環境)=(虛擬機器(JVM)+核心庫類)
Java開發環境:JDK(java開發工具包)=(JRE + 開發工具)
JAVA程式執行依賴虛擬機器,而針對不同作業系統有不同版本的虛擬機器

java的三大平臺
javase:JAVA標準版,學習基礎
javaee:JAVA企業級開發
javame:移動開發

.java檔案:原始檔
.class檔案:位元組碼檔案
main :程式入口,被虛擬機器呼叫,保證該類的獨立執行
javac:編譯工具啟動JDK的編譯程式 編譯.java檔案(檢查語法,保證執行,後生成.class程式)
java:啟動虛擬機器,找到.class檔案,載入進記憶體,找main函式,執行main函式內的程式碼
javadoc:用於提取/** */註釋成文件

配置java環境
右鍵我的電腦=》屬性=》高階系統設計=》高階=》環境變數=》path=》新增路徑==》告訴window javac和java命令在哪(可在任意地方開啟該路徑下的檔案,簡化開發)
為了方便更改,可在環境變數中新增系統變數,用於儲存路徑,在path裡面用%系統變數%來替換原先的路徑
臨時設定環境變數:set path 檢視環境變數; set path=hahaha 把環境變數設定為hahaha; set path= 不傳值刪除
set path=新路徑;%path%在原先的路徑新增新路徑 若有兩個版本的會從路徑頭找,找到就直接使用,因此應該把要使用的環境放在前面
set classpath=新路徑:把.class(自己寫的.java檔案編譯生成的.class檔案)的新路徑告訴虛擬機器,讓虛擬機器去新路徑去找該檔案執行。如果沒配置,找當前路徑,沒找到報錯,若新路徑+;會先在新路徑找,找不到當前找,在找不到報錯。若.;新路徑,則先找當前路徑在找新路徑(只會找.class檔案不會找.java檔案)

javac -version 檢視java的版本

型別

  • Java語言是強型別語言,對於每一種資料都定義了明確的具體資料型別
    1.基本資料型別: 基本資料型別是Java語言中內建的型別,分別是整數型別、小數型別、字元型別、布林型別。
    這四類基本型別是最簡單、最基礎的型別。
    * 整數(byte(1)、 short(2) 、int(4) 、long(8) )
    * 小數(float(4) 、double(6) )
    * 字元型別(char(2))
    * 布林型別(boolean(1))
    2.引用資料型別: 是強大的資料型別,它是基於基本資料型別建立的。
    如:類 介面 陣列 列舉

常量的定義
整形常量預設是int型別
小數常量預設是double型別
定義長整形資料如果值超過int取值範圍後面要+“L”
定義float型別的資料後面要+“f” 否則預設是double

資料型別轉換
自動型別轉換,範圍小的資料型別向範圍大的資料型別轉換時使用;
強制型別轉換,範圍大的資料型別向範圍小的資料型別轉換時使用。
注意:
第一題:
byte b1=1,b2=2,b;
b=b1+b2;//錯誤 因為他們最終是要轉向int型別 而int型別的值不能賦值給byte
b=3+4;//正確 因為他們都是常量 具有常量型別優化機制 可以直接識別為byte
第二題:
byte b = 130;有沒有問題?有問題如何解決?結果是多少呢?
有問題 因為這個數超出了byte的取值範圍 要用byte型別進行強制轉換 結果是-126
第三題:
int x = 3;
byte b = 1;
b = b+x;//出錯, 因為在和一個int型別的變數/常量進行相加的時候b自動轉換成int型別 而一個int型別的資料是沒辦法直接賦值給byte型別的變數的
需 b = (byte)( b+x);//強制轉換
而:b += x;// 相當於 x = (byte)(b+x);
第四題:
public class Test1 {
public static void main(String[] args) {
int x = 3;
int y = (–x)+(x–)+(x*10);
System.out.println("x = " + x + ",y = " + y);
}
}

x = 1
y = 14