B站Java小白入門實踐【從項目入手跨越零基礎】動力節(jié)點老杜筆記

零基礎小白應該從這里開始

第一章 Java開發(fā)環(huán)境搭建

1. 項目演示

  • 什么是PDT4J教學法

    • 專門為Java語言準備的項目驅動式教學。
  • 項目名:酒店管理系統(tǒng)

  • 誰用這個系統(tǒng):酒店前臺

  • 這個系統(tǒng)包含哪些功能:

    • 登錄系統(tǒng)
    • 查看房間列表(查看所有房間狀態(tài))
    • 預訂房間
    • 退房
    • 退出系統(tǒng)

2. Java是什么以及Java的跨平臺

  • 什么是語言
  • 什么是計算機語言
    • 計算機語言也是一套標準,某個組織或者某個團隊開發(fā)的,制定的。
    • 計算機語言可以讓我們人機交互。
    • 計算機語言也有很多種類:
      • C語言(面向過程的)
      • C++(半面向對象)
      • Java(完全面向對象闻牡,Java底層是C++語言寫的。)
      • ....
  • Java是什么
    • Java是一門計算機編程語言绳矩,完全面向對象的罩润,開源免費的。
    • Java之父:James Gosling(Sun公司的)
    • Java語言誕生于1995年翼馆。
    • Java語言的logo:一杯冒著熱氣的咖啡割以。
  • Java能做什么
    • 企業(yè)級管理系統(tǒng)
    • 互聯網分布式系統(tǒng)
    • 安卓手機軟件金度、游戲
    • 微型設備的內核程序
  • Java特性之跨平臺
    • 什么是跨平臺?Java程序只需要編寫一次严沥,可以運行在不同的操作系統(tǒng)當中猜极。
    • 操作系統(tǒng):windows操作系統(tǒng)、蘋果本的操作系統(tǒng)MacOS消玄、Linux操作系統(tǒng)....
    • 在不同的操作系統(tǒng)中安裝不同版本的JVM跟伏,JVM是Java虛擬機,Java虛擬機屏蔽了各個操作系統(tǒng)之間的差異翩瓜。

3. Java開發(fā)環(huán)境搭建

  • JDK的安裝
    • 關于JDK受扳、JRE、JVM相關術語
      • JDK(Java Development Kit)是 Java 語言的軟件開發(fā)工具包兔跌,是整個java開發(fā)的核心勘高,它包含了JAVA的運行環(huán)境和Java系統(tǒng)類庫。
      • JRE(Java Runtime Environment)Java運行環(huán)境是一個軟件坟桅,JRE可以讓計算機系統(tǒng)運行Java應用程序华望。JDK安裝之后會自帶一個JRE。
      • JVM(Java Virtual Machine)JRE的內部有一個Java虛擬機以及一些標準類庫(Class Library)桦卒。
    • JDK立美、JRE、JVM三者關系方灾?
      • JDK安裝之后會自帶JRE,JRE有了之后碌更,JRE內部有JVM和標準類庫裕偿。
      • JDK包含JRE,JRE包含JVM痛单。
    • JDK的下載
      • http://www.oracle.com
      • 不同的操作系統(tǒng)需要安裝不同版本的JDK嘿棘。有windows版本的,linux版本的旭绒,MacOS版本的鸟妙。我們這里使用windows版。
      • 這里學習的Java版本是:Java16.(2021年3月份的時候發(fā)布的挥吵。)
    • JDK的安裝
      • JDK的根目錄下有一個bin目錄重父,bin目錄有很多命令文件,例如javac.exe忽匈,java.exe房午,其中javac是負責編譯Java程序的,其中java是負責運行java程序的丹允。
      • 目前我們沒有使用集成開發(fā)環(huán)境郭厌,對于編譯和運行java程序袋倔,我們是需要windows的dos命令窗口的。怎么打開windows的dos命令窗口呢折柠?
        • win + R宾娜,輸入cmd回車即可。
  • 環(huán)境變量的配置
    • path
      • path環(huán)境變量不屬于Java扇售,和Java是沒有關系的碳默,path環(huán)境變量隸屬于windows操作系統(tǒng)。path環(huán)境變量是給windows操作系統(tǒng)指路的缘眶。例如你輸入一個ipconfig命令嘱根,這個時候windows操作系統(tǒng)會從path環(huán)境變量的所有路徑中搜索,直到搜索到為止巷懈,找到后執(zhí)行该抒,如果沒有找到則報錯。
      • path環(huán)境變量配置的時候顶燕,path的值是多個路徑凑保,路徑和路徑之間采用英文半角分號隔開。
      • javac -version 可以查看編譯器的版本號涌攻。
      • java -version 可以查看JVM的版本號欧引。

