JAVA学习day08

简介: 1、快捷键Alt+/ 自动补全写程序的时候,之写出一部分输出 syso类名 Scanner起名字 如Int 按下alt+/会帮你带出变量Ctrl+Shift+F 代码格式化Ctrl+/ 单行注释 取消单行注释就再按一次Ctrl+Shift+...

1、快捷键

Alt+/    自动补全
写程序的时候,之写出一部分
输出   syso
类名 Scanner
起名字  如Int 按下alt+/会帮你带出变量

Ctrl+Shift+F    代码格式化

Ctrl+/    单行注释       取消单行注释就再按一次

Ctrl+Shift+/  多行注释
Ctrl+Shift+\   取消多行注释

Ctrl+Shift+o   导入包的快捷键

Alt+上下箭头    移动当前行代码

Ctrl+alt+上下箭头    复制当前代码行

Ctrl+D   删除当前行

Ctrl+1   意见提示功能

2、调试代码

• 断点: 就是一个标记
• 如何设置断点
    ○ 代码区域左边的空白位置 双击即可
• 在哪里加
    ○  想看哪个语句的执行结果就在该语句前面加
• 怎么运行断点的程序
    ○ 代码区域右键 -- Debug as -- Java Application
    ○ 显示一个页面,提示是否进入调试页面? 是否记住当前操作?是(Yes)是(勾选复选框)
        
• 弹出了断点页面
    
    ○ 点哪里
        § 点击 工具栏中的Step Over (执行下一行)
        § 快捷键F6 看到每一步程序的执行过程
    ○ 看哪里
        § 看代码区域: 对照看程序执行步骤
        § 看Debug区域: 对照看程序执行步骤
        § 看varable区域: 观察变量的创建、复制、销毁
    ○ 如何消除断点
        § 把设置断点的方式再执行一遍
        § 切换到Debug视图,选择 Breakpoints -- Remove All Breakpoints 就是2个XX的图标

3、超市管理系统案例分析
首先需要一个功能菜单,然后输入功能序号后,调用序号对应的功能方法,实现想要的操作。分析步骤如下
    ○ 1.完成超市商品初始化。创建商品,将商品添加到集合
    ○ 2.显示来到超市能做的操作,也就是显示主菜单
    ○ 3.根据接收到的功能选项,执行对应的功能
    ○ 3.1.库存货物查询
    ○ 3.2.添加新货物    
    ○ 3.3.删除货物
    ○ 3.4.修改货物
    ○ 3.5.退出系统,结束main方法的运行
    ○ 4.循环,回到 2.显示主菜单

定义FruitItem类

packagecom.ghy.studyday08;

/*
自定义类,描述商品信息
商品的属性
编号int
品名Strint
价格double
数量Int
总价double

*/
publicclassFruitItem{
//商品ID
intID;
//
Stringname;
//
doubleprice;
//
intnumber;
//
doublemoney;
}

定义Shopp类
packagecom.ghy.studyday08;

importjava.util.ArrayList;
importjava.util.Scanner;

