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/在彈出的對(duì)話框的name中輸入報(bào)名如"com.itheima.tests"/finish
* d: 創(chuàng)建類
* 創(chuàng)建一個(gè)java類:右擊包名/new/class/在對(duì)話框的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: 退出
請(qǐng)您輸入要操作的功能序號(hào)
* b: 貨物清單
輸入1:貨物清單
================商品庫存清單================
商品編號(hào) 商品名稱 商品單價(jià)
9527 少林寺酥餅核桃 12.7
9008 尚康雜糧牡丹餅 5.6
9879 新疆原產(chǎn)哈密瓜 599.6
* c: 添加新貨物
輸入2:添加新貨物
請(qǐng)輸入新商品的編號(hào):9523
請(qǐng)輸入新商品的名字:斯柯達(dá)蘋果醋
請(qǐng)輸入新商品的單價(jià):19.9
商品添加成功
* d: 刪除貨物
輸入3:刪除貨物
選擇的是刪除功能
請(qǐng)輸入商品的編號(hào):9523
貨物信息刪除完畢
* e: 修改貨物
輸入4:修改貨物
選擇的是修改功能
請(qǐng)輸入您要修改的商品的編號(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í)行對(duì)應(yīng)的功能
? * 庫存貨物查詢
? * 添加新貨物
? * 刪除貨物
? * 修改貨物
? * 退出系統(tǒng),結(jié)束main方法的運(yùn)行
? * 循環(huán),回到 2.顯示主菜單
12自定義商品類
* A: 自定義商品類
* a: 目的
* 每種庫存商品都擁有多項(xiàng)商品信息致稀,為了方便管理每種商品的信息冈闭,我們對(duì)商品信息進(jìn)行封裝,編寫FruitItem.java文件
* b:案例代碼
public class FruitItem {
int ID; //商品編號(hào)
String name; //商品名稱
double price; //商品單價(jià)
double number; //商品數(shù)量
double money; //商品金額
}
* 補(bǔ)充
* 上述代碼中抖单,對(duì)商品信息(編號(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("請(qǐng)您輸入要操作的功能序號(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("請(qǐng)您輸入要操作的功能序號(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<FruitItem>)方法的代碼如下)
/*
* 定義方法,實(shí)現(xiàn)顯示貨物清單功能
* 返回值: 無
* 參數(shù): 集合
* 遍歷集合,獲取集合中的每個(gè)FruitItem變量,變量,調(diào)用屬性
*/
public static void showFruitList(ArrayList<FruitItem> 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<FruitItem>)方法的代碼如下)
/*
* 定義方法,實(shí)現(xiàn)商品的添加功能
* 返回值:無
* 參數(shù): 集合
* 提示用戶選擇的是添加商品的功能
*
* 提示用戶輸入的是什么
*
* 創(chuàng)建FruitItem變量,變量調(diào)用的屬性
* 將輸入的每個(gè)商品屬性進(jìn)行賦值
*/
public static void addFruit(ArrayList<FruitItem> array){
System.out.println("選擇的是添加商品功能");
//創(chuàng)建Scanner變量
Scanner sc = new Scanner(System.in);
System.out.print("請(qǐng)輸入新商品的編號(hào):");
//輸入商品的編號(hào)
int ID = sc.nextInt();
//輸入商品的名字
System.out.print("請(qǐng)輸入新商品的名字:");
String name = sc.next();
//輸入商品的單價(jià)
System.out.print("請(qǐng)輸入新商品的單價(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<FruitItem>)方法的代碼如下)
* a: 案例代碼
/*
* 定義方法,實(shí)現(xiàn)商品的刪除功能
* 返回值: 無
* 參數(shù): 集合
*
* 刪除依靠的是商品的編號(hào)
* 提示用戶選擇的是刪除功能
* 鍵盤輸入商品的編號(hào)
* 遍歷集合,獲取集合中的每個(gè)FruitItem變量
* 變量調(diào)用屬性 ID囚玫, 和用戶的輸入的編號(hào),對(duì)比,相同就刪除
*/
public static void deleteFruit(ArrayList<FruitItem> array){
System.out.println("選擇的是刪除功能");
System.out.print("請(qǐng)輸入商品的編號(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<FruitItem>)方法的代碼如下)
/*
* 定義方法,實(shí)現(xiàn)商品的修改功能
* 返回值: 無
* 參數(shù): 集合
*
* 提示用戶選擇的是修改功能
* 提示用戶輸入需要修改的商品編號(hào)
* 遍歷集合,獲取每個(gè)FruitItem變量
* 變量調(diào)用ID屬性,屬性和用戶輸入的編號(hào)比較
* 如果相同:
* 修改調(diào)FruitItem中的屬性值
* 鍵盤輸入
*/
public static void updateFruit(ArrayList<FruitItem> array){
System.out.println("選擇的是修改功能");
System.out.print("請(qǐng)輸入您要修改的商品的編號(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)不存在");
}
20總結(jié)
- 把今天的知識(shí)點(diǎn)總結(jié)一遍喧锦。