4. Java第一個程序的實現

  • Java的加載與執(zhí)行原理
    • Java程序從開發(fā)到運行,包括兩個階段恳谎,一個是編譯期芝此,一個是運行期。
    • JVM的存在屏蔽了操作系統(tǒng)之間的差異因痛,這樣可以保證Java程序只需要編寫一次婚苹,然后可以運行在不同的操作系統(tǒng)上。所以編譯期可以在windows上完成鸵膏,運行期完全可以放到Linux環(huán)境當中運行膊升。
    • java源代碼的編寫需要在Xxxx.java文件中進行(所以,開發(fā)第一步是新建Xxxx.java源文件)
      • 在java源文件中編寫java源代碼谭企,程序員的日常開發(fā)廓译,日常寫代碼就是在這個文件中完成的。
    • java源文件是無法直接運行的债查,需要經過一個編譯的過程非区。java源文件經過javac命令進行編譯之后,會生成class文件攀操,而class文件被稱為字節(jié)碼文件院仿。最終Java虛擬機執(zhí)行的是class程序。
    • 一個java源文件可以生成1~多個class文件。
    • 實際上生成了class文件之后歹垫,java源文件就可以刪除了剥汤,因為最終執(zhí)行的是class文件。但是最好不要刪除排惨,因為可能運行結果不是你想要的吭敢,這個時候還需要回去再重新修改java源代碼,重新編譯生成新的class文件暮芭,重新運行鹿驼。
    • javac命令是負責編譯的,編譯期最主要是編譯器檢查java源代碼是否符合java的語法規(guī)則辕宏,如果符合java語法規(guī)則畜晰,編譯通過了,才會生成class字節(jié)碼文件瑞筐。
    • 術語:類名凄鼻。假設生成的class文件名叫做A.class,那么我們稱A為A類聚假。叫做B.class块蚌,那么我們稱B為B類。
    • 注意:生成的class文件不是二進制碼膘格。也就是說字節(jié)碼不是二進制碼峭范,如果是二進制碼的話,操作系統(tǒng)是可以直接執(zhí)行的瘪贱。
    • 類加載器ClassLoader去硬盤上找Xxxx.class文件纱控,找到之后,直接將Xxxx裝載到JVM當中政敢。
    • java F其徙,這樣的話類加載器就會去硬盤上找F.class文件。java D喷户,這樣的話類加載器就會去硬盤上找D.class文件。
  • 文本編輯器Sublime的安裝
    • 一個比記事本功能強大一點的文本編輯器访锻。
  • 編寫第一個Java程序
    • 第一個Java程序的目的是為了測試電腦上的java環(huán)境好用不好用褪尝。所以必須要關心第一個java程序是什么意思,照抄就行期犬。大小寫嚴格照抄河哑。
    • 新建一個文件:HelloWorld.java。
    • 使用Sublime文本編輯器打開HelloWorld.java文件龟虎,并且編寫java源代碼璃谨。
  • 編譯
    • javac命令可以編譯java源程序。
    • javac命令怎么用:
      • javac java文件的路徑
      • javac E:\Java零基礎入門到項目實戰(zhàn)\源碼\HelloWorld.java 【這個路徑是絕對路徑】
      • javac HelloWorld.java 【這個路徑是相對路徑,需要當前路徑下存在HelloWorld.java文件才可以使用這種方式佳吞」俺】
  • 運行
    • java 命令可以運行java程序。
    • java命令怎么用底扳?
      • java 類名 (注意:不是java A.class铸抑,不是java B.class,是java A 衷模,java B)
      • java后面不是文件的路徑鹊汛,java后面跟的是類名。(你記住就行阱冶。)
      • 運行java程序的第一步:必須先讓DOS命令窗口切換到class文件所在的目錄下才行刁憋。

