8-01Eclipse的下载安装
1.下载:http://www.eclipse.org
2.安装:只需要解压后就能使用
3.卸载:只需要将文件夹删除就可以了
4.注意 :开发软件的安装目录中,尽量不要出现空格与中文
5.Eclipse的特点
* a: 免费
* b: 纯Java语言编写
* c: 免安装
* d: 扩展性强
8-02Eclipse的工作空间和新建工程
1.工作空间: 其实就是我们写的源代码所在的目录
2.创建工程(项目):右键/Package Explore 空白区/new /Java Project/输入项目名称如day08/3.创建包(后面讲包的概念):打开上面建立的day08项目/右键/new/package/在弹出的对话框的name中输入报名如"com.itheima.tests"/finish
3.创建类:创建一个java类:右击包名/new/class/在对话框的name中输入类名/finish
4.编译:自动编译,当java代码保存的时候,自动 编译class文件
5.运行
* 点击菜单工具栏中的 绿色带有三角形的 run按钮 运行
* 点击菜单栏中Run, 点击Run 运行 快捷键是 ctrl+F11
* 选中要运行的java文件,或者在编写代码的空白区域,右键选择 Run As --> 运行java程序
8-03Eclipse的HelloWorld编写
1.编写过程:
* 建立day08项目
* 建立包结构(包的概念还没有学到,不建立包的话,使用默认包结构default)
* 创建HelloWorld类(自动生成main方法)
2.案例代码
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
8-04Eclipse的字体设置
1.修改编译环境:Window – Preferences – Java - Compiler
2.修改运行环境:Window – Preferences – Java - Installed JREs
3.显示行号:在代码区域的左边空白区域,右键 – Show Line Numbers
4.隐藏行号:将上面的操作再做一遍
5.更改字体大小与颜色
* 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
8-05Eclipse的窗口设置
1.显示的窗口乱了,还原默认显示模式
* Window – Perspective – Reset Prespective
2.显示控制台
* Window–Show View—Console
8-06Eclipse的去掉多余的注释
1.去掉默认注释
* Window – Preferences – Java – Code Style – Code Templates – Comments – Methods,点击Edit ,将注释部分删除 (不建议删除)
* Window – Preferences – Java – Code Style – Code Templates – Code – Method body,点击Edit ,将注释部分删除
2.切换工作空间
* File – Switch Workspace – 指定工作空间 – ok
8-07Eclipse的快捷键
- 内容辅助键 Alt+/
- 自动补齐main方法 main 然后 Alt+/
- 自动补齐输出语句 syso 然后 Alt+/
- 起名字 自动自定义一个名字
- 格式化代码:将混乱的代码格式自动调整整齐
- Ctrl+Shift+f
- 代码区域右键 – Source – Format
- 自动导包
- Ctrl+Shift+o
- 如果当前类在多个包中都存在,这时候,使用Ctrl+shift+o,进行选择一个包导入即可。
- 注释
- 单行注释
- 加注释: 先选中需要注释的内容,然后 Ctrl+/
- 取消注释:先选中需要取消注释的内容, 然后 Ctrl+/
- 多行注释
- 加注释: 先选中需要注释的内容,然后 Ctrl+Shift+/
- 取消注释:先选中需要取消注释的内容, 然后 Ctrl+Shift+\
- 单行注释
- 补充
- 代码上下移动
- 选中代码alt+上/下箭头
- 查看源码
- 选中类名(F3或者Ctrl+鼠标点击)
- 查找具体的类
- ctrl + shift + t,输入要查找的类的名称–>确定
- 查找具体类的具体方法
- ctrl + o
- 给建议
- ctrl+1,根据右边生成左边的数据类型,生成方法
- 删除代码
- ctrl + d
- 抽取方法
- alt + shift + m
- 改名
- alt + shift + r(类名,方法名,变量名)
- 复制一行代码到下方
*将光标停在当行代码上,ctel+alt+上/下箭头
*若要复制多行,则需要选中需要复制的代码
- 代码上下移动
8-08Eclipse的断点调试
1.断点调试(又称为Debug调试)的作用
* 调试程序
* 查看程序执行流程
2. 如何设置断点:在想要调试的有效语句(代码行)左边双击左键,此时代码行左边就会出现一个小点
3.运行断点设置后的程序:
* 右键 – Debug as – Java Application
* 点击左上角绿色的小虫子,在弹出的小窗口中选择switch
* F5 为进入方法,一次F6为一行的执行过程
* Variables:查看程序的变量变化
4. 去断点:
* a:再次双击即可
* b:找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉
5.回到java视图:点击右上角的java图标
8-09Eclipse的工程删除和导入
1.删除项目
* 选中项目 – 右键 – 删除
* 从项目区域中删除
* 从硬盘上删除
2.导入项目
* 在项目区域右键找到import
* 找到General,展开,并找到
* Existing Projects into Workspace
* 点击next,然后选择你要导入的项目
* 注意:这里选择的是项目名称
8-10超市管理系统案例分析
1.超市管理系统功能介绍
* 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:退出系统
- 自定义商品类
* a: 目的:每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,我们对商品信息进行封装,编写FruitItem.java文件
* b:案例代码
public class FruitItem {
int ID; //商品编号
String name; //商品名称
double price; //商品单价
}
3.功能实现类
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 Shopping {
public static void main(String[] args) {
//创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
ArrayList<FruitItem> array = new ArrayList<FruitItem>();
//调用商品初始化方法,传递集合
init (array);
// System.out.println(array);
while (true) {
//调用菜单方法
mainMenu();
//调用用户选择序号方法
int choose = chooseFunction();
switch (choose) {
//1: 查询货物 2: 添加新货物 3:删除货物 4: 修改货物 5: 退出系统
case 1:
showFruitList(array);
break;
case 2:
addFruit(array);
break;
case 3:
deleteFruit(array);
break;
case 4:
updataFruit(array);
break;
case 5:
return ;
default:
System.out.println("输入的序号无效,请重新输入");
break;
}
}
}
/*
* 定义方法,实现商品数据的初始化
* 先将一部分数据,存储集合中
* 返回值: 无
* 参数 : 集合
* 方法名: init
*/
public static void init(ArrayList<FruitItem> array) {
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 = "新疆原产哈密瓜";
item3.ID = 9003;
item3.price = 9007;
array.add(item);
array.add(item2);
array.add(item3);
}
/*
* 定义方法,实现主菜单
* 提示用户哪些选择 让选择序号
* 返回值: 无
* 参数: 无
*/
public static void mainMenu() {
System.out.println();
System.out.println();
System.out.println("==============================欢迎光临itcast超市=============================");
System.out.println("1: 查询货物 2: 添加新货物 3:删除货物 4: 修改货物 5: 退出系统");
System.out.println("请您输入要操作的功能序号:");
}
/*
* 定义方法,实现接受用户的键盘输入
* 返回编号
*/
public static int chooseFunction() {
Scanner sc = new Scanner(System.in);
return sc.nextInt();
}
/*
* 定义方法,实现显示货物清单功能
* 返回值: 无
* 参数: 集合
* 遍历集合,获取集合中的每个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);
}
}
/*
* 定义方法,实现商品的添加功能
* 返回值:无
* 参数: 集合
* 提示用户选择的是添加商品的功能
*
* 提示用户输入的是什么
*
* 创建FruitItem变量,变量调用的属性
* 将输入的每个商品属性进行赋值
*/
public static void addFruit(ArrayList<FruitItem> array) {
Scanner sc = new Scanner(System.in);
FruitItem item = new FruitItem();
System.out.println("请输入商品编号");
int ID = sc.nextInt();
item.ID = ID;
System.out.println("请输入商品名称");
String name = sc.next();
item.name = name;
System.out.println("请输入商品价格");
double price = sc.nextDouble();
item.price = price;
array.add(item);
System.out.println("添加成功!");
}
/*
* 定义方法,实现商品的删除功能
* 返回值: 无
* 参数: 集合
*
* 删除依靠的是商品的编号
* 提示用户选择的是删除功能
* 键盘输入商品的编号
* 遍历集合,获取集合中的每个FruitItem变量
* 变量调用属性 ID, 和用户的输入的编号,对比,相同就删除
*/
public static void deleteFruit(ArrayList<FruitItem> array) {
showFruitList(array);
System.out.println("========================");
System.out.println("请选择你要删除的商品的编号");
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("您输入的ID不存在");
}
/*
* 定义方法,实现商品的修改功能
* 返回值: 无
* 参数: 集合
*
* 提示用户选择的是修改功能
* 提示用户输入需要修改的商品编号
* 遍历集合,获取每个FruitItem变量
* 变量调用ID属性,属性和用户输入的编号比较
* 如果相同:
* 修改调FruitItem中的属性值
* 键盘输入
*/
public static void updataFruit(ArrayList<FruitItem> array) {
showFruitList(array);
System.out.println("========================");
System.out.println("请选择你要修改的商品的编号");
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.println("请输入新的商品编号");
item.ID = sc.nextInt();;
System.out.println("请输入新的商品名称");
item.name = sc.next();
System.out.println("请输入新的商品价格");
item.price = sc.nextDouble();
System.out.println("修改成功!");
return;
}
}
System.out.println("您输入的ID不存在");
}
}