今日內(nèi)容介紹
1、Eclipse開發(fā)工具
2、超市庫存管理系統(tǒng)
01Eclipse的下載安裝
* A: Eclipse的下載安裝 ?
* a: 下載
* http://www.eclipse.org
* b: 安裝
* 只需要解壓后就能使用
* c: 卸載
* 只需要將文件夾刪除就可以了
* d: 注意
* 開發(fā)軟件的安裝目錄中,盡量不要出現(xiàn)空格與中文
* B: Eclipse的特點(diǎn)
* a: 免費(fèi)
* b: 純Java語言編寫
* c: 免安裝
* d: 擴(kuò)展性強(qiáng)
02Eclipse的工作空間和新建工程
* A: Eclipse的工作空間和新建工程
* a: 工作空間
* 其實(shí)就是我們寫的源代碼所在的目錄
* b: 創(chuàng)建工程(項(xiàng)目)
* 右鍵/Package Explore 空白區(qū)/new /Java Project/輸入項(xiàng)目名稱如day08/
* c: 創(chuàng)建包(后面講包的概念)
* 打開上面建立的day08項(xiàng)目/右鍵/new/package/在彈出的對話框的name中輸入報(bào)名如"com.itheima.tests"/finish
* d: 創(chuàng)建類
* 創(chuàng)建一個(gè)java類:右擊包名/new/class/在對話框的name中輸入類名/finish
* B: 編譯與執(zhí)行
* a: 編譯
* 自動(dòng)編譯,當(dāng)java代碼保存的時(shí)候,自動(dòng) 編譯class文件
* b: 運(yùn)行
* 方式1:點(diǎn)擊菜單工具欄中的 綠色帶有三角形的 run按鈕 運(yùn)行
* 方式2:點(diǎn)擊菜單欄中Run, 點(diǎn)擊Run 運(yùn)行 快捷鍵是 ctrl F11
* 方式3:選中要運(yùn)行的java文件,或者在編寫代碼的空白區(qū)域,右鍵選擇 Run As --> 運(yùn)行java程序
03Eclipse的HelloWorld編寫
* A:HelloWorld編寫
* a: 編寫過程(參照上個(gè)知識(shí)點(diǎn))
* 建立day08項(xiàng)目
* 建立包結(jié)構(gòu)(包的概念還沒有學(xué)到,不建立包的話,使用默認(rèn)包結(jié)構(gòu)default)
* 創(chuàng)建HelloWorld類(自動(dòng)生成main方法)
* b: 案例代碼
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello World”);
}
}
04Eclipse的字體設(shè)置
* A: Eclipse的字體設(shè)置
* a: 修改編譯環(huán)境和運(yùn)行環(huán)境
* 編譯環(huán)境:Window – Preferences – Java - Compiler
* 運(yùn)行環(huán)境:Window – Preferences – Java - Installed JREs
* b: 顯示行號(hào)與隱藏行號(hào) * 顯示:在代碼區(qū)域的左邊空白區(qū)域,右鍵 -- Show Line Numbers * 隱藏:將上面的操作再做一遍 * c: 更改字體大小與顏色 * Java代碼區(qū)域的字體大小和顏色: * window -- Preferences -- General -- Appearance -- Colors And Fonts --Java修改 -- Java Edit Text Font--edit進(jìn)行修改 * 控制臺(tái) * window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font * 其他文件 * window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font
05Eclipse的窗口設(shè)置
* A: 窗口設(shè)置
* a: 顯示的窗口亂了,還原默認(rèn)顯示模式
* Window – Perspective – Reset Prespective
* b: 顯示控制臺(tái)
* Window–Show View—Console
06Eclipse的去掉多余的注釋
* A: Eclipse的去掉多余的注釋
* a:如何去掉默認(rèn)注釋
* Window – Preferences – Java – Code Style – Code Templates – Comments – Methods,點(diǎn)擊Edit ,將注釋部分刪除 (不建議刪除)
* Window – Preferences – Java – Code Style – Code Templates – Code – Method body,點(diǎn)擊Edit ,將注釋部分刪除
* b: 切換工作空間
* File – Switch Workspace – 指定工作空間 – ok
07Eclipse的快捷鍵
* A: Eclipse的快捷鍵
* a: 內(nèi)容輔助鍵 Alt /
* 自動(dòng)補(bǔ)齊main方法 main 然后 Alt /
? * 自動(dòng)補(bǔ)齊輸出語句 syso 然后 Alt /
* b: 格式化代碼
* Ctrl Shift f
* 代碼區(qū)域右鍵 – Source – Format
* c: 自動(dòng)導(dǎo)包
* Ctrl Shift o
* 如果當(dāng)前類在多個(gè)包中都存在,這時(shí)候,使用Ctrl shift o,進(jìn)行選擇一個(gè)包導(dǎo)入即可。
* d: 注釋
* 單行注釋
? * 加注釋: 先選中需要注釋的內(nèi)容,然后 Ctrl /
? * 取消注釋:先選中需要取消注釋的內(nèi)容, 然后 Ctrl /
? * 多行注釋
? * 加注釋: 先選中需要注釋的內(nèi)容,然后 Ctrl Shift /
? * 取消注釋:先選中需要取消注釋的內(nèi)容, 然后 Ctrl Shift
* e: 補(bǔ)充
* 代碼上下移動(dòng)
* 選中代碼alt 上/下箭頭
* 查看源碼
* 選中類名(F3或者Ctrl 鼠標(biāo)點(diǎn)擊)
* 查找具體的類
* ctrl shift t,輸入要查找的類的名稱–>確定
* 查找具體類的具體方法
* ctrl o
* 給建議
* ctrl 1,根據(jù)右邊生成左邊的數(shù)據(jù)類型,生成方法
* 刪除代碼
* ctrl d
* 抽取方法
* alt shift m
* 改名
* alt shift r(類名,方法名,變量名)
08Eclipse的斷點(diǎn)調(diào)試
* A:斷點(diǎn)調(diào)試(又稱為Debug調(diào)試)的作用
* 調(diào)試程序
* 查看程序執(zhí)行流程
* B:如何查看程序執(zhí)行流程
* 什么是斷點(diǎn):
* 就是一個(gè)標(biāo)記,從哪里開始。
* 如何設(shè)置斷點(diǎn): * 你想看哪里的程序,你就在那個(gè)有效程序的左邊雙擊即可。 * 在哪里設(shè)置斷點(diǎn): * 哪里不會(huì)點(diǎn)哪里。 * 目前:我們就在每個(gè)方法的第一條有效語句上都加。 * 如何運(yùn)行設(shè)置斷點(diǎn)后的程序: * 右鍵 -- Debug as -- Java Application * 看哪些地方: * Debug:斷點(diǎn)測試的地方 * 在這個(gè)地方,記住F6,或者點(diǎn)擊也可以。一次看一行的執(zhí)行過程。 * Variables:查看程序的變量變化 * ForDemo:被查看的源文件 * Console:控制臺(tái) * 如何去斷點(diǎn): * a:再次雙擊即可 * b:找到Debug視圖,Variables界面,找到Breakpoints,并點(diǎn)擊,然后看到所有的斷點(diǎn),最后點(diǎn)擊那個(gè)雙叉
09Eclipse的工程刪除和導(dǎo)入
* A:刪除項(xiàng)目
* 選中項(xiàng)目 – 右鍵 – 刪除
* 從項(xiàng)目區(qū)域中刪除
* 從硬盤上刪除
* B:導(dǎo)入項(xiàng)目
* 在項(xiàng)目區(qū)域右鍵找到import
* 找到General,展開,并找到
* Existing Projects into Workspace
* 點(diǎn)擊next,然后選擇你要導(dǎo)入的項(xiàng)目
* 注意:這里選擇的是項(xiàng)目名稱
10超市管理系統(tǒng)功能介紹
* A:超市管理系統(tǒng)功能介紹
* a: 顯示主菜單
============歡迎光臨ItCast超市============ 1: 貨物 清單 2: 添加貨物 3: 刪除貨物 4: 修改貨物 5: 退出 請您輸入要操作的功能序號(hào) * b: 貨物清單 輸入1:貨物清單 ================商品庫存清單================ 商品編號(hào) 商品名稱 商品單價(jià) 9527 少林寺酥餅核桃 12.7 9008 尚康雜糧牡丹餅 5.6 9879 新疆原產(chǎn)哈密瓜 599.6 * c: 添加新貨物 輸入2:添加新貨物 請輸入新商品的編號(hào):9523 請輸入新商品的名字:斯柯達(dá)蘋果醋 請輸入新商品的單價(jià):19.9 商品添加成功 * d: 刪除貨物 輸入3:刪除貨物 選擇的是刪除功能 請輸入商品的編號(hào):9523 貨物信息刪除完畢 * e: 修改貨物 輸入4:修改貨物 選擇的是修改功能 請輸入您要修改的商品的編號(hào):9527 輸入新的商品編號(hào):100 輸入新的商品名字:味道好鳳梨干 輸入新的商品價(jià)格:6.5 商品修改成功 * f: 輸入5:退出系統(tǒng)
11超市管理系統(tǒng)案例分析
* A: 超市管理系統(tǒng)案例分析
* 完成超市商品初始化。創(chuàng)建商品,將商品添加到集合
? * 顯示來到超市能做的操作,也就是顯示主菜單
? * 根據(jù)接收到的功能選項(xiàng),執(zhí)行對應(yīng)的功能
? * 庫存貨物查詢
? * 添加新貨物
? * 刪除貨物
? * 修改貨物
? * 退出系統(tǒng),結(jié)束main方法的運(yùn)行
? * 循環(huán),回到 2.顯示主菜單
12自定義商品類
* A: 自定義商品類
* a: 目的
* 每種庫存商品都擁有多項(xiàng)商品信息,為了方便管理每種商品的信息,我們對商品信息進(jìn)行封裝,編寫FruitItem.java文件
* b:案例代碼
public class FruitItem {
int ID; //商品編號(hào)
String name; //商品名稱
double price; //商品單價(jià)
double number; //商品數(shù)量
double money; //商品金額
}
* 補(bǔ)充
* 上述代碼中,對商品信息(編號(hào)、名稱、單價(jià)、數(shù)量、金額)進(jìn)行了封裝。這樣做的好處在于以后只要找到這個(gè)商品,就能夠知道該商品的每項(xiàng)信息了。
13初始化商品屬性
* A: 初始化商品屬性
* a: 案例代碼
import java.util.ArrayList;
import java.util.Scanner;
/* * 超市管理系統(tǒng)主 * 實(shí)現(xiàn): * 1. 商品數(shù)據(jù)的初始化 * 2. 用戶的菜單選擇 * 3. 根據(jù)選擇執(zhí)行不同的功能 * 3.1 Read 查看商品 * 3.2 Create 添加商品 * 3.3 Delete 刪除商品 * 3.4 Update 修改商品 * * * 所有功能 ,必須定義方法實(shí)現(xiàn) * 主方法main 調(diào)用作用 */ public class Shopp { public static void main(String[] args) { //創(chuàng)建ArrayList集合,存儲(chǔ)商品類型,存儲(chǔ)數(shù)據(jù)類型FruitItem類型 ArrayList<FruitItem> array = new ArrayList<FruitItem>(); //調(diào)用商品初始化方法,傳遞集合 init(array); } } /* * 定義方法,實(shí)現(xiàn)商品數(shù)據(jù)的初始化 * 先將一部分?jǐn)?shù)據(jù),存儲(chǔ)集合中 * 返回值: 無 * 參數(shù) : 集合 * 方法名: init */ public static void init(ArrayList<FruitItem> array){ //創(chuàng)建出多個(gè)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 = "新疆原產(chǎn)哈密瓜"; f3.price = 599.6; //創(chuàng)建的3個(gè)FruitItem類型變量,存儲(chǔ)到集合中 array.add(f1); array.add(f2); array.add(f3); } }
14主菜單功能
* A: 主菜單功能
* a: 案例代碼
import java.util.ArrayList; import java.util.Scanner; /* * 超市管理系統(tǒng)主 * 實(shí)現(xiàn): * 1. 商品數(shù)據(jù)的初始化 * 2. 用戶的菜單選擇 * 3. 根據(jù)選擇執(zhí)行不同的功能 * 3.1 Read 查看商品 * 3.2 Create 添加商品 * 3.3 Delete 刪除商品 * 3.4 Update 修改商品 * * * 所有功能 ,必須定義方法實(shí)現(xiàn) * 主方法main 調(diào)用作用 */ public class Shopp { public static void main(String[] args) { //創(chuàng)建ArrayList集合,存儲(chǔ)商品類型,存儲(chǔ)數(shù)據(jù)類型FruitItem類型 ArrayList<FruitItem> array = new ArrayList<FruitItem>(); //調(diào)用商品初始化方法,傳遞集合 init(array); while(true){ //調(diào)用菜單方法 mainMenu(); } } /* * 定義方法,實(shí)現(xiàn)主菜單 * 提示用戶哪些選擇 讓選擇序號(hào) * 返回值: 無 * 參數(shù): 無 */ public static void mainMenu(){ System.out.println(); System.out.println("============歡迎光臨ItCast超市============"); System.out.println("1: 貨物 清單 2: 添加貨物 3: 刪除貨物 4: 修改貨物 5: 退出"); System.out.println("請您輸入要操作的功能序號(hào)"); } /* * 定義方法,實(shí)現(xiàn)商品數(shù)據(jù)的初始化 * 先將一部分?jǐn)?shù)據(jù),存儲(chǔ)集合中 * 返回值: 無 * 參數(shù) : 集合 * 方法名: init */ public static void init(ArrayList<FruitItem> array){ //創(chuàng)建出多個(gè)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 = "新疆原產(chǎn)哈密瓜"; f3.price = 599.6; //創(chuàng)建的3個(gè)FruitItem類型變量,存儲(chǔ)到集合中 array.add(f1); array.add(f2); array.add(f3); } }
15用戶選擇功能
* A: 用戶選擇功能
* a: 案例代碼
import java.util.ArrayList;
import java.util.Scanner;
/* * 超市管理系統(tǒng)主 * 實(shí)現(xiàn): * 1. 商品數(shù)據(jù)的初始化 * 2. 用戶的菜單選擇 * 3. 根據(jù)選擇執(zhí)行不同的功能 * 3.1 Read 查看商品 * 3.2 Create 添加商品 * 3.3 Delete 刪除商品 * 3.4 Update 修改商品 * * * 所有功能 ,必須定義方法實(shí)現(xiàn) * 主方法main 調(diào)用作用 */ public class Shopp { public static void main(String[] args) { //創(chuàng)建ArrayList集合,存儲(chǔ)商品類型,存儲(chǔ)數(shù)據(jù)類型FruitItem類型 ArrayList<FruitItem> array = new ArrayList<FruitItem>(); //調(diào)用商品初始化方法,傳遞集合 init(array); while(true){ //調(diào)用菜單方法 mainMenu(); //調(diào)用用戶選擇序號(hào)方法 int choose = chooseFunction(); switch (choose) { case 1: //調(diào)用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("輸入的序號(hào)沒有"); break; } } } /* * 定義方法,實(shí)現(xiàn)接受用戶的鍵盤輸入 * 返回編號(hào) */ public static int chooseFunction(){ Scanner sc = new Scanner(System.in); return sc.nextInt(); } /* * 定義方法,實(shí)現(xiàn)主菜單 * 提示用戶哪些選擇 讓選擇序號(hào) * 返回值: 無 * 參數(shù): 無 */ public static void mainMenu(){ System.out.println(); System.out.println("============歡迎光臨ItCast超市============"); System.out.println("1: 貨物 清單 2: 添加貨物 3: 刪除貨物 4: 修改貨物 5: 退出"); System.out.println("請您輸入要操作的功能序號(hào)"); } /* * 定義方法,實(shí)現(xiàn)商品數(shù)據(jù)的初始化 * 先將一部分?jǐn)?shù)據(jù),存儲(chǔ)集合中 * 返回值: 無 * 參數(shù) : 集合 * 方法名: init */ public static void init(ArrayList<FruitItem> array){ //創(chuàng)建出多個(gè)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 = "新疆原產(chǎn)哈密瓜"; f3.price = 599.6; //創(chuàng)建的3個(gè)FruitItem類型變量,存儲(chǔ)到集合中 array.add(f1); array.add(f2); array.add(f3); } }
16商品的清單功能
* A: 商品的清單功能
* a: 案例代碼(顯示商品清單的showFruitList(ArrayList)方法的代碼如下)
/*
* 定義方法,實(shí)現(xiàn)顯示貨物清單功能
* 返回值: 無
* 參數(shù): 集合
* 遍歷集合,獲取集合中的每個(gè)FruitItem變量,變量,調(diào)用屬性
/
public static void showFruitList(ArrayList array){
System.out.println();
System.out.println(“商品庫存清單”);
System.out.println(“商品編號(hào) 商品名稱 商品單價(jià)”);
//遍歷集合
for(int i = 0 ; i < array.size(); i ){
//集合get方法,獲取出每個(gè)FruitItem變量,可以使用FruitItem接受get結(jié)果
FruitItem item = array.get(i);
//變量item調(diào)用類中屬性
System.out.println(item.ID " “ item.name ” " item.price);
}
}
17商品的添加功能
* A: 商品的添加功能
* a: 案例代碼(商品添加功能的addFruit(ArrayList)方法的代碼如下)
/
* 定義方法,實(shí)現(xiàn)商品的添加功能
* 返回值:無
* 參數(shù): 集合
* 提示用戶選擇的是添加商品的功能
*
* 提示用戶輸入的是什么
*
* 創(chuàng)建FruitItem變量,變量調(diào)用的屬性
* 將輸入的每個(gè)商品屬性進(jìn)行賦值
/
public static void addFruit(ArrayList array){
System.out.println(“選擇的是添加商品功能”);
//創(chuàng)建Scanner變量
Scanner sc = new Scanner(System.in);
System.out.print(“請輸入新商品的編號(hào):”);
//輸入商品的編號(hào)
int ID = sc.nextInt();
//輸入商品的名字
System.out.print(“請輸入新商品的名字:”);
String name = sc.next();
//輸入商品的單價(jià)
System.out.print(“請輸入新商品的單價(jià):”);
double price = sc.nextDouble();
//創(chuàng)建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)方法的代碼如下)
* a: 案例代碼
/
* 定義方法,實(shí)現(xiàn)商品的刪除功能
* 返回值: 無
* 參數(shù): 集合
*
* 刪除依靠的是商品的編號(hào)
* 提示用戶選擇的是刪除功能
* 鍵盤輸入商品的編號(hào)
* 遍歷集合,獲取集合中的每個(gè)FruitItem變量
* 變量調(diào)用屬性 ID, 和用戶的輸入的編號(hào),對比,相同就刪除
*/
public static void deleteFruit(ArrayList array){
System.out.println(“選擇的是刪除功能”);
System.out.print(“請輸入商品的編號(hào):”);
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt(); //遍歷集合 for(int i = 0 ; i < array.size(); i ){ //獲取到每個(gè)FruitItem變量 FruitItem item = array.get(i); //變量,調(diào)用屬性ID,和用戶輸入的編號(hào)比較 if( item.ID == ID){ //移除集合中的元素 //集合的方法remove實(shí)現(xiàn) array.remove(i); System.out.println("刪除成功"); return; } } System.out.println("你輸入的編號(hào)不存在"); }
19商品的修改功能
* A: 商品的修改功能
* a: 案例代碼(修改商品updateFruit(ArrayList)方法的代碼如下)
/*
* 定義方法,實(shí)現(xiàn)商品的修改功能
* 返回值: 無
* 參數(shù): 集合
*
* 提示用戶選擇的是修改功能
* 提示用戶輸入需要修改的商品編號(hào)
* 遍歷集合,獲取每個(gè)FruitItem變量
* 變量調(diào)用ID屬性,屬性和用戶輸入的編號(hào)比較
* 如果相同:
* 修改調(diào)FruitItem中的屬性值
* 鍵盤輸入
*/
public static void updateFruit(ArrayList array){
System.out.println(“選擇的是修改功能”);
System.out.print(“請輸入您要修改的商品的編號(hào):”);
Scanner sc = new Scanner(System.in); int ID = sc.nextInt(); //遍歷集合,獲取每個(gè)FruitItem變量 for(int i = 0 ; i < array.size(); i ){ FruitItem item = array.get(i); //獲取FruitItem的屬性ID,和用戶輸入的ID比較 if(item.ID == ID){ System.out.print("輸入新的商品編號(hào):"); item.ID = sc.nextInt(); System.out.print("輸入新的商品名字:"); item.name = sc.next(); System.out.print("輸入新的商品價(jià)格:"); item.price = sc.nextDouble(); System.out.println("商品修改成功"); return ; } } System.out.println("輸入的編號(hào)不存在"); }
來源:https://www.icode9.com/content-1-354701.html
聯(lián)系客服