5. 打印酒店管理系統(tǒng)的主頁面

  • 解釋HelloWorld程序
  • 單行注釋
  • 怎么輸出中文
  • 輸出"120"和120有什么區(qū)別。
  • 打印酒店管理系統(tǒng)歡迎頁面
  • 解決 \ 帶來的問題木蹬。

6. 關于課件與服務群的說明

第二章 Java基礎語法

1. 標識符與關鍵字

  • 標識符

    • 什么是標識符
      • 凡是在java源代碼當中至耻,程序員有權利去命名的單詞,都是標識符届囚。
    • 標識符可以標識什么
      • 類名
      • 方法名
      • 變量名
      • 常量名
      • 接口名....
    • 標識符命名規(guī)則(不符合命名規(guī)則的單詞有梆,編譯器是會報錯的。規(guī)則就是一種語法要求意系。)
      • 標識符只能由數字泥耀、字母、下劃線蛔添、美元符號$組成痰催,不能含有其它符號。
        • 字母包括:英文字母迎瞧、中文夸溶、日文等等...
      • 標識符不能以數字開頭。
      • 關鍵字不能做標識符凶硅。
      • 標識符嚴格區(qū)分大小寫:A和a是不一樣的缝裁。HelloWorld和helloworld是不一樣的。
      • 標識符理論上沒有長度的限制足绅,但最好不要太長捷绑。
    • 標識符命名規(guī)范(規(guī)范:行業(yè)的默認的編寫規(guī)范。大家都這么寫氢妈,你最好也遵從這個規(guī)范粹污。)
      • 當你的程序不符合規(guī)范的時候,編譯沒問題首量,但是對于別人來說壮吩,可能可讀性比較差进苍。符合命名規(guī)范的程序,可讀性比較強鸭叙。大家一看就明白觉啊。
      • 命名規(guī)范包括哪些呢?
        • 類名递雀、接口名:首字母大寫柄延,后面每個單詞的首字母大寫。例如:HelloWorld缀程、StudentService搜吧、OrderService
        • 方法名、變量名:首字母小寫杨凑,后面每個單詞的首字母大寫滤奈。例如:getName、userAge
        • 常量名:全部大寫撩满,單詞和單詞之間采用下劃線銜接蜒程,例如:LOGIN_SUCCESS、MATH_PAI
        • 見名知意:一看到這個名字就知道這個程序是干啥的伺帘。
        • 遵循駝峰命名方式昭躺,單詞和單詞之間很好的區(qū)別。
    • 要求很快判斷出標識符是否合法
      • public1(合法)
      • 1public(不合法:不能以數字開頭)
      • hello world (不合法:不能有空格)
      • $abc (合法)
      • _abc (合法)
      • class (不合法:關鍵字不能做標識符)
      • 中文 (合法)
      • ab% (不合法:標識符中不能含有%伪嫁。)
    • 注意:在sublime工具中领炫,默認以綠色高亮顯示的,都是標識符张咳。
  • 關鍵字

    • 什么是關鍵字

      • java語言中所有的關鍵字都是全部小寫的帝洪。無一例外。
      • 開發(fā)java語言的時候脚猾,提前定義好的一些具有特殊含義的單詞葱峡,就是關鍵字。
      • 關鍵字是不能拿來做標識符的龙助。關鍵字相當于語言自身已經將該單詞占有了砰奕,我們程序員不能用。當然也不能隨便寫提鸟。
      • public static void class幢痘,這些都是關鍵字宣赔。
    • 關鍵字有哪些

      關鍵字 含義
      abstract 表明類或者成員方法具有抽象屬性
      assert 斷言,用來進行程序調試
      boolean 基本數據類型之一答姥,聲明布爾類型的關鍵字
      break 提前跳出一個塊
      byte 基本數據類型之一漓糙,字節(jié)類型
      case 用在switch語句之中铣缠,表示其中的一個分支
      catch 用在異常處理中,用來捕捉異常
      char 基本數據類型之一,字符類型
      class 聲明一個類
      const 保留關鍵字蝗蛙,沒有具體含義
      continue 回到一個塊的開始處
      default 默認蝇庭,例如,用在switch語句中捡硅,表明一個默認的分支哮内。Java8 中也作用于聲明接口函數的默認實現
      do 用在do-while循環(huán)結構中
      double 基本數據類型之一,雙精度浮點數類型
      else 用在條件語句中壮韭,表明當條件不成立時的分支
      enum 枚舉
      extends 表明一個類型是另一個類型的子類型北发。對于類,可以是另一個類或者抽象類喷屋;對于接口琳拨,可以是另一個接口
      final 用來說明最終屬性,表明一個類不能派生出子類屯曹,或者成員方法不能被覆蓋狱庇,或者成員域的值不能被改變,用來定義常量
      finally 用于處理異常情況恶耽,用來聲明一個基本肯定會被執(zhí)行到的語句塊
      float 基本數據類型之一密任,單精度浮點數類型
      for 一種循環(huán)結構的引導詞
      goto 保留關鍵字,沒有具體含義
      if 條件語句的引導詞
      implements 表明一個類實現了給定的接口
      import 表明要訪問指定的類或包
      instanceof 用來測試一個對象是否是指定類型的實例對象
      int 基本數據類型之一偷俭,整數類型
      interface 接口
      long 基本數據類型之一浪讳,長整數類型
      native 用來聲明一個方法是由與計算機相關的語言(如C/C++/FORTRAN語言)實現的
      new 用來創(chuàng)建新實例對象
      package
      private 一種訪問控制方式:私用模式
      protected 一種訪問控制方式:保護模式
      public 一種訪問控制方式:共用模式
      return 從成員方法中返回數據
      short 基本數據類型之一,短整數類型
      static 表明具有靜態(tài)屬性
      strictfp 用來聲明FP_strict(單精度或雙精度浮點數)表達式遵循IEEE 754算術規(guī)范
      super 表明當前對象的父類型的引用或者父類型的構造方法
      switch 分支語句結構的引導詞
      synchronized 表明一段代碼需要同步執(zhí)行
      this 指向當前實例對象的引用
      throw 拋出一個異常
      throws 聲明在當前定義的成員方法中所有需要拋出的異常
      transient 聲明不用序列化的成員域
      try 嘗試一個可能拋出異常的程序塊
      void 聲明當前成員方法沒有返回值
      volatile 表明兩個或者多個變量必須同步地發(fā)生變化
      while 用在循環(huán)結構中