/*
超市管理系统主页
实现:
1、商品数据的初始化
2、用户的菜单选择
3、根据选择执行不同的功能
3.1Read查看商品
3.2Create创建商品
3.3Delete删除商品
3.4Update更新商品

所有功能,必须定义方法实现
主方法main调用作用
*/
publicclassShopp{
publicstaticvoidmain(String[]args){
//创建ArrayList集合,存储商品类型,存输出剧类型FruitItemleixing
ArrayList<FruitItem>array=newArrayList<FruitItem>();
//调用商品初始化方法,传递集合
init(array);
while(true){
mainMenu();
intchoose=chooseFunction();
switch(choose){
case1:
showFruitList(array);
break;
case2:
addFruitItem(array);
break;
case3:
deleteFruit(array);
break;
case4:
updateFruit(array);
break;
case5:
return;

default:
System.out.println("输入的序号没有");
break;

}


}
}
/**
*定义方法,实现主菜单
*提示用户哪些选择,选择序号
*返回值:无
*参数:无
*
*
*/


publicstaticvoidmainMenu(){
System.out.println();
System.out.println("===========欢迎光临ITCast超市======================");
System.out.println("1、货物清单2、添加货物3、删除货物4、更新货物5、退出");
System.out.println("请您输入要操作的功能序号");

}
/**
*定义方法,实现接受用户的键盘输入
*返回编号
*/
publicstaticintchooseFunction(){
Scannersc=newScanner(System.in);
returnsc.nextInt();



}

/**
*定义方法,实现显示货物清单的功能
*返回值:无
*参数:集合
*遍历集合,获取集合中的每个FruitItem变量
*变量.调用属性
*/
publicstaticvoidshowFruitList(ArrayList<FruitItem>array){
System.out.println();
System.out.println("==========商品库存清单=========================");
System.out.println("商品编号商品名称商品单价");
//遍历集合
for(inti=0;i<array.size();i++){
//集合get方法,获取出每个FruitItem的变量,可以使用FruitItem接受get结果
FruitItemitem=array.get(i);
//变量item调用类属性
System.out.println(item.ID+""+item.name+""+item.price);

}
}

/**
*
*/




/**
*定还是那个方法,实现商品数据的初始化
*先将一部分数据,存储到集合中
*返回值:无
*参数:集合
*方法名:init
*
*/
publicstaticvoidinit(ArrayList<FruitItem>array){
//创建出多个FruitItem类型,并且属性赋值
FruitItemf1=newFruitItem();
f1.ID=9527;
f1.name="烧饼";
f1.price=12.7;

FruitItemf2=newFruitItem();
f2.ID=9528;
f2.name="米粉";
f2.price=22;

FruitItemf3=newFruitItem();
f3.ID=9830;
f3.name="新疆大盘鸡";
f3.price=100.6;

//将创建的3个FriutItem类型的变量,存储到集合中
array.add(f1);
array.add(f2);
array.add(f3);

}

/**
*定义方法,实现商品的添加功能
*返回值:无
*参数:集合
*提示用户选择的是商品的功能
*
*提示用户输入的是什么
*
*创建FruitItem变量,变量调用的属性
*将输入的每个商品属性进行赋值
*
*/

publicstaticvoidaddFruitItem(ArrayList<FruitItem>array){
System.out.println("您选择的是添加商品功能");
//创建Scanner变量
Scannersc=newScanner(System.in);
System.out.println("请输入商品的编号");
//输入商品的编号
intID=sc.nextInt();
//输入商品的名字
System.out.println("请输入商品的名字");
Stringname=sc.next();
//输入商品的单价
System.out.println("请输入商品的单价");
doubleprice=sc.nextDouble();
//创建FruitItem的变量
FruitItemitem=newFruitItem();
item.ID=ID;
item.name=name;
item.price=price;

array.add(item);


}

/*
*定义方法,实现商品的修改功能
*返回值:无
*参数: 集合
*
*提示用户选择的是修改功能
*提示用户输入需要修改的商品编号
*遍历集合,获取每个FruitItem变量
*变量调用ID属性,属性和用户输入的编号比较
*如果相同:
*修改调FruitItem中的属性值
*键盘输入
*/
publicstaticvoidupdateFruit(ArrayList<FruitItem>array){
System.out.println("选择的是修改功能");
System.out.println("请输入商品的编号");

Scannersc=newScanner(System.in);
intID=sc.nextInt();
//遍历集合,获取每个FruitItem变量
for(inti=0;i<array.size();i++){
FruitItemitem=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("输入的编号不存在");
}

/**
*定义方法,实现商品的删除功能
*返回值:无
*参数:集合
*
*删除依靠的是商品的编号
*提示用户选择的是删除功能
*键盘输入商品的编号
*遍历集合,获取集合中的每个FruitItem变量
*变量调用属性ID,和用户的输入的编号,对比,相同就删除
*/
publicstaticvoiddeleteFruit(ArrayList<FruitItem>array){
System.out.println("选择的是删除功能");
System.out.println("请输入商品的编号");
Scannersc=newScanner(System.in);

intID=sc.nextInt();
//遍历集合
for(inti=0;i<array.size();i++){
//获取到每个FruitItem变量
FruitItemitem=array.get(i);
//变量,调用属性ID,和用户输入的编号比较
if(item.ID==ID){
//移除集合中的元素
//集合的方法remove实现
array.remove(i);
System.out.println("删除成功");
return;
}
}
System.out.println("你输入的编号不存在");
}

}image

目录
相关文章
|
3月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
97 3
|
3月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
104 43
Java学习十六—掌握注解:让编程更简单
|
2月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
3月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
45 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
2月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
3月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
60 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
3月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
39 2
|
3月前
|
存储 安全 Java
【用Java学习数据结构系列】探索顺序表和链表的无尽秘密(附带练习唔)pro
【用Java学习数据结构系列】探索顺序表和链表的无尽秘密(附带练习唔)pro
30 3
|
3月前
|
存储 安全 Java
【用Java学习数据结构系列】探索栈和队列的无尽秘密
【用Java学习数据结构系列】探索栈和队列的无尽秘密
37 2
|
3月前
|
存储 Java 编译器
【用Java学习数据结构系列】初识泛型
【用Java学习数据结构系列】初识泛型
25 2