java學(xué)習(xí)-8
Eclipse開發(fā)工具
Eclipse是功能強(qiáng)大java集成開發(fā)工具。它可以極大地提升我們的開發(fā)效率??梢宰詣?dòng)編譯,檢查錯(cuò)誤。
Eclipse的下載、安裝、卸載
下載 http://www.eclipse.org
安裝 (只需要解壓后就能使用)
卸載(只需要將文件夾刪除就可以了)
注意: 開發(fā)軟件的安裝目錄中,盡量不要出現(xiàn)空格與中文
Eclipse的使用
在當(dāng)前階段,我們只需要完成最基本的Java文件編寫,其他功能跟隨日常教學(xué)慢慢滲透學(xué)習(xí)。
使用步驟:
1.開啟,選擇工作空間,如下圖
工作空間:指的是將來(lái)編寫的java源文件存放的位置
下圖中的復(fù)選框“□”,如果選中,表示使用當(dāng)前工作空間為Eclipse的默認(rèn)工作空間,以后啟動(dòng)Eclipse時(shí),不在提示選擇工作空間。
選擇工作空間
2.在左側(cè)空白區(qū)域右鍵 或者 選中File菜單欄, 選擇new–> 創(chuàng)建java項(xiàng)目編寫項(xiàng)目名稱,點(diǎn)擊Finish 完成。如下圖
創(chuàng)建java項(xiàng)目
3.展開項(xiàng)目,選中源包SRC后,在項(xiàng)目的src目錄下右鍵創(chuàng)建類,指定類的名字 Hello,創(chuàng)建main方法并編寫源代碼System.out.println("HelloWorld");
創(chuàng)建類
4.編譯與執(zhí)行
編譯:自動(dòng)編譯,當(dāng)java代碼保存的時(shí)候,自動(dòng) 編譯class文件
執(zhí)行:
方式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程序
針對(duì)Eclipse空間的簡(jiǎn)單配置
程序的編譯環(huán)境和運(yùn)行環(huán)境
編譯環(huán)境:Window — Preferences – Java – Compiler
運(yùn)行環(huán)境:Window — Preferences – Java – Installed JREs
編譯環(huán)境與運(yùn)行環(huán)境配置
如何顯示行號(hào)與隱藏行號(hào)
顯示:在代碼區(qū)域的左邊空白區(qū)域,右鍵 — Show Line numbers
隱藏:將上面的操作再做一遍
行號(hào)顯示與隱藏
如何更改字體大小與顏色
修改java代碼的字體大小與顏色
Window — Preferences — General — Appearance — Colors and Fonts — Java — Java Editor Text Font選中后,點(diǎn)擊Edit,進(jìn)行修改
修改其他字體大小與顏色
Window — Preferences — General — Appearance — Colors and Fonts — Bacic — Text Font 選中后 點(diǎn)擊Edit ,進(jìn)行修改
設(shè)置字體
顯示的窗口亂了,還原默認(rèn)顯示模式
Window – Perspective — Reset Prespective
如何去掉默認(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 ,將注釋部分刪除
切換工作空間
File – Switch Workspace – 指定工作空間 – ok
快捷鍵
內(nèi)容輔助鍵 Alt /
自動(dòng)補(bǔ)齊main方法 main 然后 Alt /
自動(dòng)補(bǔ)齊輸出語(yǔ)句 syso 然后 Alt /
格式化Ctrl Shift f
代碼區(qū)域右鍵 — Source – Format
自動(dòng)導(dǎo)包: Ctrl Shift o
如果當(dāng)前類在多個(gè)包中都存在,這時(shí)候,使用Ctrl shift o,進(jìn)行選擇一個(gè)包導(dǎo)入即可。
注釋
單行注釋
加注釋: 先選中需要注釋的內(nèi)容,然后 Ctrl /
取消注釋:先選中需要取消注釋的內(nèi)容, 然后 Ctrl /
多行注釋
加注釋: 先選中需要注釋的內(nèi)容,然后 Ctrl Shift /
取消注釋:先選中需要取消注釋的內(nèi)容, 然后 Ctrl Shift
斷點(diǎn)調(diào)試
斷點(diǎn): 就是一個(gè)標(biāo)記
如何設(shè)置斷點(diǎn)
代碼區(qū)域左邊的空白位置 雙擊即可
在哪里加
想看哪個(gè)語(yǔ)句的執(zhí)行結(jié)果就在該語(yǔ)句前面加
怎么運(yùn)行斷點(diǎn)的程序
代碼區(qū)域右鍵 — Debug as — Java Application
顯示一個(gè)頁(yè)面,提示是否進(jìn)入調(diào)試頁(yè)面? 是否記住當(dāng)前操作?是(Yes)是(勾選復(fù)選框)
彈出了斷點(diǎn)頁(yè)面
點(diǎn)哪里
點(diǎn)擊 工具欄中的Step Over (執(zhí)行下一行)
快捷鍵F6 看到每一步程序的執(zhí)行過(guò)程
看哪里
看代碼區(qū)域: 對(duì)照看程序執(zhí)行步驟
看Debug區(qū)域: 對(duì)照看程序執(zhí)行步驟
看varable區(qū)域: 觀察變量的創(chuàng)建、復(fù)制、銷毀
如何消除斷點(diǎn)
把設(shè)置斷點(diǎn)的方式再執(zhí)行一遍
切換到Debug視圖,選擇 Breakpoints — Remove All Breakpoints 就是2個(gè)XX的圖標(biāo)
項(xiàng)目的刪除
在項(xiàng)目區(qū)域刪除
在左側(cè)PackageExplorer區(qū)域?qū)χ付?xiàng)目右鍵,點(diǎn)擊delete刪除
在硬盤上刪除
在左側(cè)PackageExplorer區(qū)域?qū)χ付?xiàng)目右鍵,點(diǎn)擊delete刪除,同時(shí)選中下面的在硬盤上刪除(Delete project contents on disk)
項(xiàng)目刪除
項(xiàng)目的導(dǎo)入
在左側(cè)的PackageExplorer區(qū)域右鍵,選擇 import
選擇 General — Existing Projects into Workspace
選擇后,點(diǎn)擊 next
在新的窗口中,點(diǎn)擊 Browse 找到需要導(dǎo)入的項(xiàng)目(注意,找到項(xiàng)目的名字位置就可以了),選中要導(dǎo)入的項(xiàng)目,點(diǎn)擊Copy復(fù)選框,點(diǎn)擊Finish完成。
注意事項(xiàng)
Eclipse中已經(jīng)存在的同名項(xiàng)目不能再次導(dǎo)入
項(xiàng)目導(dǎo)入
超市庫(kù)存管理系統(tǒng)
案例介紹
模擬真實(shí)的庫(kù)存管理邏輯,完成超市管理系統(tǒng)的日常功能實(shí)現(xiàn),見(jiàn)下圖
案例需求分析
根據(jù)案例介紹,我們進(jìn)行分析,首先需要一個(gè)功能菜單,然后輸入功能序號(hào)后,調(diào)用序號(hào)對(duì)應(yīng)的功能方法,實(shí)現(xiàn)想要的操作。分析步驟如下
1.完成超市商品初始化。創(chuàng)建商品,將商品添加到集合
2.顯示來(lái)到超市能做的操作,也就是顯示主菜單
3.根據(jù)接收到的功能選項(xiàng),執(zhí)行對(duì)應(yīng)的功能
3.1.庫(kù)存貨物查詢
3.2.添加新貨物
3.3.刪除貨物
3.4.修改貨物
3.5.退出系統(tǒng),結(jié)束main方法的運(yùn)行
4.循環(huán),回到 2.顯示主菜單
實(shí)現(xiàn)代碼步驟
每種庫(kù)存商品都擁有多項(xiàng)商品信息,為了方便管理每種商品的信息,我們對(duì)商品信息進(jìn)行封裝,編寫FruitItem.java文件
public class FruitItem {
int ID; //商品編號(hào)
String name; //商品名稱
double price; //商品單價(jià)
double number; //商品數(shù)量
double money; //商品金額
}
上述代碼中,對(duì)商品信息(編號(hào)、名稱、單價(jià)、數(shù)量、金額)進(jìn)行了封裝。這樣做的好處在于以后只要找到這個(gè)商品,就能夠知道該商品的每項(xiàng)信息了。
編寫FruitStore.java,完成如下功能:
編寫main主方法
public static void main(String[] args) {
//定義數(shù)組,記錄每個(gè)商品信息
ArrayList<FruitItem> list = new ArrayList<FruitItem>();
/*
* 1.超市商品初始化
*/
init(list);
while(true){
/*
* 2.顯示主菜單
*/
mainMenu();
/*
* 3.根據(jù)接收到的功能選項(xiàng),執(zhí)行對(duì)應(yīng)的功能
*/
chooseFunction(list);
}
}
上述代碼中,通過(guò)while(true)循環(huán),完成用戶調(diào)用不同功能。實(shí)現(xiàn)重復(fù)功能選擇操作。
1.超市商品初始化。創(chuàng)建商品,將商品添加到集合
public static void init(ArrayList<FruitItem> list) {
FruitItem item = new FruitItem();
item.name = "少林寺酥餅核桃";
item.ID = 9001;
item.price = 120;
FruitItem item2 = new FruitItem();
item2.name = "尚康雜糧牡丹餅";
item2.ID = 9002;
item2.price = 20;
FruitItem item3 = new FruitItem();
item3.name = "新疆原產(chǎn)哈密瓜";
item3.ID = 3;
item3.price = 9007;
list.add(item);
list.add(item2);
list.add(item3);
}
上述代碼中,完成商品集合的初始化操作,添加了3件商品。
2.顯示來(lái)到超市能做的操作,也就是顯示主菜單
public static void mainMenu() {
System.out.println("=========================歡迎光臨itcast超市=========================");
System.out.println("1:查詢貨物 2:添加新貨物 3:刪除貨物 4:修改貨物");
System.out.println("5:退出系統(tǒng)");
}
上述代碼,用來(lái)完成用戶操作界面的顯示。
3.根據(jù)接收到的功能選項(xiàng),執(zhí)行對(duì)應(yīng)的功能
public static void chooseFunction(ArrayList<FruitItem> list) {
System.out.println("請(qǐng)您輸入要操作的功能序號(hào):");
Scanner sc = new Scanner(System.in);//鍵盤輸入對(duì)象
String choose = sc.next();
//根據(jù)接收到的選擇,執(zhí)行對(duì)應(yīng)的功能
switch (choose) {
case "1": //3.1.庫(kù)存貨物查詢
showFruitList(list);
break;
case "2": //3.2.添加新貨物
addFruitItem(list);
break;
case "3": //3.3.刪除貨物
delFruitItem(list);
break;
case "4": //3.4.修改貨物
updateFruitItem(list);
break;
case "5": //3.5.退出系統(tǒng),退出JVM
System.out.println("退出系統(tǒng)");
return;
default:
System.out.println("對(duì)不起,沒(méi)有您輸入的功能,請(qǐng)重新選擇");
break;
}
}
上述代碼中,參數(shù)list為庫(kù)存商品集合。當(dāng)鍵盤輸入功能序號(hào)后,通過(guò)switch語(yǔ)句匹配后,調(diào)用對(duì)應(yīng)的方法完成對(duì)應(yīng)功能的實(shí)現(xiàn)。
3.1.庫(kù)存貨物查詢
public static void showFruitList(ArrayList<FruitItem> list) {
System.out.println("=======================商品庫(kù)存清單=======================");
System.out.println("商品編號(hào)t商品名稱tt商品單價(jià)");
//查詢每種庫(kù)存商品信息
for (int i = 0; i < list.size(); i ) {
FruitItem item = list.get(i);
System.out.println(item.ID "t" item.name "t" item.price);
}
}
上述代碼中,用來(lái)查詢所有庫(kù)存商品信息。
3.2.添加新貨物
public static void addFruitItem(ArrayList<FruitItem> list) {
//創(chuàng)建新獲取對(duì)象
FruitItem newItem = new FruitItem();
Scanner sc = new Scanner(System.in);//鍵盤輸入對(duì)象
//提示輸入信息
System.out.print("請(qǐng)輸入新水果的名稱:");
newItem.name = sc.next();
System.out.print("請(qǐng)輸入新水果的編號(hào):");
newItem.ID = sc.nextInt();
System.out.print("請(qǐng)輸入新水果單價(jià):");
newItem.price = sc.nextDouble();
//向貨物集合中添加新的物品項(xiàng)
list.add(newItem);
}
上述代碼中,通過(guò)鍵盤錄入,將錄入的商品信息存儲(chǔ)到庫(kù)存商品集合中。
3.3.刪除貨物
public static void delFruitItem(ArrayList<FruitItem> list) {
System.out.print("請(qǐng)輸入您要?jiǎng)h除的水果編號(hào):");
Scanner sc = new Scanner(System.in);//鍵盤輸入對(duì)象
int fruitID = sc.nextInt();
//刪除集合元素
for (int i = 0; i < list.size(); i ) {
FruitItem thisItem = list.get(i);
if(thisItem.ID == fruitID) {
list.remove(thisItem);
System.out.println("水果信息刪除完畢!");
return;
}
}
System.out.println("對(duì)不起,沒(méi)有這個(gè)編號(hào)的水果!");
}
上述代碼中,通過(guò)鍵盤錄入,在庫(kù)存集合中查找對(duì)應(yīng)的商品編號(hào),如果找到該商品,將該商品刪除,否則,提示沒(méi)有這個(gè)編號(hào)的商品。
3.4.修改貨物
public static void updateFruitItem(ArrayList<FruitItem> list) {
System.out.println();
System.out.print("請(qǐng)輸入您要修改信息的水果編號(hào):");
Scanner sc = new Scanner(System.in);//鍵盤輸入對(duì)象
int fruitID = sc.nextInt();
//更新集合元素
for (int i = 0; i < list.size(); i ) {
FruitItem thisItem = list.get(i);
if(thisItem.ID == fruitID) {
System.out.print("請(qǐng)輸入新的水果ID:");
thisItem.ID = sc.nextInt();
System.out.print("請(qǐng)輸入新的水果名稱:");
thisItem.name = sc.next();
System.out.print("請(qǐng)輸入新的水果單價(jià):");
thisItem.price = sc.nextDouble();
System.out.println("水果信息更新完畢!");
return;
}
}
System.out.println("對(duì)不起,沒(méi)有這個(gè)編號(hào)的水果!");
}
上述代碼中,通過(guò)鍵盤錄入,在庫(kù)存集合中查找對(duì)應(yīng)的商品編號(hào),如果找到該商品,則鍵盤錄入修改商品信息,否則,提示沒(méi)有這個(gè)編號(hào)的商品。
趣味樂(lè)園
如下圖所示,完成對(duì)應(yīng)的雙色球搖獎(jiǎng)功能:
雙色球搖獎(jiǎng)
隨機(jī)搖出1-33之間的7個(gè)隨機(jī)數(shù),不能重復(fù)
提示:
存儲(chǔ)雙色球可使用ArrayList集合完成
隨機(jī)搖出雙色球可使用Random類nextInt()方法、ArrayList集合remove()方法完成