08_Java基礎語法_第8天(Eclipse)
阿新 • • 發佈:2019-03-22
不存在 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)