2. 變量的聲明與賦值

  • 字面量
    • 什么是字面量
      • 數據,程序運行過程中社搅,要處理業(yè)務驻债,實際上就是要處理數據。數據就是字面量形葬。
    • java中都有哪些字面量(有哪些數據合呐?)
      • 整數型數據:1 2 3 4 -100 0 120 911
      • 浮點型數據:1.2 3.14
      • 布爾型數據:true false。true代表真笙以,false代表假淌实。
      • 字符型數據:'a' '中' '國'。 java中所有的字符型字面量必須使用單引號括起來猖腕。并且字符型字面量的字符數量有且只有一個拆祈。'abc'這就是語法錯誤了。
      • 字符串型數據:"abc" "你好" "我好" "大家好" "中" "a" 倘感。java中所有的字符串型字面量必須使用雙引號括起來放坏。只要是雙引號括起來的,不管字符數量是多少個老玛,都屬于字符串型字面量淤年。
  • 變量
    • 什么是變量
      • 變量就是內存當中的一塊空間钧敞。變量是計算機存儲數據的最基本的單元。
    • 怎么聲明變量
      • java中的每一個變量都有三要素:
        • 數據類型(決定內存空間分配多大麸粮。)
        • 變量名(通過變量名可以重復訪問該內存空間)
        • 值(數據/字面量:真正存儲的數據)
      • 語法格式:
        • 數據類型 變量名;
    • 怎么給變量賦值
      • 重要語法:java中任何一個變量必須先聲明溉苛,再賦值,才能訪問弄诲。沒有賦值就代表沒有進行初始化愚战。
      • 怎么賦值,語法格式是什么齐遵?
        • 變量名 = 值; (值就是字面量寂玲。)
        • 要求:“值”的數據類型必須和變量的數據類型一致。
        • 賦值原理:等號右邊先執(zhí)行洛搀,將右邊的執(zhí)行結果通過等號賦值給變量敢茁。
      • 聲明和賦值可以在一起完成。
        • int i = 11;
      • 變量名不能重名留美。(在同一個域當中彰檬,在java中,可以將一個大括號看做一個域谎砾。)
    • 一行上可以聲明多個變量
      • int a, b, c;
      • int a, b, c = 110; 表示a和b沒有賦值逢倍,c賦值110
    • 變量的分類
      • 在方法體當中聲明的變量叫做局部變量,局部變量只在當前方法體當中有效景图。也就是說较雕,局部變量是在方法開始執(zhí)行的時候分配內存空間,方法執(zhí)行結束之后挚币,該局部變量的內存就釋放了亮蒋。
      • 在方法體之外聲明的變量叫做成員變量。成員變量又分為兩種:
        • 帶static關鍵字的:靜態(tài)變量
        • 不帶static關鍵字的:實例變量
    • 變量的作用域
      • 什么是作用域妆毕?
        • 變量的有效范圍慎玖。
      • 其實,大家只要記住一句話就行:出了大括號就不認識了笛粘。一個大括號就是一個域趁怔。

