程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 【Java學習系列】第2課--Java語法及面向對象

【Java學習系列】第2課--Java語法及面向對象

編輯:關於JAVA

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

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved