第8天 Java基础语法

今日内容介绍

  • Eclipse开发工具
  • 超市库存管理系统
  1. Eclipse开发工具

Eclipse是功能强大Java集成开发工具。它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是Eclipse进行开发。

  1. Eclipse的下载、安装、卸载

  • 安装 (只需要解压后就能使用)
  • 卸载(只需要将文件夹删除就可以了)
  • 注意: 开发软件的安装目录中,尽量不要出现空格与中文
  1. Eclipse的使用

在当前阶段,我们只需要完成最基本的Java文件编写,其他功能跟随日常教学慢慢渗透学习。

使用步骤:

  • 1.开启,选择工作空间,如下图
    • 工作空间:指的是将来编写的java源文件存放的位置
    • 下图中的复选框"□",如果选中,表示使用当前工作空间为Eclipse的默认工作空间,以后启动Eclipse时,不在提示选择工作空间。

  1. 选择工作空间
  • 2.在左侧空白区域右键 或者 选中File菜单栏, 选择new--> 创建java项目编写项目名称,点击Finish 完成。如下图

  1. 创建java项目
  • 3.展开项目,选中源包SRC后,在项目的src目录下右键创建类,指定类的名字 Hello,创建main方法并编写源代码System.out.println("HelloWorld");

  1. 创建类
  • 4.编译与执行
    • 编译:自动编译,当java代码保存的时候,自动 编译class文件
    • 执行:
      • 方式1:点击菜单工具栏中的 绿色带有三角形的 run按钮 运行
      • 方式2:点击菜单栏中Run, 点击Run 运行 快捷键是 ctrl+F11
      • 方式3:选中要运行的java文件,或者在编写代码的空白区域,右键选择 Run As --> 运行java程序
  1. 针对Eclipse空间的简单配置

  • 程序的编译环境和运行环境
    • 编译环境:Window -- Preferences – Java - Compiler
    • 运行环境:Window -- Preferences – Java - Installed JREs

  1. 编译环境与运行环境配置
  • 如何显示行号与隐藏行号
    • 显示:在代码区域的左边空白区域,右键 -- Show Line Numbers
    • 隐藏:将上面的操作再做一遍

  1. 行号显示与隐藏
  • 如何更改字体大小与颜色
    • 修改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 ,进行修改

  1. 设置字体
  • 显示的窗口乱了,还原默认显示模式
    • 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

  1. 快捷键

  • 内容辅助键 Alt+/
    • 自动补齐main方法 main 然后 Alt+/
    • 自动补齐输出语句 syso 然后 Alt+/
  • 格式化Ctrl+Shift+f
    • 代码区域右键 -- Source – Format
  • 自动导包: Ctrl+Shift+o
    • 如果当前类在多个包中都存在,这时候,使用Ctrl+shift+o,进行选择一个包导入即可。
  • 注释
    • 单行注释
      • 加注释: 先选中需要注释的内容,然后 Ctrl+/
      • 取消注释:先选中需要取消注释的内容, 然后 Ctrl+/
    • 多行注释
      • 加注释: 先选中需要注释的内容,然后 Ctrl+Shift+/
      • 取消注释:先选中需要取消注释的内容, 然后 Ctrl+Shift+\
      • Ctrl+Alt+上下键    //复制并移动
      • Alt+上下键    //移动
      • Ctrl+1    //意见
      • Ctrl+2    //改名,接收
      • Ctrl+D    //删除
  1. 断点调试

  • 断点: 就是一个标记
  • 如何设置断点
    • 代码区域左边的空白位置 双击即可
  • 在哪里加
    • 想看哪个语句的执行结果就在该语句前面加
  • 怎么运行断点的程序
    • 代码区域右键 -- Debug as -- Java Application
    • 显示一个页面,提示是否进入调试页面? 是否记住当前操作?是(Yes)是(勾选复选框)

  • 弹出了断点页面

    • 点哪里
      • 点击 工具栏中的Step Over (执行下一行)
      • 快捷键F6 看到每一步程序的执行过程
    • 看哪里
      • 看代码区域: 对照看程序执行步骤
      • 看Debug区域: 对照看程序执行步骤
      • 看varable区域: 观察变量的创建、复制、销毁
    • 如何消除断点
      • 把设置断点的方式再执行一遍
      • 切换到Debug视图,选择 Breakpoints -- Remove All Breakpoints 就是2个XX的图标
  1. 项目的删除

  • 在项目区域删除
    • 在左侧PackageExplorer区域对指定项目右键,点击delete删除
  • 在硬盘上删除
    • 在左侧PackageExplorer区域对指定项目右键,点击delete删除,同时选中下面的在硬盘上删除(Delete project contents on disk)

  1. 项目删除
  1. 项目的导入

  • 在左侧的PackageExplorer区域右键,选择 import
  • 选择 General -- Existing Projects into Workspace
  • 选择后,点击 next
  • 在新的窗口中,点击 Browse 找到需要导入的项目(注意,找到项目的名字位置就可以了),选中要导入的项目,点击Copy复选框,点击Finish完成。
  • 注意事项
    • Eclipse中已经存在的同名项目不能再次导入

  1. 项目导入
  1. 超市库存管理系统

    1. 案例介绍

