1. 程式人生 > >08_Java基礎語法_第8天(Eclipse)

08_Java基礎語法_第8天(Eclipse)

不存在 ann 導包 介紹 poi 菜單欄 con 選中 工作

今日內容介紹
1、Eclipse開發工具
2、超市庫存管理系統

01Eclipse的下載安裝

* A: Eclipse的下載安裝       ?
    * a: 下載
        * http://www.eclipse.org
    * b: 安裝
        * 只需要解壓後就能使用
    * c: 卸載
        * 只需要將文件夾刪除就可以了
    * d: 註意 
        * 開發軟件的安裝目錄中,盡量不要出現空格與中文
* B: Eclipse的特點
    * a: 免費
    * b: 純Java語言編寫
    * c: 免安裝
    * d: 擴展性強
    

02Eclipse的工作空間和新建工程

* A: Eclipse的工作空間和新建工程
    * a: 工作空間
        *  其實就是我們寫的源代碼所在的目錄                     
    * b: 創建工程(項目)
        * 右鍵/Package Explore 空白區/new /Java Project/輸入項目名稱如day08/            
    * c: 創建包(後面講包的概念)
        * 打開上面建立的day08項目/右鍵/new/package/在彈出的對話框的name中輸入報名如"com.itheima.tests"/finish
    * d: 創建類
        * 創建一個java類:右擊包名/new/class/在對話框的name中輸入類名/finish
* B: 編譯與執行
    * a: 編譯
        * 自動編譯,當java代碼保存的時候,自動 編譯class文件
    * b: 運行
        * 方式1:點擊菜單工具欄中的 綠色帶有三角形的 run按鈕 運行
        * 方式2:點擊菜單欄中Run, 點擊Run 運行  快捷鍵是 ctrl+F11
        * 方式3:選中要運行的java文件,或者在編寫代碼的空白區域,右鍵選擇 Run As --> 運行java程序

03Eclipse的HelloWorld編寫

* A:HelloWorld編寫
    * a: 編寫過程(參照上個知識點)
        * 建立day08項目
        * 建立包結構(包的概念還沒有學到,不建立包的話,使用默認包結構default)
        * 創建HelloWorld類(自動生成main方法)
    * b: 案例代碼
        public class HelloWorld {
            public static void main(String[] args) {
                System.out.println("Hello World");
            }
        }
        

04Eclipse的字體設置

* A: Eclipse的字體設置
    * a: 修改編譯環境和運行環境
        * 編譯環境:Window -- Preferences – Java - Compiler
        * 運行環境:Window -- Preferences – Java - Installed JREs
        
    * b: 顯示行號與隱藏行號
        * 顯示:在代碼區域的左邊空白區域,右鍵 -- Show Line Numbers
        * 隱藏:將上面的操作再做一遍
        
    * c: 更改字體大小與顏色
        * Java代碼區域的字體大小和顏色:
            * window -- Preferences -- General -- Appearance -- Colors And Fonts --Java修改 -- Java Edit Text Font--edit進行修改
        * 控制臺
            * window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font
        * 其他文件
            * window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font
            

05Eclipse的窗口設置

* A: 窗口設置
    * a: 顯示的窗口亂了,還原默認顯示模式
        * Window – Perspective -- Reset Prespective
    * b: 顯示控制臺
        * Window--Show View—Console     
        

06Eclipse的去掉多余的註釋

* A: Eclipse的去掉多余的註釋
    * a:如何去掉默認註釋
        * Window -- Preferences -- Java -- Code Style -- Code Templates -- 
        * Comments – Methods,點擊Edit ,將註釋部分刪除 (不建議刪除)
        * Window -- Preferences -- Java -- Code Style -- Code Templates --
        *  Code -- Method body,點擊Edit ,將註釋部分刪除
    * b: 切換工作空間
        * File – Switch Workspace – 指定工作空間 – ok
        

07Eclipse的快捷鍵

