栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

C1实训-Java薪资转换(适合初学者)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C1实训-Java薪资转换(适合初学者)

目录

一、实验任务

二、实验思路

三、涉及知识点

1. Java基本结构

2. Java控制台输入

3. Java控制台输出

4. 基本数据类型

5. 变量

6. while循环

7. 异常捕捉

8. 注释

四、实验过程

1. 创建Java类

 2. 获取用户输入值

 3. 计算并输出

五、实验测试

1. 控制台输入

 2. 参数输入

 六、生成文档


一、实验任务

        用户输入月薪,程序内部实现薪资转换(每月工作22天,一年13薪),并输出到控制台中。 

二、实验思路
  1. Scanner类接收用户输入月薪/通过输入参数给main函数中的接收参数数组args[],并判断输入类型是否正确,如不正确,需要重新获取。
  2. 使用计算公式将需要的日薪、年薪算出来:day=month/22, year=month*13。
  3. 使用System.out.format()方法将日薪、月薪使用固定格式输出。

三、涉及知识点

1. Java基本结构

        类结构:第1行和第5行构成了最外层结构,由一对大括号(“{}”)组成,称之为类结构。“public”,“class”称之为Java中的关键字,表示公共的类,所有人能获取。目前情况下,这两个关键字时必选项,“HelloWorld”是类名。Java代码都是以类为基本单位进行组织,类中可以包含属性和方法。 

         main方法:第2行和第4行是类“HelloWorld”中的方法,同时这也是最特殊的一个方法,所有Java程序都是从main方法开始运行的,因此被称为Java程序的入口。“main”方法必须要用“public”,“static”进行限定,表示公共的,静态的(无需创建对象,就能调用)。“void”代表不返回任何类型,小括号中的“String[] args”是一个参数,代表一个字符串数组,该数组从类外部传入,数组名叫“args”(可自行替换,只是习惯用args)。除了“args”,其他都是固定的,用一个“{}”代表一个方法的开始与结束。

         程序层次结构:代码之间存在嵌套和对齐的情况,Java代码中,指令之间的空格和换行不影响程序的正常执行,IDEA会自动完成代码对齐,使源代码看起来层次结构清晰,类和方法定义时要用大括号进行范围限定,单个语句要用";"结尾,表示语句的结束。

2. Java控制台输入

        从控制台接收用户输入需要三步走:第一步,通过导入包指定Scanner类(“import java.util.Scanner;”),该代码需要写在一开始类的上面;第二步,创建Scanner的对象input,以后用input就可以(“Scanner input = new Scanner(System.in);”),目前阶段暂时将该代码写在“mian”方法中;第三步,通过input对象的不同方法接收用户输入开始使用,注意不同方法的返回数据类型不同,见下图所示。

3. Java控制台输出

        System.out.println()的作用是向控制台(也称命令行窗口)输出文本。“System”是系统定义好的类名,“out”是其中的一个静态成员,为“PrintStream”类型,其中有一个方法是“printf”,用于输出文本。“println”表示输出之后换行,“print”不换行。小括号和双括号中间的内容就是要输出的文本,可以输出字符串(用“”),也可以输出变量,中间用“+”连接。

        特定格式输出:使用System.out.format

在控制台输出时基于格式考虑需要进行相关数字的显示方式进行限定,比如为了对其设置整体显示宽度,比如小数点后留几位数?比如是否按照千位进行逗号隔开等。这里介绍两个可以实现的途径。

        “format”方法与“printf”方法基本效果都一样,都可以向控制台输出内容。但是“format”方法进行一定的格式修饰。

        格式占位符:“%d”表示一个整数;“%f”表示一个浮点数。

        在“%”和“d”(或者是“f”)中间可以指定对齐方式(减号是左对齐)、是否需要千分位分隔符(逗号)、是否指定宽度(整型长度)、小数点后留几位等设置。看如下代码示例。

        输出结果是:“12,345.68 测试”。代码中减号(“-”)表示左对齐;逗号(“,”)表示需要千分位分割;10表示整体占位宽度;“.2”表示小数点后留两位。