模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现,见下图

  1. 案例需求分析

根据案例介绍,我们进行分析,首先需要一个功能菜单,然后输入功能序号后,调用序号对应的功能方法,实现想要的操作。分析步骤如下

  • 1.完成超市商品初始化。创建商品,将商品添加到集合
  • 2.显示来到超市能做的操作,也就是显示主菜单
  • 3.根据接收到的功能选项,执行对应的功能
  • 3.1.库存货物查询
  • 3.2.添加新货物    
  • 3.3.删除货物
  • 3.4.修改货物
  • 3.5.退出系统,结束main方法的运行
  • 4.循环,回到 2.显示主菜单
  1. 实现代码步骤

每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,我们对商品信息进行封装,编写FruitItem.java文件

public class FruitItem {

int ID;            //商品编号

String name;        //商品名称

double price;        //商品单价

double number;        //商品数量

double money;        //商品金额

}

上述代码中,对商品信息(编号、名称、单价、数量、金额)进行了封装。这样做的好处在于以后只要找到这个商品,就能够知道该商品的每项信息了。

编写FruitStore.java,完成如下功能:

  • 编写main主方法

public static void main(String[] args) {

//定义数组,记录每个商品信息

ArrayList<FruitItem> list = new ArrayList<FruitItem>();

/*

* 1.超市商品初始化

*/

init(list);

while(true){

/*

* 2.显示主菜单

*/

mainMenu();

/*

* 3.根据接收到的功能选项,执行对应的功能

*/

chooseFunction(list);

}

}

上述代码中,通过while(true)循环,完成用户调用不同功能。实现重复功能选择操作。

  • 1.超市商品初始化。创建商品,将商品添加到集合

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 = "新疆原产哈密瓜";

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超市=========================");

:添加新货物 3:删除货物 4:修改货物");

System.out.println("5:退出系统");

}

上述代码,用来完成用户操作界面的显示。

  • 3.根据接收到的功能选项,执行对应的功能

public static void chooseFunction(ArrayList<FruitItem> list) {

System.out.println("请您输入要操作的功能序号:");

Scanner sc = new Scanner(System.in);//键盘输入对象

String choose = sc.next();

//根据接收到的选择,执行对应的功能

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.退出系统,退出JVM

System.out.println("退出系统");

return;

default:

System.out.println("对不起,没有您输入的功能,请重新选择");

break;

}

}

上述代码中,参数list为库存商品集合。当键盘输入功能序号后,通过switch语句匹配后,调用对应的方法完成对应功能的实现。

  • 3.1.库存货物查询

public static void showFruitList(ArrayList<FruitItem> list) {

System.out.println("=======================商品库存清单=======================");

System.out.println("商品编号\t商品名称\t\t商品单价");

//查询每种库存商品信息

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) {

//创建新获取对象

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("对不起,没有这个编号的水果!");

}

上述代码中,通过键盘录入,在库存集合中查找对应的商品编号,如果找到该商品,将该商品删除,否则,提示没有这个编号的商品。

  • 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("对不起,没有这个编号的水果!");

}