* A: Eclipse的快捷鍵
    * a: 內容輔助鍵  Alt+/
        * 自動補齊main方法  main 然後 Alt+/
        * 自動補齊輸出語句  syso 然後 Alt+/
    * b: 格式化代碼
        * Ctrl+Shift+f
        * 代碼區域右鍵 -- Source – Format
    * c: 自動導包
        * Ctrl+Shift+o
        * 如果當前類在多個包中都存在,這時候,使用Ctrl+shift+o,進行選擇一個包導入即可。
    * d: 註釋
        * 單行註釋
        ?   * 加註釋: 先選中需要註釋的內容,然後 Ctrl+/
        ?   * 取消註釋:先選中需要取消註釋的內容, 然後 Ctrl+/
    ?   * 多行註釋
        ?   * 加註釋: 先選中需要註釋的內容,然後 Ctrl+Shift+/
        ?   * 取消註釋:先選中需要取消註釋的內容, 然後 Ctrl+Shift+    * e: 補充
        * 代碼上下移動
            * 選中代碼alt+上/下箭頭
        * 查看源碼
            * 選中類名(F3或者Ctrl+鼠標點擊)
        * 查找具體的類 
            * ctrl + shift + t,輸入要查找的類的名稱-->確定
        * 查找具體類的具體方法 
            * ctrl + o
        * 給建議 
            * ctrl+1,根據右邊生成左邊的數據類型,生成方法
        * 刪除代碼 
            * ctrl + d
        * 抽取方法
            * alt + shift + m 
        * 改名
            * alt + shift + r(類名,方法名,變量名)
            

08Eclipse的斷點調試

* A:斷點調試(又稱為Debug調試)的作用
    * 調試程序
    * 查看程序執行流程
* B:如何查看程序執行流程      
    * 什麽是斷點:
        * 就是一個標記,從哪裏開始。
        
    * 如何設置斷點:
        * 你想看哪裏的程序,你就在那個有效程序的左邊雙擊即可。
        
    * 在哪裏設置斷點:
        * 哪裏不會點哪裏。
        * 目前:我們就在每個方法的第一條有效語句上都加。
        
    * 如何運行設置斷點後的程序:
        * 右鍵 -- Debug as -- Java Application
        
    * 看哪些地方:
        * Debug:斷點測試的地方
            * 在這個地方,記住F6,或者點擊也可以。一次看一行的執行過程。
        * Variables:查看程序的變量變化
        * ForDemo:被查看的源文件
        * Console:控制臺
        
    * 如何去斷點:
        * a:再次雙擊即可
        * b:找到Debug視圖,Variables界面,找到Breakpoints,並點擊,然後看到所有的斷點,最後點擊那個雙叉      

09Eclipse的工程刪除和導入

* A:刪除項目
    * 選中項目 – 右鍵 – 刪除
        * 從項目區域中刪除
        * 從硬盤上刪除
* B:導入項目
    * 在項目區域右鍵找到import
    * 找到General,展開,並找到
    * Existing Projects into Workspace
    * 點擊next,然後選擇你要導入的項目
    * 註意:這裏選擇的是項目名稱

10超市管理系統功能介紹

* A:超市管理系統功能介紹
    * a: 顯示主菜單
    
        ============歡迎光臨ItCast超市============
        1: 貨物 清單   2: 添加貨物   3: 刪除貨物   4: 修改貨物  5: 退出
        請您輸入要操作的功能序號
        
    * b: 貨物清單
    
        輸入1:貨物清單
        ================商品庫存清單================
        商品編號         商品名稱                商品單價
        9527            少林寺酥餅核桃            12.7
        9008            尚康雜糧牡丹餅            5.6
        9879            新疆原產哈密瓜             599.6
        
    * c: 添加新貨物
    
        輸入2:添加新貨物   
        
        請輸入新商品的編號:9523
        請輸入新商品的名字:斯柯達蘋果醋
        請輸入新商品的單價:19.9
        商品添加成功
        
    * d: 刪除貨物
    
        輸入3:刪除貨物
        
        選擇的是刪除功能
        請輸入商品的編號:9523
        貨物信息刪除完畢
        
    * e: 修改貨物
    
        輸入4:修改貨物
        
        選擇的是修改功能
        請輸入您要修改的商品的編號:9527
        輸入新的商品編號:100
        輸入新的商品名字:味道好鳳梨幹
        輸入新的商品價格:6.5
        商品修改成功
    * f: 輸入5:退出系統

11超市管理系統案例分析

* A: 超市管理系統案例分析
    * 完成超市商品初始化。創建商品,將商品添加到集合
?   * 顯示來到超市能做的操作,也就是顯示主菜單
?   * 根據接收到的功能選項,執行對應的功能
?   * 庫存貨物查詢
?   * 添加新貨物 
?   * 刪除貨物
?   * 修改貨物
?   * 退出系統,結束main方法的運行
?   * 循環,回到 2.顯示主菜單

12自定義商品類