3. 數據類型之int、String薪前、boolean

  • 什么是數據類型润努,有什么用?
    • 變量有三要素: 數據類型示括、變量名铺浇、值。
    • 在java程序當中垛膝,任何一個數據都是有類型的随抠,不同的數據類型裁着,在程序執(zhí)行的時候,會分配不同的大小的內存空間拱她。所以數據類型是告訴JVM的,告訴JVM這個變量分配多大的空間扔罪,那個變量分配多大的空間秉沼。
  • 這里只描述三個常見的數據類型:
    • int (整數型):代表現實世界中的整數。
    • String (字符串類型):代表現實世界中的文字矿酵,字符串唬复。
    • boolean (布爾類型):代表現實世界中的真和假。

4. 接收用戶鍵盤輸入

  • System.out.println("Hello World!");
  • 接收用戶鍵盤輸入:
    • 程序執(zhí)行到某個位置之后全肮,停下來等待用戶的輸入敞咧,用戶輸入信息之后,java程序可以捕捉到用戶輸入的數據/信息辜腺。
    • 這一段代碼實際上是需要面向對象的知識才能聽懂休建。但是為了后面的內容有意思,所以這里我們提前把代碼寫一下评疗,你是聽不懂的测砂,聽不懂沒關系,你可以復制粘貼這一段代碼百匆,能夠完成用戶鍵盤輸入即可砌些。(知識屏蔽法。)
  • 主要代碼:
    • java.util.Scanner s = new java.util.Scanner(System.in);
    • String msg = s.next();
    • int val = s.nextInt();

5. Java的常用運算符

  • 算術運算符
  • 關系運算符
  • 邏輯運算符
  • 賦值運算符
  • 字符串連接運算符
  • 條件運算符

6. 控制語句之if

  • 控制語句分為三大類
    • 分支語句
      • if語句
      • switch語句
    • 循環(huán)語句
      • for循環(huán)
      • while循環(huán)
      • do...while..循環(huán)
    • 轉向語句
      • break語句
      • continue語句
      • return語句
  • if語句
    • if被翻譯為如果
    • if語句有哪些語法格式加匈?

7. 實現酒店管理系統(tǒng)的用戶登錄

8. 控制語句之for

9. 實現酒店管理系統(tǒng)的房間列表展示

10. 控制語句之while

11. 實現酒店管理系統(tǒng)前臺交互功能

12. 什么是方法存璃,有什么用?

  • 方法是一段可以被重復使用的代碼片段雕拼。并且每一個方法都可以完成一個獨立的功能纵东。

13. 方法的聲明與調用

  • 一個方法應該怎么定義?語法是什么悲没?
  • 一個方法應該如何調用篮迎?語法是什么?

14. 方法執(zhí)行時的內存變化

  • 棧數據結構
  • 方法執(zhí)行時的內存變化

15. 一維數組的初始化與訪問

public class ArrayTest01{
    public static void main(String[] args){
        int[] arr = {1,2,3,4,4,5};
        // 數組長度
        System.out.println(arr.length);
        // 讀取第一個元素
        System.out.println(arr[0]);
        // 修改第一個元素
        arr[0] = 100;
        // 讀取最后一個元素
        System.out.println(arr[arr.length - 1]);
        // 遍歷一維數組
        for(int i = 0; i < arr.length; i++){
            System.out.println(arr[i]);
        }
    }
}