上述代码中,通过键盘录入,在库存集合中查找对应的商品编号,如果找到该商品,则键盘录入修改商品信息,否则,提示没有这个编号的商品。

  1. 趣味乐园

如下图所示,完成对应的双色球摇奖功能:

  • 双色球摇奖
    • 随机摇出1-33之间的7个随机数,不能重复
    • 提示:
      • 存储双色球可使用ArrayList集合完成
      • 随机摇出双色球可使用Random类nextInt()方法、ArrayList集合remove()方法完成

第8天 Java基础语法的更多相关文章

  1. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  2. Java基础语法(下篇)

     Java基础语法(下篇) 内容概要:        (1)函数的定义        (2)函数的特点        (3)函数的应用        (4)函数的重载               ...

  3. Java基础语法(上篇)

                     Java基础语法(上篇) 知识概要: (1)关键字的表示与规范       (2)标示符              (3)注释                (4 ...

  4. java——基础语法

    java基础语法 1.关键字:java赋予特殊含义的单词. 2.标识符:程序中开发人员自定义的名词,例如:类名,函数名,变量名(注意事项:①不能以阿拉伯数字开头②不能采用关键字). 3.常量:固定的数 ...

  5. java基础语法(二)--单列模式

    java基础语法(二)--单列模式 /** * 功能:单列模式 * @author Administrator * */ public class SingletonTest { public sta ...

  6. java基础语法(一)

    java基础语法(一) 1.类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念.先有类,然后由类来生成 对象(Object).对象又叫做实例(Instance). 2.类由两大部分构成:属性 ...

  7. Java基础语法入门01

    Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...

  8. Java匹马行天下之JavaSE核心技术——Java基础语法

    Java基础语法 一.   认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...

  9. JAVA基础语法——标识符、修饰符、关键字(个人整理总结)

    JAVA基础语法——标识符.修饰符.关键字 一 . 标识符 1.1    什么是标识符 就是程序员在定义java程序时,自定义的一些名字,例如helloworld 程序里关键字class 后跟的Dem ...

  10. JavaSE入门学习7:Java基础语法之语句(下)

    继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...

随机推荐

  1. 记开发个人图书收藏清单小程序开发(四)DB设计

    早上起来,又改动了一下: 主要是,将非常用信息全部拆分出来,让Table尽量的小,小到不能继续拆分了,这样区分DB逻辑.增加了FileBank存储Book的封面图片,统一管理图片资源. 新添加的Typ ...

  2. Asp.net让某一页设置成gb2312或utf-8的方法

    有些需求,一定要用到utf-8格式,在web.config里面设置<globalization             requestEncoding="utf-8"     ...

  3. Hadoop学习---Hadoop的深入学习

    Hadoop生态圈 存储数据HDFS(Hadoop Distributed File System),运行在通用硬件上的分布式文件系统.具有高度容错性.高吞吐量的的特点. 处理数据MapReduce, ...

  4. Python+Selenium2自动化测试之IE、chrome浏览器启动

    构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上通过脚本来测试. 1.在I ...

  5. GO语言(七)多核并行化的问题

    package main import "fmt" type Vector []float64 func (v Vector) DoSome(i,n int, u Vector, ...

  6. ZT 创建类模式总结篇

    创建类模式总结篇 分类: 设计模式 2012-03-26 09:03 7320人阅读 评论(11) 收藏 举报 编程优化设计模式任务 创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户 ...

  7. 在WAS下找不到主机名称的问题

    发生错误: 联合 ADMU0036E: Deployment Manager 不能根据名称主机 cdzfwas2 在地址 127.0.0.1 查找           期间发生错误:正在回滚到原始配置 ...

  8. 整理了一下关于KVO的姿势

    http://www.jianshu.com/p/d104daf7a062 1) + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)th ...

  9. im2rec 修改resize

    https://github.com/apache/incubator-mxnet/blob/master/tools/im2rec.py#L196 源码是按照比例修改resize. 现在需要改一个自 ...

  10. HDU 6467 简单数学题 【递推公式 && O(1)优化乘法】(广东工业大学第十四届程序设计竞赛)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6467 简单数学题 Time Limit: 4000/2000 MS (Java/Others)    M ...