* A: 自定義商品類
    * a: 目的
        * 每種庫存商品都擁有多項商品信息,為了方便管理每種商品的信息,我們對商品信息進行封裝,編寫FruitItem.java文件
    * b:案例代碼
        public class FruitItem {
            int  ID;            //商品編號
            String  name;       //商品名稱
            double  price;      //商品單價
            double  number;     //商品數量
            double  money;      //商品金額
        }
    * 補充
        * 上述代碼中,對商品信息(編號、名稱、單價、數量、金額)進行了封裝。
        * 這樣做的好處在於以後只要找到這個商品,就能夠知道該商品的每項信息了。

13初始化商品屬性

* A: 初始化商品屬性
    * a: 案例代碼
        import java.util.ArrayList;
        import java.util.Scanner;

        /*
         *   超市管理系統主
         *   實現:
         *     1. 商品數據的初始化
         *     2. 用戶的菜單選擇
         *     3. 根據選擇執行不同的功能
         *       3.1 Read    查看商品
         *       3.2 Create  添加商品
         *       3.3 Delete  刪除商品
         *       3.4 Update  修改商品
         *       
         *       
         *   所有功能 ,必須定義方法實現
         *   主方法main  調用作用
         */
        public class Shopp {

            public static void main(String[] args) {
                //創建ArrayList集合,存儲商品類型,存儲數據類型FruitItem類型
                ArrayList<FruitItem> array = new ArrayList<FruitItem>();
                //調用商品初始化方法,傳遞集合
                init(array);
                
                }
            }   
            /*
             * 定義方法,實現商品數據的初始化
             * 先將一部分數據,存儲集合中
             * 返回值: 無
             * 參數 : 集合
             * 方法名: init
             */
            public static void init(ArrayList<FruitItem> array){
                //創建出多個FruitItem類型,並且屬性賦值
                FruitItem f1 = new FruitItem();
                f1.ID = 9527;
                f1.name = "少林寺酥餅核桃";
                f1.price = 12.7;
                
                FruitItem f2 = new FruitItem();
                f2.ID = 9008;
                f2.name = "尚康雜糧牡丹餅";
                f2.price = 5.6;
                
                FruitItem f3 = new FruitItem();
                f3.ID = 9879;
                f3.name = "新疆原產哈密瓜";
                f3.price = 599.6;
                
                //創建的3個FruitItem類型變量,存儲到集合中
                array.add(f1);
                array.add(f2);
                array.add(f3);
            }
            
        }

14主菜單功能

* A: 主菜單功能
    * a: 案例代碼
        
        import java.util.ArrayList;
        import java.util.Scanner;
        /*
         *   超市管理系統主
         *   實現:
         *     1. 商品數據的初始化
         *     2. 用戶的菜單選擇
         *     3. 根據選擇執行不同的功能
         *       3.1 Read    查看商品
         *       3.2 Create  添加商品
         *       3.3 Delete  刪除商品
         *       3.4 Update  修改商品
         *       
         *       
         *   所有功能 ,必須定義方法實現
         *   主方法main  調用作用
         */
        public class Shopp {

            public static void main(String[] args) {
                //創建ArrayList集合,存儲商品類型,存儲數據類型FruitItem類型
                ArrayList<FruitItem> array = new ArrayList<FruitItem>();
                //調用商品初始化方法,傳遞集合
                init(array);
                while(true){
                    //調用菜單方法
                    mainMenu();         
                }
            }   
            /*
             * 定義方法,實現主菜單
             * 提示用戶哪些選擇 讓選擇序號
             * 返回值: 無
             * 參數: 無
             */
            public static void mainMenu(){
                System.out.println();
                System.out.println("============歡迎光臨ItCast超市============");
                System.out.println("1: 貨物 清單   2: 添加貨物   3: 刪除貨物   4: 修改貨物  5: 退出");
                System.out.println("請您輸入要操作的功能序號");
            }
            
            /*
             * 定義方法,實現商品數據的初始化
             * 先將一部分數據,存儲集合中
             * 返回值: 無
             * 參數 : 集合
             * 方法名: init
             */
            public static void init(ArrayList<FruitItem> array){
                //創建出多個FruitItem類型,並且屬性賦值
                FruitItem f1 = new FruitItem();
                f1.ID = 9527;
                f1.name = "少林寺酥餅核桃";
                f1.price = 12.7;
                
                FruitItem f2 = new FruitItem();
                f2.ID = 9008;
                f2.name = "尚康雜糧牡丹餅";
                f2.price = 5.6;
                
                FruitItem f3 = new FruitItem();
                f3.ID = 9879;
                f3.name = "新疆原產哈密瓜";
                f3.price = 599.6;
                
                //創建的3個FruitItem類型變量,存儲到集合中
                array.add(f1);
                array.add(f2);
                array.add(f3);
            }
            
        }               
            

