1. 程式人生 > 實用技巧 >隨筆->LearnJava->start

隨筆->LearnJava->start

00

  • 相關術語
    • JDK(Java Development Kit ):編寫Java程式的程式設計師使用的軟體
    • JRE(Java Runtime Environment):執行Java程式的使用者使用的軟體
    • Server JRE (Java SE Runtime Environment):服務端使用的 Java 執行環境
    • SDK(Software Development Kit):軟體開發工具包,在Java中用於描述1998年~2006年之間的JDK
    • DAO(Data Access Object):資料訪問介面,資料訪問,顧名思義就是與資料庫打交道
    • MVC(Model View Controller):模型(model)-檢視(view)-控制器(controller)的縮寫,一種軟體設計典範,用於組織程式碼用一種業務邏輯和資料顯示分離的方法
  • 面向物件主要特徵
    • 封裝性(encapsulation):封裝的目的在於把物件的設計者和物件的使用者分開,使用者不必知曉其行為實現的細節,只須用設計者提供的訊息來訪問該物件。
    • 繼承性:它由類的派生功能體現。
    • 多型性:物件根據所接收的訊息而做出動作。同一訊息被不同的物件接受時可產生完全不同的行動,這種現象稱為多型性。。例如:同樣是 run 方法,飛鳥呼叫時是飛,野獸呼叫時是奔跑。多型性的實現受到繼承性的支援,利用類繼承的層次關係,把具有通用功能的協議存放在類層次中儘可能高的地方,而將實現這一功能的不同方法置於較低層次,這樣,在這些低層次上生成的物件就能給通用訊息以不同的響應。在 OOPL 中可通過在派生類中重定義基類函式(定義為過載函式或虛擬函式)來實現多型性。
  • Java 源程式與編譯型執行區別
  • 命令列build & run
javac Hello.java
java Hello 

基礎語法

  • 命名規範
    • project 名:全部小寫。
    • package 名:所有字母小寫。
    • class 名:那麼每個單詞的首字母應該大寫,例如MyFirstJavaClass
    • 變數/方法名:第一個單詞小寫,從第二個單詞開始首字母大寫。
    • 常量名:所有字母大寫,每個單詞之間用_連線。
    • 原始檔名:必須和類名相同。
    • 主方法入口:由 public static void main(String[] args) 方法開始執行。
    • $相當於C中的字母/下劃線
  • 修飾符
    • 訪問控制修飾符 : default, public , protected, private
    • 非訪問控制修飾符 : final, abstract, static, synchronized
  • 轉義字元
"\b" (退格)
"\f" (換頁)
"\n" (換行)
"\r" (回車)
"\t" (水平製表符(到下一個tab位置))
"\' " (單引號)
"\" " (雙引號) 
"\\" (反斜槓)
  • 新資料型別
    • byte:
      • 佔一個位元組
      • 取值範圍為1000 00000111 1111。即為-128127 。當我們使用byte b = 128 時,肯定會報錯。但是使用byte b = 127+1,並不會報錯,而且運算的結果為-128。

物件和類

  • 建立物件
    • 宣告:宣告一個物件,包括物件名稱物件型別
    • 例項化:使用關鍵字new來建立一個物件。
    • 初始化:使用new建立物件時,會呼叫構造方法初始化物件。
public class Puppy{
   public Puppy(String name){
      //這個構造器僅有一個引數:name
      System.out.println("小狗的名字是 : " + name ); 
   }
   public static void main(String[] args){
      // 下面的語句將建立一個Puppy物件
      Puppy myPuppy = new Puppy( "tommy" );
   }
}
  • 訪問例項變數和方法
/* 例項化物件 */
Object referenceVariable = new Constructor();
/* 訪問類中的變數 */
referenceVariable.variableName;
/* 訪問類中的方法 */
referenceVariable.methodName();
public class Puppy{
   int puppyAge;
   public Puppy(String name){
      // 這個構造器僅有一個引數:name
      System.out.println("小狗的名字是 : " + name ); 
   }
 
   public void setAge( int age ){
       puppyAge = age;
   }
 
   public int getAge( ){
       System.out.println("小狗的年齡為 : " + puppyAge ); 
       return puppyAge;
   }
 
   public static void main(String[] args){
      /* 建立物件 */
      Puppy myPuppy = new Puppy( "tommy" );
      /* 通過方法來設定age */
      myPuppy.setAge( 2 );
      /* 呼叫另一個方法獲取age */
      myPuppy.getAge( );
      /*你也可以像下面這樣訪問成員變數 */
      System.out.println("變數值 : " + myPuppy.puppyAge ); 
   }
}

列舉

//列舉限制變數只能是預先設定好的值。使用列舉可以減少程式碼中的 bug。
//例如,我們為果汁店設計一個程式,它將限制果汁為小杯、中杯、大杯。
//這就意味著它不允許顧客點除了這三種尺寸外的果汁。
class FreshJuice {
   enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }
   FreshJuiceSize size;
}
 
public class FreshJuiceTest {
   public static void main(String[] args){
      FreshJuice juice = new FreshJuice();
      juice.size = FreshJuice.FreshJuiceSize.MEDIUM  ;
   }
}

https://www.runoob.com/java/java-object-classes.html