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