16. 二維數組的初始化與訪問

public class ArrayTest02{
    public static void main(String[] args){
        int[][] arr = {{4,4,543,4,3453},{543,5643,7654},{3421,4321,5432,55465}};
        // 二維數組中有幾個一維數組
        System.out.println(arr.length);
        // 訪問第一個一維數組的第一個元素
        System.out.println(arr[0][0]);
        // 訪問最后一個一維數組的最后一個元素
        System.out.println(arr[arr.length-1][arr[arr.length-1].length-1]);
        // 修改第一個一維數組的第一個元素
        arr[0][0] = 100;
        // 遍歷二維數組
        for(int i = 0; i < arr.length; i++){
            for(int j = 0; j < arr[i].length; j++){
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

第三章 類和對象

1. 什么是面向對象的開發(fā)

  • Java語言是一門完全面向對象的編程語言示姿。(以面向對象的方式進行代碼實現甜橱,功能實現,業(yè)務實現栈戳。)

  • 這里的“對象”是什么岂傲?是相親對象嗎?不是的子檀。這里的“對象”其實指的是現實世界當中實際存在的個體/事物镊掖。

  • 假設讓你編寫一段代碼來模擬這樣的一個場景:一個人抽煙的場景乃戈。(你在抽煙的這個場景當中都可以發(fā)現哪些事物呢?)

    • 打火機
    • 香煙
    • 一個會抽煙的人
    • 一個能夠抽煙的場所

    以上的四個事物都是我們所說的“對象”亩进。

  • 什么是面向對象開發(fā)呢症虑?

    • 面向對象的開發(fā)方式實際上強調的是:將現實世界分割成不同的單元,每個單元是一個對象归薛,然后對象與對象之間協(xié)作起來谍憔,形成一個系統(tǒng)。
    • java程序員實現的是軟件主籍,軟件處理的是現實世界中的業(yè)務习贫,所以現實世界中有什么,程序中就應該一一對應千元,例如現實世界中有銀行卡苫昌,那么程序中也應該有一個銀行卡對象。現實世界中有ATM機幸海,那么程序中也應該有一個ATM機對象∷钌恚現實世界中有一個美女,那么程序中也應該有一個美女對象涕烧。
    • 由于人類是以面向對象的方式去認識這個世界的月而,所以面向對象的開發(fā)方式更受歡迎。更容易實現功能议纯。

2. 類的定義和對象的創(chuàng)建

  • 類是什么父款?

    • 類是一個模板。
    • 類實際上是不存在的瞻凤。
    • 類是現實世界中對象和對象之間具有共同的特征憨攒,然后經過一個總結概括之后形成了一個模板信息,這個模板信息就是類阀参。
  • 對象是什么肝集?

    • 對象(Object),對象是實際存在的個體蛛壳。(對象又被叫做實例杏瞻,英語單詞是:instance)
    • 劉德華、潘長江衙荐、姚明這些都是對象捞挥。
    • 我今天買了一個筆記本電腦,我手里拿著的這個筆記本電腦就是一個對象忧吟。你去年也買了一個筆記本電腦砌函,你現在正在使用的這個筆記本電腦也是一個對象。
    • 你們家養(yǎng)了一條金魚,你給它起名小花讹俊,這條金魚小花垦沉,就是一個實際存在的對象。我家也養(yǎng)了一條黑色的魚仍劈,我給它起名叫小黑厕倍,這個小黑就是實際存在的對象。
  • 在java開發(fā)中耳奕,要想有“對象”绑青,必須先有“類”,對象是通過類這個模板造出來的屋群。

  • 一個類可以創(chuàng)建多個對象(一個類可以實例化多個對象)。

  • 通過類創(chuàng)建對象的這個過程坏挠,有一個專業(yè)的術語芍躏,叫做:實例化

  • 類是多個對象的共同特征,這個共同特征包括什么降狠?

    • 金魚小花和金魚小黑它們有哪些共同的特征呢对竣?
      • 名字(name)、顏色(color)榜配、游泳(swiming)
      • 名字否纬、顏色這些靜態(tài)的特征可以叫做:屬性。
      • 游泳蛋褥,這是一個動詞临燃,其實體現的是一種行為特征,在java程序中烙心,對行為特征的描述采用方法來描述膜廊。
    • 類 = 屬性 + 方法 (屬性來源于狀態(tài),方法來源于動作淫茵。)
  • 類的定義爪瓜,語法格式

    class 類名 {
        // 屬性(來源于狀態(tài),描述的是狀態(tài))
        // 方法(來源于動作匙瘪,描述的是動作)
    }
    
    • 類名:合法的標識符就行铆铆,見名知意。(首字母大寫丹喻,后面每個單詞首字母大寫薄货。)
    • 屬性在java程序中以變量的形式存在:int i; boolean sex; String name; (變量三要素:數據類型、變量名驻啤、值菲驴。)
    • 方法

3. 抽象酒店管理系統(tǒng)的房間類

  • 類的抽取:我們觀察酒店管理系統(tǒng)當中主要管理的是酒店當中的房間骑冗,一個一個房間對象都具有共同的特征赊瞬,然后進行抽象先煎,形成了:房間類(Room)。
  • 房間類有哪些屬性呢巧涧?
    • 房間編號:no (int類型)
      • 一層:101薯蝎、102、103谤绳、.....110
      • 二層:201占锯、.......210
      • ...
      • 五層:501、........510
    • 房間類型:type (String)
      • 單人間
      • 標準間
      • 豪華間
    • 房間狀態(tài):state(boolean類型)
      • true表示占用
      • false表示空閑
    • 房間的平米數
    • 房間的單價
    • 房間是否帶窗戶.....

第四章 構造方法

1. 構造方法的定義和使用

  • 構造方法用來創(chuàng)建對象
  • 構造方法執(zhí)行過程中可以給對象的屬性賦值

2. 初始化酒店管理系統(tǒng)所有房間

第五章 實現酒店管理系統(tǒng)功能

1. 實現酒店管理系統(tǒng)房間預訂功能

  • 預訂房間的時候缩筛,一定是前臺向系統(tǒng)當中輸入預訂的房間編號消略。
  • 預訂房間之后,這個房間的狀態(tài)一定是“占用”的

2. 實現酒店管理系統(tǒng)退房功能

  • 退房的時候瞎抛,一定是前臺向系統(tǒng)當中輸入房間編號艺演。
  • 退房之后,這個房間的狀態(tài)一定是“空閑”的

3. 測試酒店管理系統(tǒng)使用并總結

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末桐臊,一起剝皮案震驚了整個濱河市胎撤,隨后出現的幾起案子,更是在濱河造成了極大的恐慌断凶,老刑警劉巖伤提,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異认烁,居然都是意外死亡肿男,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門砚著,熙熙樓的掌柜王于貴愁眉苦臉地迎上來次伶,“玉大人,你說我怎么就攤上這事稽穆」谕酰” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵舌镶,是天一觀的道長柱彻。 經常有香客問我,道長餐胀,這世上最難降的妖魔是什么哟楷? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮否灾,結果婚禮上卖擅,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好惩阶,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布挎狸。 她就那樣靜靜地躺著,像睡著了一般断楷。 火紅的嫁衣襯著肌膚如雪锨匆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天冬筒,我揣著相機與錄音恐锣,去河邊找鬼。 笑死舞痰,一個胖子當著我的面吹牛土榴,可吹牛的內容都是我干的。 我是一名探鬼主播响牛,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鞭衩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了娃善?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瑞佩,失蹤者是張志新(化名)和其女友劉穎聚磺,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體炬丸,經...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡瘫寝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了稠炬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焕阿。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖首启,靈堂內的尸體忽然破棺而出暮屡,到底是詐尸還是另有隱情,我是刑警寧澤毅桃,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布褒纲,位于F島的核電站,受9級特大地震影響钥飞,放射性物質發(fā)生泄漏莺掠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一读宙、第九天 我趴在偏房一處隱蔽的房頂上張望彻秆。 院中可真熱鬧,春花似錦、人聲如沸唇兑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幔亥。三九已至耻讽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間帕棉,已是汗流浹背针肥。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留香伴,地道東北人慰枕。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像即纲,于是被迫代替她去往敵國和親具帮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內容