Java实例教程(3) 货物装载应用程序

2024-02-24 13:18

本文主要是介绍Java实例教程(3) 货物装载应用程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

声明:本系列教程为本人目前编写的一部教材,请勿擅自转载。

如需使用请联系本人:lilizong【at】gmail.com

因图片较多,未将图片一一展示!

教程 3 货物装载应用程序 .... 1

 

3.1 程序概述 .... 1

3.1.1 需求分析 ... 1

3.1.2 运行演示 ... 1

3.2 创建应用程序 ... 3

3.2.1 变量 ... 3

3.2.2算数运算符 ... 4

3.2.3 常量 ... 5

3.2.4 注释 ... 6

3.3 小结 ... 9

 

教程 3 货物装载应用程序

教学目标

通过本教程的学习,将了解以下内容:

l         变量和数据类型

l         算数运算符

l         注释的使用

3.1 程序概述

3.1.1 需求分析

某计算机制造公司要将 1080 台机箱运送到配货中心,已知每辆货车可以装载 100 台机箱,试计算需要多少辆货车?

3.1.2 运行演示

1 定位到源程序文件所在目录

选择“开始”→“附件”→“命令提示符”,打开命令提示符窗口。键入“ e: ”进入 E 盘,键入“ cd book/demo” 然后按下回车键 ( 如图 2.1 所示 ) ,将当前目录定位到应用源程序程序所在目录下。

3.1  定位到文件所在目录

2 编译源程序

在当前命令提示符窗口下键入“ javac Box.java ”并按下回车键运行该程序,程序运行结果如图 2.2 所示。

3.2 编译源程序

3 运行程序

在当前命令提示符窗口下键入“ java Hello ”并按下回车键运行该程序,程序运行结果如图 2.3 所示。

3.3 程序运行结果

4 关闭运行程序

单击命令提示符右上角的关闭按钮,关闭正在运行的程序。

3.2 创建应用程序

3.2.1 变量

变量是 Java 程序的一个基本存储单元。变量由一个标识符,数据类型及一个可选初始值的组合定义。变量命名时,其第一个字母应该小写,在多个单词混合的情况下第一个单词后的所有单词的第一个字母大写,其余字母小写。变量名字因该紧凑而有意义。变量的名字应该是易记忆、易于理解的,即使间隔较长的时间也可以依其名而知其意。另外单字符的变量名应该尽量避免。

根据题目要求,完成如下代码:

1   public class Box1 {

2          public static void main(String args[])

3          {

4                 int goodsNumber=1080;

5                 int goodsOfOneTruck=100;

6                 int TruckNumber=11;   

7                 System.out.print(" 计算机机箱台数为: ");

8                 System.out.println(goodsNumber);

9                 System.out.print(" 每辆货车可以装载的计算机机箱台数为: ");

10               System.out.println(goodsOfOneTruck);

11                System.out.println(" 需要的货车数目为: "+TruckNumber);

12        }

13   }

程序运行结果如图 3.4 所示。

3.4 运行结果

程序中第 4-6 行定义了 3 个整型变量他们的名字分别为: goodsNumber goodsOfOneTruck TruckNumber 。语句的含义分别是将等号右侧的值赋给当前变量。

int ”表示定义的数据类型是整型。 Java 语言的数据类型分为两类:基本数据类型和扩展数据类型。基本数据类型包括: boolean (布尔型)、 char( 字符型 ) byte( 字节型 ) short( 短整型 ) int( 整型 ) long( 长整型 ) float( 单精度浮点型 ) double( 双精度浮点型 ) 8 种,详见表 3-1 。所有基本数据类型的大小(所占用的字节数)都已明确规定好,在各种不同的平台上都保持一致,这一特性有助于提高 Java 程序的可移植性。扩展数据类型是建立在基本数据类型的基础上的。它包括数组、类和接口。复合数据类型是由用户自己定义的、用来限制其他数据的类型。

3-1 基本数据类型

类型

大小(字节)

取值范围

boolean

1

false true

char

2

整个 Unicode 字符集

byte

1

-128~127

short

2

-32768~32767

int

4

-2147483648~2147483647

long

8

-9223372036854775808~9223372036854775807

float

4

± 3.04282347E+38 ~± 1.40239846E-45

double

8

± 1.79769313486231570E+308 ~± 4.94065645841246544E-34

3.2.2 算数运算符

Box1.java 中实现了输出,但是没有实现具体的计算结果。如果需要计算结果就需要对已知条件进行算数运算。 Java 语言中,算数运算符主要有加( + )、减( - )、乘( * )、除( / )、取余( % )。

根据题目要求,运用除法运算符编写程序如下:

1   public class Box2 {

2          public static void main(String args[])

3          {

4                 int goodsNumber=1080;

5                 int goodsOfOneTruck=100;

6                 int TruckNumber=goodsNumber/goodsOfOneTruck;

7                 System.out.print(" 计算机机箱台数为: ");

8                 System.out.println(goodsNumber);

9                 System.out.print(" 每辆货车可以装载的计算机机箱台数为: ");

10               System.out.println(goodsOfOneTruck);

11                System.out.println(" 需要的货车数目为: "+TruckNumber);

12         }

13   }

运行该程序,运行结果如图 3.5 所示。

3.5 运行结果