4. 基本数据类型

(1)整数类型

        在程序中需要整数类型有四种选择,最常用的是“int”类型,最小值为-2 31,最大值为2 31 -1。其次是“long”类型和“short”类型,取值范围分别是-2 63至2 63 -1和-32,768至32,767(含)。byte类型最小值为-128,最大值为127(含),常用于文件操作。

(2)浮点类型

        程序中遇到有小数点的操作经常用的是double类型(同时也是默认的小数类型),双精度浮点型,取值范围1.797693E+308~ 4.9000000E-324(E+308表示是乘以10的308次方,E-324表示乘以10的负324次方)。float是单精度浮点型,取值范围3.402823E+38 ~ 1.401298E-45。

(3)字符类型

        “char”是单个16位Unicode字符。最小值为'u0000'(或0),最大值为'uffff'(或65,535,含该值)。char类型的数据需要用单引号括起来,存储的是单个字符。

(4)布尔类型

        “boolean”数据类型只有两个可能的值:“true”和“false”,代表“真”和“假”两种状态。通常用于逻辑判断。

5. 变量

        程序中所处理的数据值会被保存到变量中,通过变量名可以取值和赋值。因为Java语言是一个强类型语言,所以类型决定变量可以存储什么样的值。要使用变量必须要先声明是什么类型,然后才能够使用。

        声明变量的语法:数据类型  变量名;

        可以在声明的时候也支持直接给变量名赋值,例如:数据类型  变量名 = 值;

6. while循环

        当while括号内条件为true时,进入循环,当false时,退出循环;另可在程序内部加“break”终止循环。

7. 异常捕捉

        try -- 用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。
        catch -- 用于捕获异常。catch用来捕获try语句块中发生的异常。
        throw -- 用于抛出异常。

8. 注释

        Java代码中的注释分为三种类型,分别是:单行注释、多行注释和文档注释。

