当前位置: 代码迷 >> 综合 >> Java入门(六)(知识总结,实战演练)
  详细解决方案

Java入门(六)(知识总结,实战演练)

热度:13   发布时间:2024-01-29 03:11:36.0

Java是一门面向对象的语言,但是其基础部分和大部分语言有着类似的语法,可以完成类似的工作,在入门阶段我们需要掌握Java语言的循环、数组等知识,接着我将整理部分本人认为重要的一些知识点,分享给大家。

1.Java原理

  1. Java是一门面向对象的高级编程语言,它具有跨平台的特点,指它可以在多种平台如(windows,linux操作系统)上运行,编写一次,随处运行。

  2. Java程序的编译、运行离不开JDK环境。JDK提供了编译、运行Java程序的所需的各种工具和资源。

2.变量
何为变量?变量即变化的量,能够存储计算结果或者表示值的抽象概念。
变量 通过变量名来访问。
①变量名命名规则:
字母:     a~z 或者 A~Z 
下划线 :         _
美元符号 :     $(不常用)
人民币符号 : ¥(不常用)
数字 :           0~9
②驼峰命名法:当我们在表示较长且复杂的变量时我们常用驼峰命名法
如:className   classNumber 等
③取名一般要有意义:能够容易让自己或者他人理解,更为方便。

3.if,switch选择结构,在我们进行逻辑判断时候经常会用到,在我们Java语句中有着举足轻重的作用。

4.for循环,while循环,do...while循环。

我们在练习的时候,经常会用到循环,通过循环可以解决一些较难的问题,并且可以减少代码量

5.数组:数组是一个变量 引用类型,存储相同数据类型的一组数据
数组基本要素  数组名  值  下标(索引)  类型

 

实战演练:

这里我准备完成一个简单的订餐系统来复习巩固我们所学到的知识。

分析:我们可以看到在这个订餐系统中的实体有如下:

* 1.我要订餐  姓名  菜品(提前预制) 份数 时间(10~20)  地点
* 2.查看餐袋(订单) 编号 订餐人 菜品名 分数 总价 时间 地址 状态
* 3.签收订单  状态
* 4.删除订单  状态
* 5.点赞  菜品信息(编号 菜品名 单价 点赞数)
* 流程控制

1.通过分析我们可以进行系统主体的编写:

            System.out.println("欢迎使用”吃货联盟订餐系统");System.out.println("**********************");System.out.println("1.我要订餐");System.out.println("2.查看餐袋");System.out.println("3.签收订单");System.out.println("4.删除订单");System.out.println("5.我要点赞");System.out.println("6.退出系统");System.out.println("**********************");System.out.println("请选择:");

2.我们可以看到这里有6个选项我们分别进行其中的逻辑分析和操作打印。

①我要订餐

                case 1:System.out.println("***我要订餐***");System.out.print("请输入订餐人姓名:");name=sc.next();System.out.println("序号\t菜品\t单价");for (int i = 0; i < dishes.length; i++){System.out.println(i+1+"\t"+dishes[i]+"\t"+prices[i]+"元");}do{System.out.print("请选择您要点的菜品编号:");choseNum=sc.nextInt();if (choseNum>0&&choseNum<=dishes.length) break;System.out.println("您的输入有误,重新输入");}while(true);do{System.out.print("请选择您需要的份数:");pcs=sc.nextInt();if (pcs>0) break;System.out.println("份数不能小于0,重新输入");}while(true);do{System.out.print("请输入送餐时间(10点~20点整点送餐):");time=sc.nextInt();if (time>=10&&time<=20)break;System.out.println("输入有误,重新输入");}while(true);System.out.print("请输入送餐地址:");address=sc.next();System.out.println("订餐成功");System.out.println("您订的是:"+dishes[choseNum-1]);System.out.println("送餐时间:"+time+"点");double dishPrice=prices[choseNum-1]*pcs;int sendMoney=0;if (dishPrice<NO_SEND_MONEY)sendMoney=6;double totalPrice=dishPrice+sendMoney;System.out.println("餐费:"+dishPrice+"元,送餐费"+sendMoney+"元,总计:"+totalPrice+"元");//插入订单,遍历订单,如果为空,则插入for (int i = 0; i < bills.length; i++) {if (bills[i]==null) {bills[i] = new String[7];bills[i][0]=name;bills[i][1]=dishes[choseNum-1]+" "+pcs+"份";bills[i][2]=time+"点";bills[i][3]=address;bills[i][4]=totalPrice+"元";bills[i][5]="已预订";break;}}System.out.print("输入0返回:");chose=sc.nextInt();break

 

较为类似的其中的查看订单功能就不一一的列出来了。较难的删除功能,本人贴出来希望大家提出宝贵的意见。

                case 4://删除订单需要考虑选择的订单删除后,后面的订单要前移//未完成的订单不能删除System.out.println("*****删除订单******");if(bills[0]==null){System.out.println("订单为空不得删除");System.out.println("输入0返回:");chose=sc.nextInt();break;}System.out.println("序号\t订餐人\t餐品信息\t总金额\t订餐状态");int k = 0;for ( k = 0; k < bills.length; k++) {if (bills[k] == null) {break;}System.out.println((k + 1) + "\t" + bills[k][0] + "\t" + bills[k][1] + "\t" +bills[k][4] + "\t" + bills[k][5]);}int delNum;do {System.out.println("请选择你要删除的订单");delNum =sc.nextInt();if (delNum>0&&delNum<=k)break;System.out.println("订单不存在,请重新输入");}while (true);if(!bills[delNum-1][5].equals("已完成")){System.out.println("未完成的订单不能删除!");}else {for (int s=delNum-1;bills[s]!=null;s++){if(delNum==bills.length){bills[delNum-1]=null;}else {bills[s]=bills[s+1];}}System.out.println("删除完成");}System.out.println("输入0返回");chose = sc.nextInt();break;

谢谢观看!!希望喜欢的朋友关注,点赞。作者在这段时间内已经将Java基础部分的内容大致完成学习。接着作者会持续为大家讲解Java面向对象方面的内容,希望大家持续关注!!!