【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 類。