【Java學習系列】第2課--Java語法及面向對象。本站提示廣大學習愛好者:(【Java學習系列】第2課--Java語法及面向對象)文章只能為提供參考,不一定能成為您想要的結果。以下是【Java學習系列】第2課--Java語法及面向對象正文
本文地址
分享提綱:
1. Java順序特點
1.1 根本語法
1.2 字符串
1.3 變量
1.4 Java數組
1.5 Java枚舉
1.6 Java修飾符
2. Java面向對象
2.1 Java類和對象
2.2 類的一些留意點
2.3 Java Number類
2.4 Java Character 類
2.5 Java String 類
3.參考文檔
本文次要引見下Java順序的特點(不同於PHP的中央)和面向對象的一些特點
1. Java順序特點
【示例代碼】
1 public class HelloWorld { 2 /* 第一個Java順序 3 * 它將打印字符串 Hello World 4 */ 5 public static void main(String []args) { 6 System.out.println("Hello World"); // 打印 Hello World 7 } 8 }
執行進程如下(圖像演示):
C : > javac HelloWorld.java C : > java HelloWorld Hello World
1)【根本語法】
a)【大小寫敏感】
Java的類和函數是大小寫敏感的,這一點和PHP不同,PHP的類和函數的大小寫不敏感
b)【源文件名】
--【一個文件只能有一個類】源文件名必需和類名相反。當保管文件的時分,你應該運用類名作為文件名保管(切記Java是大小寫敏感的),文件名的後綴為.java。(假如文件名和類名不相反則會招致編譯錯誤)。
答案能否等的:
-- PHP沒有這樣的要求,由於PHP自身就是解釋型的言語,不需求編譯,也不需求生成編譯文件相似 .class的文件
c)【主辦法入口】
--必需有main辦法(靜態辦法):一切的Java 順序由public static void main(String []args)辦法開端執行。
--【也有例外】
java很多知識的,假如是單純的javaApplication(java使用順序)應該有main()函數作為入口,但是像jsp或許是applet等都是不需求main()函數的
d)【每個變量都要先定義,並制定類型】
-- 這也是與PHP言語的不同點
2)【字符串】
a)【必需用雙引號引著】
b) 【銜接符】java中的字符串的鏈接符號是 "+", 不像PHP中是 ".",由於 "." 在Java中是 類中的變量的鏈接符。
3)【變量】
a)變量必需執行類型,且先定義
b)【品種】
--【概述】
Java有兩大數據類型,內置數據類型 和 援用數據類型
內置數據類型:
Java言語提供了八種根本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。 byte, short, int, long, float, double, boolean, char
援用數據類型:
--在Java中,援用類型的變量十分相似於C/C++的指針。援用類型指向一個對象,指向對象的變量是援用變量。這些變量在聲明時被指定為一個特定的類型,比方Employee、Pubby等。變量一旦聲明後,類型就不能被改動了。 -- 對象、數組都是援用數據類型。 --一切援用類型的默許值都是null。 -- 一個援用變量可以用來援用與任何與之兼容的類型。 -- 例子:Site site = new Site("Runoob")。
c)【常量】
-- 在 Java 中運用 final 關鍵字來修飾常量,聲明方式和變量相似
4)【Java數組】
a)數組是貯存在堆上的對象,可以保管多個同類型變量。
5)【Java枚舉】
a)Java 5.0引入了枚舉,枚舉限制變量只能是事後設定好的值。運用枚舉可以增加代碼中的bug。
b)【語法】
class FreshJuice { enum FreshJuiceSize{ SMALL, MEDUIM, LARGE } FreshJuiceSize size; }
6)【Java修飾符】
-- 訪問修飾符 分類如下
a) 默許的,也稱為 default,在同一包內可見,不運用任何修飾符。 b) 公有的,以 private 修飾符指定,在同一類內可見。 c) 共有的,以 public 修飾符指定,對一切類可見。 d) 受維護的,以 protected 修飾符指定,對同一包內的類和一切子類可見。
-- 非訪問修飾符:
a)【Synchronized 修飾符】: -- Synchronized 關鍵字聲明的辦法同一時間只能被一個線程訪問。Synchronized 修飾符可以使用於四個訪問修飾符。 -- public synchronized void showDetails(){ ....... } b)【Transient 修飾符】: --序列化的對象包括被 transient 修飾的實例變量時,java 虛擬機(JVM)跳過該特定的變量。 --該修飾符包括在定義變量的語句中,用來預處置類和變量的數據類型。 -- 實例 public transient int limit = 55; // 不會耐久化 public int b; // 耐久化 c) 【Volatile修飾符】 --volatile 修飾的成員變量在每次被線程訪問時,都強迫從共享內存中重新讀取該成員變量的值。而且,當成員變量發作變化時,會強迫線程將變化值回寫到共享內存。這樣在任何時辰,兩個不同的線程總是看到某個成員變量的同一個值。 -- 一個 volatile 對象援用能夠是 null。View Code
2. Java面向對象
【代碼示例】
該文件名為 TestJavaClass.java ,對應文件裡獨一的一個 public的類的類名。
完成的功用就是 示例化一個 狗的對象,同時設置狗的年齡並失掉該年齡,然後輸入.
javac TestJavaClass.java
java TestJavaClass
1 //1. 入口測試類 2 public class TestJavaClass 3 {//{{{ 4 public static void main(String []args) 5 {//{{{ 6 //留意點1:實例化要制定類型 TestDog 7 //留意點2:java順序中的字符串必需是 雙引號引著 8 TestDog testDog = new TestDog("Tom"); 9 testDog.run(); 10 }//}}} 11 12 }//}}} 13 14 //2.測試小狗類 15 class TestDog 16 {//{{{ 17 String name; 18 int age; 19 //結構函數 20 public TestDog (String name) 21 {//{{{ 22 System.out.println("這條狗叫 " + name); 23 }//}}} 24 25 //運轉 26 public void run() 27 {//{{{ 28 System.out.println("01 開端運轉\n"); 29 //留意點3:類的外部調動函數,直接寫 setAge(dogAge) 30 setAge(10); 31 int dogAge = getAge(); 32 System.out.println("02 狗的年齡是 " + dogAge); 33 }//}}} 34 35 //獲取 36 public int getAge() 37 {//{{{ 38 return age; 39 }//}}} 40 41 //設置 42 public void setAge(int ageValue) 43 {//{{{ 44 //留意點4:類的外部調動類的成員變量,直接寫 age 45 age = ageValue; 46 }//}}} 47 48 }//}}}View Code
1)【Java的類和對象】
a)【調用函數和變量】
類外部調用函數,直接就是 函數名自身,直接寫 setAge(dogAge),變量也是直接寫 age
b)【類的修飾】
PHP中類的修飾,最多就是 籠統類為 abstract class ,但是在 Java中一個文件中必需有一個 public class,且為該文件的名。
c)【定義類的函數】
-- PHP中罕見的是 public function functionName()
-- 在Java中,則不需求 fuction的闡明,但是要執行前往值類型, public void functionName()
d)【結構辦法】
--PHP中的結構辦法是 public function __construct(){} ,且只能有一個
--Java的結構辦法可以有多個,在創立一個對象的時分,至多要調用一個結構辦法。結構辦法的稱號必需與類同名,一個類可以有多個結構辦法,從而完成不同狀況下走不同的結構辦法。
例如:
public class A{ public A(){ System.out.println("調用了A的無參結構函數"); } public A(String mess){ System.out.println("調用了A的有參的結構函數\n"+ "參數內容為:"+mess); } }
2)【類的一些留意點】
a)【import語句】
-- 【地位】假如源文件包括import語句,那麼應該放在package語句和類定義之間。假如沒有package語句,那麼import語句應該在源文件中最後面。
-- 【作用范圍】import語句和package語句對源文件中定義的一切類都無效。在同一源文件中,不能給不同的類不同的包聲明
3)【Java Number 類】
a)【發生緣由】
在實踐開發進程中,我們常常會遇到需求運用對象,而不是內置數據類型的情形。為理解決這個問題,Java 言語為每一個內置數據類型提供了對應的包裝類
b)【包裝類】
一切的包裝類(Integer、Long、Byte、Double、Float、Short)都是籠統類 Number 的子類。
c)【Number子類辦法】
有 xxxValue(),compareTo() 等
4)【Java Character 類】
a)【單個字符】Character 類用於對單個字符停止操作。
b)【代碼示例】
// 原始字符 'a' 裝箱到 Character 對象 ch 中 Character ch = 'a'; // 原始字符 'x' 用 test 辦法裝箱 // 前往拆箱的值到 'c' char c = test('x');View Code
5)【Java String 類】
a)【創立字符串】
String 類有 11 種結構辦法,這些辦法提供不同的參數來初始化字符串,比方提供一個字符數組參數:
public class StringDemo{ public static void main(String args[]){ char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'}; String helloString = new String(helloArray); System.out.println( helloString ); } }StringDemo.java
b)【不可修正性】
String 類是不可改動的,所以你一旦創立了 String 對象,那它的值就無法改動了。
假如需求對字符串做很多修正,那麼應該選擇運用 StringBuffer & StringBuilder 類。