15用戶選擇功能

* A: 用戶選擇功能
    * a: 案例代碼
        import java.util.ArrayList;
        import java.util.Scanner;

        /*
         *   超市管理系統主
         *   實現:
         *     1. 商品數據的初始化
         *     2. 用戶的菜單選擇
         *     3. 根據選擇執行不同的功能
         *       3.1 Read    查看商品
         *       3.2 Create  添加商品
         *       3.3 Delete  刪除商品
         *       3.4 Update  修改商品
         *       
         *       
         *   所有功能 ,必須定義方法實現
         *   主方法main  調用作用
         */
        public class Shopp {

            public static void main(String[] args) {
                //創建ArrayList集合,存儲商品類型,存儲數據類型FruitItem類型
                ArrayList<FruitItem> array = new ArrayList<FruitItem>();
                //調用商品初始化方法,傳遞集合
                init(array);
                while(true){
                    //調用菜單方法
                    mainMenu();
                    //調用用戶選擇序號方法
                    int choose = chooseFunction();
                    switch (choose) {
                    case 1:
                        //調用1: 貨物 清單
                        showFruitList(array);
                    break;
                    
                    case 2:
                        //2: 添加貨物
                        addFruit(array);
                    break;
                    
                    case 3:
                        //3: 刪除貨物
                        deleteFruit(array);
                    break;
                    
                    case 4:
                        //4: 修改貨物
                        updateFruit(array);
                    break;
                    
                    case 5:
                        return ;

                    default:
                        System.out.println("輸入的序號沒有");
                        break;
                    }
                }
            }   
            /*
             *  定義方法,實現接受用戶的鍵盤輸入
             *  返回編號
             */
            public static int chooseFunction(){
                Scanner sc = new Scanner(System.in);
                return sc.nextInt();
            }
            
            /*
             * 定義方法,實現主菜單
             * 提示用戶哪些選擇 讓選擇序號
             * 返回值: 無
             * 參數: 無
             */
            public static void mainMenu(){
                System.out.println();
                System.out.println("============歡迎光臨ItCast超市============");
                System.out.println("1: 貨物 清單   2: 添加貨物   3: 刪除貨物   4: 修改貨物  5: 退出");
                System.out.println("請您輸入要操作的功能序號");
            }
            
            /*
             * 定義方法,實現商品數據的初始化
             * 先將一部分數據,存儲集合中
             * 返回值: 無
             * 參數 : 集合
             * 方法名: init
             */
            public static void init(ArrayList<FruitItem> array){
                //創建出多個FruitItem類型,並且屬性賦值
                FruitItem f1 = new FruitItem();
                f1.ID = 9527;
                f1.name = "少林寺酥餅核桃";
                f1.price = 12.7;
                
                FruitItem f2 = new FruitItem();
                f2.ID = 9008;
                f2.name = "尚康雜糧牡丹餅";
                f2.price = 5.6;
                
                FruitItem f3 = new FruitItem();
                f3.ID = 9879;
                f3.name = "新疆原產哈密瓜";
                f3.price = 599.6;
                
                //創建的3個FruitItem類型變量,存儲到集合中
                array.add(f1);
                array.add(f2);
                array.add(f3);
            }
            
        }

16商品的清單功能

* A: 商品的清單功能
    * a: 案例代碼(顯示商品清單的showFruitList(ArrayList<FruitItem>)方法的代碼如下)
        /*
         *  定義方法,實現顯示貨物清單功能
         *  返回值: 無
         *  參數: 集合
         *  遍歷集合,獲取集合中的每個FruitItem變量,變量,調用屬性
         */
        public static void showFruitList(ArrayList<FruitItem> array){
            System.out.println();
            System.out.println("================商品庫存清單================");
            System.out.println("商品編號         商品名稱                商品單價");
            //遍歷集合
            for(int i = 0 ; i < array.size(); i++){
                //集合get方法,獲取出每個FruitItem變量,可以使用FruitItem接受get結果
                FruitItem item = array.get(i);
                //變量item調用類中屬性
                System.out.println(item.ID+"   "+item.name+"        "+item.price);
            }
        }

17商品的添加功能

