Java入門第一季——從此投身Java??,入門第一季投身java
找工作告一段落。
最後的工作呢,和java緊密相關,也是陰差陽錯,不過都是軟體開發,都好了,不過以後側重點肯定是在java這邊,php有機會還是一直學下去的,那麼美的說~
Java開發第一季
一、簡介
1.1 Java SE——基礎核心;
以此為基礎,又分為Java EE(公司專屬應用程式開發,JSP等),Java ME(嵌入式開發,安卓等);
JVM(Java Virtual Machine);
Java虛擬機器,使Java代碼可以跨平台運行;
.java——》編譯器——》.class——》解譯器——》顯示;
JDK Java開發套件;
JRE Java運行環境;
關係:JDK包含JRE包含JVM;
1.2 環境
一:安裝JDK,官網,對應配置安裝;
二:環境配置;
JAVA_HOME 配置JDK安裝路徑;(安裝路徑)
PATH 配置JDK命令檔案的位置;(bin目錄)
CLASSPATH 配置類庫檔案的位置;(lib檔案夾)
三:驗證:cmd命令窗輸入java或javac
1.3 用記事本編寫java程式
記事本寫.java——》javac產生.class——》用java命令得到解釋;
切換到檔案所在目錄——》javac hello.java——》java hello(注意java命令後面不跟尾碼名!!);
1.4 eclipse
我才知道e是綠色檔案,下載瞭解壓縮就能用的。。。
一般流程:建立java項目——》建立程式包——》編寫來源程式——》運行;
注意:包的名字習慣上使用網域名稱的反向;
1.5 使用export和import進行程式的移植
二、變數與常量
2.1 Java中的關鍵字
Java 語言中有一些具有特殊用途的詞被稱為關鍵字。關鍵字對 Java 的編譯器有著特殊的意義,在程式中應用時一定要謹慎哦!!
Java 中常用關鍵字:
問:這麼多,記不住啊。。。。。。-_-||
答:現在不需要你記住所有,混個眼熟即可,在學習的過程中,你會逐步找到感覺並記住他們
對了,差點忘了大事,Java 關鍵字是區分大小寫.所以 void 是關鍵字,但 Void 就不是了~~
2.2 認識Java標識符
問:標識符是神馬?
答:標識符就是用於給 Java 程式中變數、類、方法等命名的符號。
使用標識符時,需要遵守幾條規則:
1. 標識符可以由字母、數字、底線(_)、美元符($)組成,但不能包含 @、%、空格等其它特殊字元,不能以數字開頭。譬如:123name 就是不合法滴
2. 標識符不能是 Java 關鍵字和保留字( Java 預留的關鍵字,以後的升級版本中有可能作為關鍵字),但可以包含關鍵字和保留字。如:不可以使用 void 作為標識符,但是 Myvoid 可以
3. 標識符是嚴格區分大小寫。 所以涅,一定要分清楚 imooc 和 IMooc 是兩個不同的標識符哦!
4. 標識符的命名最好能反映出其作用,做到見名知意。
2.3 變數是什麼
簡單的說,我們可以把變數看作是個盒子,可以將鑰匙、手機、飲料等物品存放在這個盒子中,也可以在需要的時候換成我們想存放的新物品。
在 Java 中,我們通過三個元素描述變數:變數類型、變數名以及變數值。
如果我們把變數比作是酒店的房間,要儲存的資料就好比要住宿的客人,我們可以根據客人的要求安排其入住“標準間”或者是“總統套房”,並且可以根據房間名字快速尋找到入住客人的資訊。同理,在 Java 程式中,我們也可以根據所需要儲存的資料的格式,將其儲存在指定類型的變數空間中,並且通過變數名快速定位!
例如,我們定義了一個變數 love ,用來儲存一個字串 “imooc” , 在程式中只要找到了 love 這個變數,就能找到儲存在裡面的 ”imooc”!當然,我們也可以把 love 裡面的值更換成新的字串 “i love imooc” !
運行結果:
各位小夥伴們一定要注意哦: Java 中的標點符號是英文的。譬如語句結束的分號,是英文符號的分號,千萬表寫成中文滴哦~~
2.4 如何命名Java變數
如同酒店會給每個房間起個人化的名字一樣,程式中的變數也需要用合理的名字進行管理---變數名!
需要注意,給酒店房間起名字時可以是數字,如“802”,也可以是有趣的名字,如“牡丹”、“美國總統”、“水簾洞”等,但在給變數起名字時,必須符合一定的規則,如下所示:
以下變數的命名都是符合規範的:
但請看下面的代碼,你懂得哈:
優秀攻城師的習慣:
1、變數名由多單片語成時,第一個單詞的首字母小寫,其後單詞的首字母大寫,俗稱駱駝式命名法(也稱駝峰命名法),如 myAge
2、變數命名時,盡量簡短且能清楚的表達變數的作用,做到見名知意。如:定義變數名 stuName 儲存“學生姓名”資訊
PS: Java 變數名的長度沒有限制,但 Java 語言是區分大小寫,所以 price 和 Price 是兩個完全不同的變數哦!
2.5 Java中的資料類型
通常情況下,為了方便物品的儲存,我們會規定每個盒子可以存放的物品種類,就好比在“放臭襪子的盒子”裡我們是不會放“麵包”的!同理,變數的儲存也講究“分門別類”!
Java 語言是一種強型別語言。通俗點說就是,在 Java 中儲存的資料都是有類型的,而且必須在編譯時間就確定其類型。 Java 中有兩類資料類型:
在 Java 的領域裡,基礎資料型別 (Elementary Data Type)變數存的是資料本身,而參考型別變數存的是儲存資料的空間地址。說白了,基礎資料型別 (Elementary Data Type)變數裡儲存的是直接放在抽屜裡的東西,而引用資料類型變數裡儲存的是這個抽屜的鑰匙,鑰匙和抽屜一一對應。
常用的基礎資料型別 (Elementary Data Type)有:
2.6 Java中變數的使用規則
不得不接受的變數小脾氣:
1、Java 中的變數需要先聲明後使用
2、變數使用時,可以聲明變數的同時進行初始化
,
也可以先聲明後賦值
3、變數中每次只能賦一個值,但可以修改多次
4、main 方法中定義的變數必須先賦值,然後才能輸出
5、雖然文法中沒有提示錯誤,但在實際開發中,變數名不建議使用中文,容易產生安全隱患,譬如後期跨平台操作時出現亂碼等等
2.7 Java中的自動類型轉換
在 Java 程式中,不同的基礎資料型別 (Elementary Data Type)的資料之間經常需要進行相互轉換。例如:
,
代碼中 int 型變數 score1 可以直接為 double 型變數 score2 完成賦值操作,運行結果為: 82.0
這種轉換稱為自動類型轉換。
當然自動類型轉換是需要滿足特定的條件的:
1. 目標類型能與源類型相容,如 double 型相容 int 型,但是 char 型不能相容 int 型
2. 目標類型大於源類型,如 double 類型長度為 8 位元組, int 類型為 4 位元組,因此 double 類型的變數裡直接可以存放 int 類型的資料,但反過來就不可以了
2.8 Java中的強制類型轉換
相信小夥伴們也發現了,儘管自動類型轉換是很方便的,但並不能滿足所有的編程需要。
例如,當程式中需要將 double 型變數的值賦給一個 int 型變數,該如何?呢?
顯然,這種轉換是不會自動進行的!因為 int 型的儲存範圍比 double 型的小。此時就需要通過強制類型轉換來實現了。
文法:( 資料類型 ) 數值
運行結果:
可以看到,通過強制類型轉換將 75.8 賦值給 int 型變數後,結果為 75,數值上並未進行四捨五入,而是直接將小數位截斷。
明白了吧,強制類型轉換可能會造成資料的丟失
2.9 Java常量的應用
所謂常量,我們可以理解為是一種特殊的變數,它的值被設定後,在程式運行過程中不允許改變。
文法:final 常量名 = 值;
程式中使用常量可以提高代碼的可維護性。例如,在項目開發時,我們需要指定使用者的性別,此時可以定義一個常量 SEX,賦值為 "男",在需要指定使用者性別的地方直接調用此常量即可,避免了由於使用者的不規範賦值導致程式出錯的情況。
夥計們注意啦:常量名一般使用大寫字元
2.10 如何在Java中使用注釋
在編寫程式時,經常需要添加一些注釋,用以描述某段代碼的作用。
一般來說,對於一份規範的程式原始碼而言,注釋應該佔到原始碼的 1/3 以上。因此,注釋是程式原始碼的重要組成部分,一定要加以重視哦!
Java 中注釋有三種類型:單行注釋、多行注釋、文檔注釋
運行結果: Hello Imooc!
我們可以通過 javadoc 命令從文檔注釋中提取內容,產生程式的 API 協助文檔。
開啟首頁,查看下產生的 API 文檔
PS:使用文檔注釋時還可以使用 javadoc 標記,產生更詳細的文檔資訊:
@author 標明開發該類別模組的作者
@version 標明該類別模組的版本
@see 參考轉向,也就是相關主題
@param 對方法中某參數的說明
@return 對方法傳回值的說明
@exception 對方法可能拋出的異常進行說明
4/23
呃,這些都查得到的暫時不想寫了。。。
直接就是幹,這邊就是做筆記用好了。
1、使用 Arrays 類操作 Java 中的數組
//匯入Arrays類import java.util.Arrays;public class HelloWorld { public static void main(String[] args) { // 定義一個字串數組 String[] hobbys = { "sports", "game", "movie" }; // 使用Arrays類的sort()方法對數組進行排序 Arrays.sort(hobbys); // 使用Arrays類的toString()方法將數群組轉換為字串並輸出 System.out.println( Arrays.toString(hobbys) ); }}
tm注意了,是Arrays不是Array
2、foreach相關
foreach 並不是 Java 中的關鍵字,是 for 語句的特殊簡化版本,在遍曆數組、集合時, foreach 更簡單便捷。
import java.util.Arrays;public class HelloWorld { public static void main(String[] args) { // 定義一個整型數組,儲存成績資訊 int[] scores = { 89, 72, 64, 58, 93 }; // 對Arrays類對數組進行排序 Arrays.sort(scores); // 使用foreach遍曆輸出數組中的元素 for ( int score : scores ) { System.out.println(score); } }}
3、二維數組用法執行個體
public class HelloWorld { public static void main(String[] args) { // 定義兩行三列的二維數組並賦值 String[][] names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}}; // 通過二重迴圈輸出二維數組中元素的值 for (int i = 0; i < names.length ; i++) { for (int j = 0; j < names[i].length; j++) { System.out.println( names[i][j] ); } System.out.println(); } }}
注意:定義,names.length,names[i].length
4、Java 中方法的重載
問: 什麼是方法的重載呢?
答: 如果同一個類中包含了兩個或兩個以上方法名相同、方法參數的個數、順序或類型不同的方法,則稱為方法的重載,也可稱該方法被重載了。如下所示 4 個方法名稱都為 show ,但方法的參數有所不同,因此都屬於方法的重載:
問: 如何區分調用的是哪個重載方法呢?
答: 當調用被重載的方法時, Java 會根據參數的個數和類型來判斷應該調用哪個重載方法,參數完全符合的方法將被執行。如:
運行結果:
判斷方法重載的依據:
1、 必須是在同一個類中
2、 方法名相同
3、 方法參數的個數、順序或類型不同
4、 與方法的修飾符或傳回值沒有關係