(1)单行注释

        通过两个连续的斜杠(“//”)将单行后面出现的内容进行注释,如下图所示。单行注释一般用于方法内部某一个代码行的解释说明。

        在IDEA中,单行注释的快捷键是,再次按撤销注释。

(2)多行注释

        以“”两个符号结尾,中间的内容都是被注释的内容,可以跨多行,当然单行使用也是可以的。如下图所示,在程序开始部分和“main”方法中间分别使用了多行注释,这些被注释的代码不会被执行。多行注释可用于标记修改记录、复杂代码块的实现说明等等场景。

        在IDEA中,多行注释的快捷键是< Ctrl+shift+/>,再次按撤销多行注释。

(3)文档注释

        以“”两个符号结尾,看上去跟多上注释没什么区别。不一样的地方在于使用“javadoc”工具(JDK 自带的工具)来生成信息,并输出到HTML文件中。常常用于类、方法、属性、常量、接口、静态数据的说明,同时提供了很多预定义标签,用“@”符号开始。编写程序的时候有一套特定的标签作注释,程序编写完成后,通过“javadoc”就可以同时形成程序的开发文档了。如下图所示在“HelloWorld”类和“main”方法上面分别写了文档注释。随着Java学习的深入,对于文档注释的使用场景会越来越清楚。

       后续有详细步骤。

四、实验过程

1. 创建Java类

        按图示创建Java工程。

        之后在创建好的Java工程src目录下创建Java类。

        输入类名称就可以进行敲代码啦。如下图,定义两个全局变量,分别是float类型的表示月薪的monthSalary、日薪的daySalary、年薪的yearSalary,并且初始化为0。

 2. 获取用户输入值

      方法一:控制台获取用户输入。使用while循环可以检测用户输入是否正确,如果不正确,可以让其重复输入;输入正确,退出输入。使用Scanner获取用户输入。使用try、catch捕捉错误情况。代码及注释如下:

while (true) {
            //System是系统定义好的类名,“out”是其中一个静态成员
            System.out.print("请输入月薪(人民币):");
            //通过System.in获取控制台输入内容,传给创建的Scanner对象,并用Scanner类型变量(input)接收
            Scanner input = new Scanner(System.in);
            //try里面的代码是正常运行时的
            try {
                //Scanner对象(input)接收下一个浮点型,赋值给月薪
                monSalary = input.nextFloat();
                //原先的Exception没有检查负数的,所以自己设立条件,并将错误throw出去
                //NegativeFloatException为自行创建的Exception继承类
                if (monSalary <=0){
                    throw new NegativeFloatException();
                }
                break;
            //catch捕捉错误类型,当发生该类型错误时,不执行try中后续步骤,执行花括号内的代码
            }catch (Exception e){
                //输出错误信息
                System.out.println("输入有误,请输入正数!");
            }
        }

        方法二:利用main方法的args数组实现参数传递。注意:NegativeFloatException类不在Java苦中的Exception中,因此需要自己创建该类,自设条件,并throw出去。

 //如果没有输入参数,提示
        if(args.length == 0){
            System.out.println("您未传递参数");
            return;
        }
        try {
            //args[0]是字符串类型,转换成数字
            monSalary=Float.parseFloat(args[0]);
            //System是系统定义好的类名,“out”是其中一个静态成员
            System.out.println("您输入的月薪(人民币):"+monSalary);
            //try里面的代码是正常运行时的
            //原先的Exception没有检查负数的,所以自己设立条件,并将错误throw出去
            //NegativeFloatException为自行创建的Exception继承类
            if (monSalary <=0){
                throw new NegativeFloatException();
            }
        //catch捕捉错误类型,当发生该类型错误时,不执行try中后续步骤,执行花括号内的代码
        }catch (Exception e){
            //输出错误信息
            System.out.println("输入有误,请输入正数!");
            return;
        }

 3. 计算并输出
        daySalary = monSalary/22;
        yearSalary = monSalary*13;
        System.out.format("您的日薪:¥%,.2f",daySalary);
        System.out.println();
        System.out.format("您的月薪:¥%,.2f",yearSalary);

五、实验测试

1. 控制台输入

        正常输入结果

         输入非正浮点数

 2. 参数输入

        不同集成器输入的步骤不同。

        此处以IDEA为例,按图示点击菜单栏中的"Run"中的"Run"选项。

        点击“Edit Configurations”。

         正常参数的输出结果。

         非正浮点数输出结果(负数):

         非正浮点数输出结果(非数字):

 六、生成文档

        使用文档注释自动生成文档。

        通过IDEA提供的“javadoc”生成功能可以很方便直观的得到文档注释的输出效果。接下里说明一下操作步骤。首先,如下图所示,单击菜单中的“Tools→Generate JavaDoc…”

        在“Generate JavaDoc”对话框中进行相关配置,如图所示。

        上图中标记为1的地方选择了单个文件;标记为2的地方指定输出“THML”文件(网页文件)的路径;标记为3的地方勾选了文档注释中指定的两个标签复选框;标记为4的地方填写向“Javadoc.exe”程序传递的参数。参数需要写在一行,为了方便解释以换行形式展示。

  1. “-encoding UTF-8”表示你的源代码是基于 UTF-8 编码的,以免处理过程中出现乱码;
  2. “-charset UTF-8”表示在处理并生成网页文档时使用的字符集也是以“UTF-8”进行编码;
  3. “-windowtitle”表示生成的网页文档在浏览器中打开时,浏览器窗口标题栏要显示的文字;
  4. “-link”表示如果生成的文档会中涉及到对其他外部Java类的引用,通过指定“https://docs.oracle.com/en/java/javase/11/docs/api”参数,可以直接指向官方API对应的详细文档地址。
  5. 单击图2-7的“OK”按钮后开始生成说明文档,如图所示。

 


结语

每一门语言的基础是一定要打牢的,希望此博客对大家有用!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356715.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号