* A: 商品的添加功能
    * a: 案例代碼(商品添加功能的addFruit(ArrayList<FruitItem>)方法的代碼如下)
        /*
         * 定義方法,實現商品的添加功能
         * 返回值:無
         * 參數: 集合
         * 提示用戶選擇的是添加商品的功能
         * 
         * 提示用戶輸入的是什麽
         * 
         * 創建FruitItem變量,變量調用的屬性
         * 將輸入的每個商品屬性進行賦值
         */
        public static void addFruit(ArrayList<FruitItem> array){
            System.out.println("選擇的是添加商品功能");
            //創建Scanner變量
            Scanner sc = new Scanner(System.in);
            System.out.print("請輸入新商品的編號:");
            //輸入商品的編號
            int ID = sc.nextInt();
            //輸入商品的名字
            System.out.print("請輸入新商品的名字:");
            String name = sc.next();
            //輸入商品的單價
            System.out.print("請輸入新商品的單價:");
            double price = sc.nextDouble();
            //創建FruitItem變量
            FruitItem item = new FruitItem();
            //item.屬性賦值
            item.ID = ID;
            item.name = name;
            item.price = price;
            array.add(item);
            System.out.println("商品添加成功");
        }

18商品的刪除功能

* A: 商品的刪除功能(刪除商品deleteFruit(ArrayList<FruitItem>)方法的代碼如下)
    * a: 案例代碼
        /*
         *  定義方法,實現商品的刪除功能
         *  返回值: 無
         *  參數: 集合
         *  
         *  刪除依靠的是商品的編號
         *  提示用戶選擇的是刪除功能
         *  鍵盤輸入商品的編號
         *  遍歷集合,獲取集合中的每個FruitItem變量
         *  變量調用屬性 ID, 和用戶的輸入的編號,對比,相同就刪除
         */
        public static void deleteFruit(ArrayList<FruitItem> array){
            System.out.println("選擇的是刪除功能");
            System.out.print("請輸入商品的編號:");
            Scanner sc = new Scanner(System.in);
            
            int ID = sc.nextInt();
            //遍歷集合
            for(int i = 0 ; i < array.size(); i++){
                //獲取到每個FruitItem變量
                FruitItem item = array.get(i);
                //變量,調用屬性ID,和用戶輸入的編號比較
                if( item.ID == ID){
                    //移除集合中的元素
                    //集合的方法remove實現
                    array.remove(i);
                    System.out.println("刪除成功");
                    return;
                }
            }
            System.out.println("你輸入的編號不存在");
        }

19商品的修改功能

* A: 商品的修改功能
    * a: 案例代碼(修改商品updateFruit(ArrayList<FruitItem>)方法的代碼如下)
        /*
         *  定義方法,實現商品的修改功能
         *  返回值: 無
         *  參數: 集合
         *  
         *  提示用戶選擇的是修改功能
         *  提示用戶輸入需要修改的商品編號
         *  遍歷集合,獲取每個FruitItem變量
         *  變量調用ID屬性,屬性和用戶輸入的編號比較
         *  如果相同:
         *    修改調FruitItem中的屬性值
         *    鍵盤輸入
         */
        public static void updateFruit(ArrayList<FruitItem> array){
            System.out.println("選擇的是修改功能");
            System.out.print("請輸入您要修改的商品的編號:");
            
            Scanner sc = new Scanner(System.in);
            int ID = sc.nextInt();
            //遍歷集合,獲取每個FruitItem變量
            for(int i = 0 ; i < array.size(); i++){
                FruitItem item = array.get(i);
                //獲取FruitItem的屬性ID,和用戶輸入的ID比較
                if(item.ID == ID){
                    System.out.print("輸入新的商品編號:");
                    item.ID = sc.nextInt();
                    
                    System.out.print("輸入新的商品名字:");
                    item.name = sc.next();
                    
                    System.out.print("輸入新的商品價格:");
                    item.price = sc.nextDouble();
                    System.out.println("商品修改成功");
                    return ;
                }
            }
            System.out.println("輸入的編號不存在");
        }

作業測試

1.熟練掌握Eclipse中的常用視圖和視窗結構(多練習)

2.熟練掌握Eclipse中工作空間的基本配置(多練習)

3.熟練掌握Eclipse中內容輔助鍵和常用快捷鍵(多練習)

4.分析以下需求,並用代碼實現:

    (1)在Eclipse中常見一個java項目,名稱為day07
    (2)將第5天的代碼導入到day07項目中

5.數量掌握Eclipse中的斷點調試功能(通過案例演示)

    (1)完成第4題作業後,在day07作業第六題代碼中打斷點
    (2)通過debug調試演示day07作業第六題案例的運行過程

6.獨立編寫今天的超市管理系統案例

08_Java基礎語法_第8天(Eclipse)