从程序运行结果可以看到计算结果是错误的。这是因为对于加、减、乘、除四个运算,如果参与运算的是同一类型,那么结果仍为此类型。如果参与运算的是两个整数,而结果中出现浮点数,那么结果采用截尾方式处理。因此,上述例题中“ 1080/100 ”因为参与运算的都是整数,所以对得到的浮点数结果采用截尾处理故得到“ 10 ”。

需要注意的是,如果参与运算的数中有浮点数,则结果也将是浮点数。

因此需要对上述例题需要修改以便得出正确结果。通过分析得知,计算 goodsNumber/goodsOfOneTruck 时,只有当 goodsNumber 恰好等于 goodsOfOneTruck 的整数倍时,能得到正确的结果;否则,将得到错误的结果。通过分析得知,如果将上述算式处理为“( goodsNumber+ goodsOfOneTruck -1 /goodsOfOneTruck ”,即可得到正确结果。这种处理方式也是在网页制作中处理分页的常用方式。

修改过的程序如下:

1   public class Box3 {

2          public static void main(String args[])

3          {

4                 int goodsNumber=1080;

5                 int goodsOfOneTruck=100;

6                 int TruckNumber=(goodsNumber+goodsOfOneTruck-1)/goodsOfOneTruck;

7                 System.out.print(" 计算机机箱台数为: ");

8                 System.out.println(goodsNumber);

9                 System.out.print(" 每辆货车可以装载的计算机机箱台数为: ");

10               System.out.println(goodsOfOneTruck);

11                System.out.println(" 需要的货车数目为: "+TruckNumber);

12        }

13   }

程序运行结果如图 3.6 所示。

3.6 运行结果

3.2.3 常量

每辆货车可以装载的机箱数目为 100 台,这个是固定不变的,为了提高程序的安全性,可以将该数字定义为常量。 Java 语言中用 final 修饰的成员变量表示常量,值一旦给定就无法改变。为了提高程序的可读性,一般将常量名定义为大写形式。

下面的例题定义了一个常量 ONE 用来存储每辆货车可以装载的机箱数目。

1   public class Box4 {

2          public static void main(String args[])

3          {

4                 final int ONE=100;

5                 int goodsNumber=1080;

6                 int TruckNumber=(goodsNumber+ONE-1)/ONE;

7                 System.out.print(" 计算机机箱台数为: ");

8                 System.out.println(goodsNumber);

9                 System.out.print(" 每辆货车可以装载的计算机机箱台数为: ");

10               System.out.println(ONE);

11                System.out.println(" 需要的货车数目为: "+TruckNumber);

12        }

13   }

修改后的程序运行结果为:

3.7 运行结果

3.2.4 注释

在程序中添加必要的注释可以提高程序的可读性,方便以后的维护。 Java 里,可以使用三种注释的方法。分别是:

1 行注释

行注释也称单行注释。行注释使用的格式为:

  // 注释文字

2 段落注释

段落注释也称多行注释,通常当说明文字比较长需要换行时使用段落注释方法。它的格式为:

/*

   注释文字

*/

3 文档化注释

文档化注释也称为 Javadoc 注释。采用这种方法的注释,可以采用 javadoc 命令或工具抽取源文件里的 Javadoc 注释,生成组织有序的帮助文档( HTML 格式的文件)。 Javadoc 注释是一种多行注释,以 /** 开头,而以 */ 结束,注释可以包含一些 HTML 标记符和专门的关键词。使用 Javadoc 注释的好处是编写的注释可以被自动转为在线文档,省去了单独编写程序文档的麻烦。在注释中可以添加“ author ”、“ version ”等有关信息。

为了提高程序的可读性,对 Box4.java 进行修改如下:

1   /**

2   * designed by dont<br>

3   * 2009.1.19

4   * All rights reserved.

5   * @version 0.1

6   * @author dont

7   * @author superdont

8   */

9   public class Box5 {

10        public static void main(String args[])

11         {

12               // 首先定义 ONE ,用来存储每个货车的载货量

13               final int ONE=100;

14               /* 定义一个 int 型变量 goodsNumber ,用来存储

15               计算机机箱的总量 */

16               int goodsNumber=1080;

17               // 计算需要的货车数目

18                int TruckNumber=(goodsNumber+ONE-1)/ONE;

19               // 输出结果

20               System.out.print(" 计算机机箱台数为: ");

21               System.out.println(goodsNumber);

22               System.out.print(" 每辆货车可以装载的计算机机箱台数为: ");

23               System.out.println(ONE);

24               System.out.println(" 需要的货车数目为: "+TruckNumber);

25        }

26   }

在命令提示符内输入“ javadoc –version –author Box5.java ”并按回车键对注释文件进行编译,此时提示注释文档生成完毕,如图 3.7 所示。 Javadoc 参数中的“ version ”、“ author ”保证了生成的注释中含有版本和作者信息。

3.7 javadoc 命令的执行

在“ e:/book/demo ”下打开刚刚生成的注释文档 index.html ,如图 3.8 所示。

3.8 Box5 注释文档

编译执行 Box5.java 文件,执行结果如图 3.9 所示。从程序运行可以看出,程序注释并不会在运行结果中体现出来。

3.7 运行结果

3.3 小结

本教程首先介绍了变量及数据类型,并通过例题演示了数据类型的使用。然后介绍了算数运算符,并通过实例分析了算数运算符的使用及需要注意的问题。最后,介绍了 Java 语言中注释的使用。

 

<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

 

这篇关于Java实例教程(3) 货物装载应用程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/742214

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定