《JAVA程序设计 第一章 认识JAVA.ppt》由会员分享,可在线阅读,更多相关《JAVA程序设计 第一章 认识JAVA.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA程序设计程序设计 第一章第一章 认识认识JAVAJava程序设计实例与操作2.1 了解了解Java的标识符与关键字的标识符与关键字 下面我们通过一个 简单的程序来学习java中的标识符与关键字。/Example2_1.javapackage Chapter2; /声明程序所在包import java.util.Scanner;public class Example2_1 public static void main(String args) int x, y, z; / 声明三个变量System.out.println(请输入两个整数:); / Scanner类表示一个文本扫描器,
2、 /它可以扫描从键盘上输入的字符Scanner in = new Scanner(System.in); / 方法nextInt()返回键盘上输入的一个整数x = in.nextInt();y = in.nextInt();z = x + y;System.out.println(x + + + y + = + z);Java程序设计实例与操作 上例中,类名Example2_1,变量名x、y和z,对象名in等均属于用户定义的标识符,而public、class、static、void、int等均属于Java语言本身定义的关键字。 一、一、JavaJava标识符的命名规则标识符的命名规则 Java
3、的标识符命名规则如下:(1)标识符由字母、数字、下划线、美元符号组成,没有长度限制。(2)标识符的首字符必须是字母、下划线(_)或美元符号($)。(3)标识符中的字母是区分大小写的,比如Dog和dog是不同的标识符。(4)常量通常以大写字母英文单词命名,变量通常以小写字母英文单词命 名。如果一个变量名由多个单词构成,第一个单词为小写,第二个单 词首字 母大写,如anInt。(5)类的标识符通常以大写英文字母开始。(6)Java关键字、保留字等不能作为用户自定义标识符使用。 Java程序设计实例与操作 关键字(keyword)是指编程语言预先定义的标识符,在程序中有其特殊的含义,用户不能将其作为
4、自定义标识符。 二、二、JavaJava关键字与保留字关键字与保留字 abstract(抽象)assert(断言)boolean(布尔)break(中断)byte(字节)catch(捕获)char(字符)class(类)continue(继续)default(默认) do(做)double(双精度)else(否则)enum(枚举)extends(继承)false(假)final(最终)finally(最终)float(单精度浮点)for(当时候)if(如果) implements(实现) import(引入)instanceof(是的实例)int(整数)interface(接口)long(长整
5、数)native(本地)new(新建)null(空)package(打包)private(私有)protected(受保护)public(公共)return(返回)short(短整数)static(静态)strictfp(精确浮点)super(超级的)switch(转换) synchronized(同步)this(这个)throw(抛出)throws(抛出)transient(暂时的)true(真)try(尝试)void(空的)volatile(易变的) while(当时候)Java程序设计实例与操作 保留字(reserved word)是指Java语言预留的但暂时没有使用的关键字。对于保留字
6、,用户也不能将其作为标识符使用。byValue(按值)case(情形)const(常量)future(将来)generic(类属)goto(跳转到)inner(内部)outer(外部)operator(运算符)rest(余数)var(变量) Java程序设计实例与操作2.2 了解Java的数据类型 一、一、JavaJava的数据类型的数据类型 Java的数据类型分为简单数据类型和复合数据类型。 数据类型简单数据类型 复合数据类型 数值类型 整型(byte,short,int,long) 浮点型(float,double) 字符型(char) 布尔型(boolean) 类(class) 接口(i
7、nterface) 数组 Java程序设计实例与操作数据类型关键字所占位数默认值取值范围布尔型boolean8falsetrue,false字节型byte80-27 27-1(-128127)短整型short160-215 215-1(-3276832767)整型int320-231 231-1(-2 147 483 6482 147 483 647)长整型long640-263 263-1单精度型float320.03.4e-0383.4e+038双精度型double640.01.7e-3081.7e+308字符型char16u0000u0000uFFFF(1)byte、short、int、
8、long均用于表示整数,只不过它们的取值范围不同。(2)float和double均用于表示浮点型数值,其区别在于它们所能表示的数值范围 和精度不同。其中,double型比float型可以存储范围更大,精度更高的数值。(3)字符型(char)用来表示Unicode字符集中的符号,如各种控制字符、字母、 数字和汉字。Unicode字符集采用十六进制数表示每一个字符,如u0061表 示小写字母a。(4)布尔型(boolean)只有“真”(true)和“假”(false)两个值。 Java程序设计实例与操作package Chapter2;public class DataTypeConvert pu
9、blic static void main(String args) char c1 = a, c2 = b, c3; / 声明三个字符变量 int x1 = 10, x2, x3;/ 声明三个整型变量 float y1 = 20.56F, y2;/ 声明两个浮点型变量 c3 = (char) (c1 + c2);/ 两个字符相加,结果为整型。由于c3为字符型, / 故必须将整型强制转换为字符型 x2 = x1 + c1; / 整型加字符型(实际上是字符的ASCII码值),结果为整型 x3 = (int) (x1 + y1); / 整型加浮点型,结果为浮点型。由于x3为整型, /其级别低于浮点
10、型,故必须进行强制转换 y2 = x1 * y1; / 整型与浮点型相乘,结果为浮点型 System.out.println(c3= + c3 + x2= + x2 + x3= + x3); System.out.println(y2= + y2);二、数据类型转换二、数据类型转换 在编写程序时,由于参与运算的变量或常量的数据类型不同,或者表达式结果与目标变量的数据类型不同,我们会经常碰到数据类型的转换问题。 Java程序设计实例与操作 程序的运行结果: c3=? x2=107 x3=30 y2=205.599991简单数据类型的优先级简单数据类型的优先级 在Java中,为了规范简单数据类型的
11、转换,系统基于各种简单数据类型取值精度的不同,为各种简单数据类型规定了不同的优先级,具体如下:(byte、short、char) int long float double 2数据类型的自动转换与强制转换数据类型的自动转换与强制转换 在参与运算的数据包含多种数据类型,或者赋值语句中左侧赋值变量和右侧表达式结果类型不同时,有如下几个原则: 如果赋值变量的数据类型优先级高于表达式结果数据类型的优先级,则表达式结果的数据类型将被自动转换为赋值变量的数据类型。 如果赋值变量的数据类型优先级低于表达式结果数据类型的优先级,或者两者同级,则表达式结果的数据类型必须强制转换为赋值变量的数据类型。 Java程
12、序设计实例与操作三、各种数据类型数据的表示方式三、各种数据类型数据的表示方式 1整型数值整型数值 整型数值有三种表示形式:十进制整数、八进制整数和十六进制整数,其特点如下:十进制表示方法:由正、负号和数字09组成,但数字部 分不能以0开头 。例如:int x=10, y=-24; 八进制表示方法:由正、负号和数字07组成,数字部分以0开头 。例如:short x=010, y=-024;十六进制表示方法:由正、负号,数字09,字母AF或af(表示数值1015)组成,数字部分以0X或0 x开头 。例如:int x=0 xffff, y=-0X3D4; 提示提示:对于长整型变量来说,数值后必须添加
13、后缀字母L或l。同时,由于小写字母“l”很容易与阿拉伯数字“1”混淆,建议使用“L” 。Java程序设计实例与操作 2浮点型数值浮点型数值 浮点型数值有如下两种表示方式:(1)小数表示法,它由整数部分和小数部分组成, 例如:4.0,5.32。(2)科学表示法,它常用来表示很大或很小的数,表示方 法是在小数 表示法后加“E”或“e”及指数部分。但要注意, “E”或“e”前面必须有 数字,指数部分可正可负,但必须都是整数。例如:4.2E-5,3E6。 3字符值字符值 字符值有普通字符表示法和转义字符表示法两种。例如:char c1 = a, c2 = n, c3=人;普通字符表示法是用单引号括起来
14、的一个字符,而且区分大小写, 例如:A和a是两个不同的字符,而VC是不合法的。 转义字符表示法的格式为“字符”,主要用来表示一些无法显示的字符, 如回车符、换行符、制表符等。 Java程序设计实例与操作字符形式ASCII值功 能 a 0 x07响铃 b 0 x08退格 t 0 x09横向制表符 n 0 x0a换行 r 0 x0d回车 0 x5c反斜杠 0 x27单引号 0 x22双引号 常用的转义字符及其功能:4字符串值字符串值 字符串值是使用双引号括起来的零个或多个字符,且字符串中可以包含转义字符。例如:String c1 = I am Java!; String c2 = n换行; 5布尔
15、型值布尔型值 布型尔数据只有两个值:true和false,分别表示真和假。例如:boolean cond1 = true, cond2 = false; Java程序设计实例与操作2.3 了解了解Java的变量和常量的变量和常量 一、声明变量的方法一、声明变量的方法 变量是指在程序运行过程中可以发生变化的量,它用于在程序运行时临时存放数据。声明变量的语法格式如下: datatype variablename1 ,variablename2,variablename3.; datatype表示Java中任意的数据类型;variablename1表示任意合法的变量名。我们可以同时声明多个变量,各变
16、量之间用逗号分隔。例如:char a; int i1,i2; Java变量又分为成员变量(位于类中方法体以外的变量)和方法变量(位于方法体内的变量,又称局部变量)。对于成员变量而言,我们还可以为其增加访问控制修饰符(如public、private等)和“static”字样,以限制访问变量的权限和变量的创建方式。 例如: public int var2; public static int var3; Java程序设计实例与操作 二、声明常量的方法二、声明常量的方法 常量是指在程序运行过程中不能改变的量,它用来记忆一个固定的数值。也就是说,常量只能被赋值一次。 在Java中,常量用final来声
17、明,而且常量名全部用大写字母,以便与变量名有所区别。 定义常量的的一般格式如下: final datatype CONSTANTNAME=值或表达式; datatype表示Java中的任意数据类型,CONSTANTNAME是用户自定义的合法的常量名, 例如: final double PI = 3.14, RADIUS = 20; final double CIRCUMFERENCE = 2 * PI * RADIUS; Java程序设计实例与操作2.4 了解了解Java的运算符与表达式的运算符与表达式 运算符是指具有运算功能的符号。参与运算的数据称为操作数,运算符和操作数按照一定规则组成的式
18、子称为表达式。 根据操作数个数不同,可以将运算符分为三种:单目运算符(又称一元运算符)、双目运算符(又称二元运算符)和三目运算符(又称三元运算符)。 根据运算符的性质或用途不同,Java中的基本运算符分为以下几类:(1)算术运算符:+,-,*,/,%,+,- -(2)关系运算符:,=,&,|,(5)赋值运算符:= ,+=,-=,*=,/= ,%=等(6)条件运算符:?和:成对使用Java程序设计实例与操作一、算术运算符及其表达式一、算术运算符及其表达式 算术表达式由算术运算符和操作数组成,用于完成基本的算术运算。算术表达式的操作数包括常量、变量等。根据操作数个数的不同,算术运算符可以分为双目运
19、算符和单目运算符两种。 分 类运算符名 称示 例示例描述双目运算符+加法A + BA加B-减法A BA减B*乘法A * BA乘B/除法A / BA除以B%取余运算A%BA除B取余数单目运算符+正号+A正A-负号-A负A+自增+A,A+A自加1-自减-A,A-A自减1Java程序设计实例与操作二、关系运算符及其表达式二、关系运算符及其表达式 关系表达式由关系运算符和操作数组成,用来比较两个操作数的大小,比较的结果是一个布尔值(True或False)。操作数可以是算数表达式、布尔表达式、整数、浮点数和字符等。 运算符名 称示 例示例描述=等于A=BA等于B吗?!=不等于A!=BA不等于B吗?大于A
20、BA大于B吗?小于A=大于等于A=BA大于等于B吗?=小于等于A=BA小于等于B吗?Java程序设计实例与操作三、逻辑运算符及其表达式三、逻辑运算符及其表达式 逻辑表达式由逻辑运算符和操作数组成。操作数为布尔值或布尔表达式,运算结果是布尔值。 运算符名 称示 例示例描述!逻辑非!AA为true时结果为false,A为false时结果为true&逻辑与A&BA、B同为true时结果为true,否则为false|逻辑或A|BA、B同为false时结果为false,否则为true逻辑异或ABA、B同为true时或同为false时结果为false,否则为true提示:提示:“&”和“|”运算符又分别称
21、“短路与”和“短路或”。如果“短路 与”左边的表达式值为false,则整个逻辑表达式的值为false,编译器不再运算右边的表达式。同样,如果“短路或”左边的表达式值为true,则整个逻辑表达式的值为true,右边的表达式也不会再运算。 Java程序设计实例与操作四、赋值运算符及其表达式四、赋值运算符及其表达式 赋值表达式由赋值运算符和操作数组成。赋值运算符用于将其右侧表达式的值赋给左侧变量。在Java中,使用“=”作为赋值运算符,它不同于数学中的等号。 运算符示 例示例表达式等价于+=A += BA = A + B (两数相加)-=A -= BA = A - B (两数相减)*=A *= BA
22、 = A * B (两数相乘)/=A /= BA = A / B (两数相除)%=A %= BA = A % B (两数求余)&=A &= BA = A & B (两数按位与)|=A |= BA = A | B (两数按位或)=A = BA = A B (两数按位异或)=A = BA = A =A = BA = A B (A带符号右移B位)=A = BA = A B(A无符号右移B位)Java程序设计实例与操作五、条件运算符及其表达式五、条件运算符及其表达式 条件运算符属于三目运算符,即包含3个操作对象,其语法格式如下: expression1 ? expression2 : expressi
23、on3;表达式expression1的值必须为布尔型,表达式expression2与表达 式expression3的值可以为任意类型,且类型可以不同。 条件表达式的值取决于expression1的判断结果。如果expression1 的值为true,则执行表达式expression2,否则执行表达式expression3。 编写程序时,对于一些简单的选择结构,使用三目运算符来实现会更简捷。例如: int x = 20; int y = 10; int max = x = y ?x : y;Java程序设计实例与操作六、位运算符及其表达式六、位运算符及其表达式 Java提供了可以直接对二进制数进
24、行操作的位运算符 。 分类运算符名 称示 例运算符说明按位运算按位取反A这是一个单目运算符,用来对操作数中的位取反,即1变成0,0变成1&按位与A&B对操作数中对应的位进行与运算。如果相对应的位都是1,结果位就是1,否则就是0|按位或A|B对操作数中对应的位进行或运算。如果两个对应的位都是0,结果位为0,否则为1按位异或AB对操作数中对应的位进行异或运算。如果对应的位各不相同,例如一个位是1,另一个位是0,结果位为1。如果对应的位相同,结果位为0移位运算左移Aa将一个数的各二进制位全部左移a位,移出的高位被舍弃,低位补0。例如:6 2 = (00000110) 带符号右移Aa将一个数的各二进制
25、位全部右移a位,移出低位被舍弃,符号位不变,且逐次右移(称为符号位扩展)例如:92=(00001001)2=(00000010)=2-92=(11110111)2=(11111101)=-3其中0,1表示符号位无符号右移Aa与带符号右移基本相同,其区别是符号位右移,最高位补0。例如:-9 2 = (11110111) 2=(00111101)= 0 x3dJava程序设计实例与操作七、运算符的优先级七、运算符的优先级 运算符的优先级决定了表达式中运算符执行的先后顺序,而通过改变运算符的结合方向和使用括号可以改变执行的顺序。 优先级运算符结合方向1(), (下标运算符,引用数组元素), (分量运
26、算符,用于引用对象属性和方法)从左向右2!,+(正), -(负), , +, -从右向左3*, /, %从左向右4+(加),-(减)从左向右5,从左向右6,=,instanceof从左向右7=,!=从左向右8&(按位与)从左向右9(接位异或)从左向右10|(按位或)从左向右11&(逻辑与)从左向右12|(逻辑或)从左向右13?:从右向左14=,+=,-=,*=,/=,%=,&=,|=,=,=,=,=从右向左Java程序设计实例与操作2.5 熟悉熟悉Java程序的流程控制语句程序的流程控制语句 Java的程序流程控制分为顺序结构、选择结构、循环结构和跳转语句。 一、顺序结构一、顺序结构 顺序结构
27、就是按照程序代码先后顺序自上而下地执行,直到程序结束,中间没有任何判断和跳转。 二、选择结构二、选择结构 选择结构(又称分支结构)用于判断给定的条件,根据判断的结果来控制程序的流程。选择语句包括if语句和switch语句,它们用来解决实际应用中按不同情况进行不同处理的问题。 Java程序设计实例与操作1 1ifif语句语句 if 语句是通过判断给定表达式的值来决定程序流程的。if语句有多种形式,最常见的有如下三种:第一种形式:if (expression)statement; 第二种形式:if (expression)statement;elsestatement;Java程序设计实例与操作表
28、达式expression的结果只能是布尔型,即此表达式的结果只能是true或 false。当表达式expression为true时执行if所对应的代码块,否则,如果有else则 执行else对应的代码块。 第二种形式和第三种形式是相通的,如果第三种形式中else if代码块不出 现,则变成第二种形式。else语句必须和if或else if配对使用,else总是与离它最近的if或else if配 对,可以通过大括号来改变配对关系。第三种形式:if (expression)statement;else if(expression)statement;/可以有零个或多个else if语句else /
29、最后的else语句也可以视情况省略statement;Java程序设计实例与操作实例实例2-1 计算税款计算税款 在我国,个人所得税是基于纳税人的情况和应征收入计算的。纳税人情况共分为三种:单身纳税人、已婚纳税人和家庭纳税人。另外,对于不同情况的纳税人,其税率是分档计算的,中国2008年的税率如下表所示。例如:如果是单身纳税人,可征税收入为10000元,则前6000元的税率为10%,后4000元的税率为15%,则需要缴纳的税额为1200元。 税率单身纳税人已婚纳税人家庭纳税人10%低于6000¥低于等于12000¥低于等于10000¥15%6001¥-27950¥12001¥-46700¥10
30、001¥-37450¥27%27951¥-67700¥467001¥-112850¥37451¥-96700¥30%67701¥-141250¥112851¥-171950¥96701¥-156600¥35%14251¥及以上171951¥及以上156601¥及以上Java程序设计实例与操作【技术要点技术要点】 程序定义两个变量分别表示纳税人的情况和可征税收入,其中用程序定义两个变量分别表示纳税人的情况和可征税收入,其中用0表示单身纳税人,表示单身纳税人,1表示已婚纳税人,表示已婚纳税人,2表示家庭纳税人。表示家庭纳税人。 对每一种纳税人的情况,有五种税率,每种税率对应特定的可征税对每一种纳税
31、人的情况,有五种税率,每种税率对应特定的可征税收入。例如:一个单身纳税人的收入是收入。例如:一个单身纳税人的收入是10 0000元,则元,则6000元部分的税元部分的税率为率为10%,6000-27950部分为部分为15%,27950-67700部分为部分为27%,67700-100000部分为部分为30%。 步骤1:启动Eclipse,在Chapter2包中创建类ComputeTax,并编写如下代码。/ ComputeTax.javapackage Chapter2;import java.util.Scanner;public class ComputeTax public static
32、void main(String args) double income = 0.0;/定义可征税收入 int status = 0;/定义纳税人的情况 double tax = 0; /定义税额 /提示用户输入纳税人的类型 System.out.println(请输入纳税人的类型:0-单身,1-已婚,2-家庭);Java程序设计实例与操作 Scanner inStatus = new Scanner(System.in);if (inStatus.hasNextInt() status = inStatus.nextInt();/输入纳税人的类型System.out.println(请输入可
33、征税收入:);Scanner in = new Scanner(System.in);if (in.hasNextDouble() income = in.nextDouble();/输入可征税收入 if (status = 0) /计算单身纳税人的缴纳税额 if (income = 6000) tax = income * 0.10; else if (income = 27950) tax = 6000 * 0.10 + (income - 6000) * 0.15; else if (income = 67700) tax = 6000 * 0.10 + (27950 - 6000) *
34、 0.15 + (income - 27950)* 0.27; else if (income = 141250)tax = 6000 * 0.10 + (27950 - 6000) * 0.15 + (67700 - 27950) * 0.27 + (income - 67700) * 0.30; elsetax = 6000 * 0.10 + (27950 - 6000) * 0.15 + (67700 - 27950) * 0.27+ (141250 - 67700) * 0.30 + (income - 141250) * 0.35; else if (status = 1) /计算已
35、婚纳税人的缴纳税额 else if (status = 2) /计算家庭纳税人的缴纳税额System.out.println(纳税人需要缴纳的税额为 + tax + ¥); Java程序设计实例与操作步骤2:保存文件并运行程序 ,程序的运行结果如下所示。2switch语句语句 switch语句(多分支语句)是通过数据匹配的方式实现程序的多分支控制 。Java程序设计实例与操作switch (expression) case value1: statement1; break; case value2: statement2; break; ./可以有多个case代码块 case value N
36、: statementN; break; default: default statement; 表达式expression的返回值类型只能是char、byte、short或int型。 switch语句先取得表达式expression的返回值,然后根据返回值依次与每个case语句所对应的value1,value2,valueN值匹配,如果匹配成功则执行对应的代码块。 case语句所对应的value值必须为常量,而且各value值应当不同。 break语句用来在执行完相应的case分支语句后跳出switch语句,否则将顺序执行后面的语句。 default是可选的,当表达式的值与任何的value值
37、都不匹配时,则执行default代码块。如果没有default语句时,则程序不做任何操作,直接跳出switch代码块。 Java程序设计实例与操作实例实例2-2 输出某年某个月的天数输出某年某个月的天数 【实例描述】 本程序运行时,将在屏幕上输出指定年份中指定月份的天数。读者可通过此实例进一步熟悉多分支语句switch的语法格式及其用法。【技术要点】 一年有12个月,其中1、3、5、7、8、10、12月的天数为31天;4、6、9、11月的天数为30天;闰年时,2月份的天数为29天,其他年份为28天。判断当前年份是否为闰年,如果为闰年,则该年份应能被4整除,但不能被100整除,或者该年份能被40
38、0整除。Java程序设计实例与操作 步骤1:启动Eclipse,在Chapter2包中创建类ShowDays,并编写如下代码。 package Chapter2;import java.util.Scanner;public class ShowDays public static void main(String args) System.out.println(请输入年份:);Scanner inYear = new Scanner(System.in);int year = inYear.nextInt(); /输入年System.out.println(请输入月份:);Scanner
39、inMonth = new Scanner(System.in);int month = inMonth.nextInt();/输入月份int numDays = 0;switch (month) /以月份作为分支条件case 1:case 3:case 5:case 7:case 8:case 10:Java程序设计实例与操作 case 12: numDays = 31; /1、3、5、7、8、10、12月天数为31break;/跳出switch语句 case 4: case 6: case 9: case 11: numDays = 30;/4、6、9、11月天数为30 break; ca
40、se 2:/对于2月,根据是否为闰年判断当月天数if (year % 4 = 0) & !(year % 100 = 0) | (year % 400 = 0) numDays = 29; else numDays = 28;break; System.out.println(year + 年 + month + 月份 + 有 + numDays + 天); 步骤2:保存并运行程序,查看程序的运行结果。Java程序设计实例与操作三、循环结构三、循环结构 利用循环结构可以重复执行某一段代码,直到不满足循环条件为止。循环结构主要有for、while和do-while三种循环语句 。1for语句语句
41、 for语句通常适用于明确知道循环次数的情况,其语法格式如下: for (initialization;condition;iteration) statement; 循环的初始化(initialization):只在循环开始前执行一次,通常在 此进行迭代变量的定义 。条件(condition)表达式:这是一个布尔类型表达式,如果其值为 真,执行循环体内的语句(statement),如果为假则结束循环。 迭代(iteration)表达式:通常是迭代变量的自增或自减运算表达 式,在循环体执行完毕时执行。 Java程序设计实例与操作2while语句语句 3do-while语句语句 while语句通
42、常用于重复执行次数不确定的循环,其语法格式如下: while(expression) statement; expression是一个布尔表达式;while语句首先取得expression的返回值,当返回值为true时,执行循环体中的语句statement,否则,循环结束。 do-while语句与while语句的区别在于第一次循环时,while语句是先判断循环条件,再循环,如果条件为假,则循环体不会被执行。而do-while语句则是先执行循环体后判断。 do-while语句的语法格式如下: do statement; while(expression);Java程序设计实例与操作实例实例2-3
43、 游戏中生命力购买问题游戏中生命力购买问题 【实例描述】【实例描述】 在一场名为Game的游戏中,作为玩家的你手头拥有若干个金币。为增加生命力,你需要购买仙女草和银河梭两件宝物。其中仙女草每件售价20个金币,可增加玩家30个单位的生命力;银河梭每件售价16个金币,能够增加玩家20个单位的生命力。 编程求出一种最佳购买方案,使得用你的金币购买的宝物能够最大限度地增加你的生命力(不一定要用完所有金币),并输出最佳方案中每件宝物的购买数量。【技术要点】【技术要点】 首先输入金币的数量,然后计算出这些金币所能购买的仙女草和银河梭的最大与最小数量;随后构造双层嵌套的循环结构,外层循环以仙女草的数目为循环
44、变量,内层循环以银河梭的数目为循环变量;循环体中找出能够得到最大生命力的购买方案,并记录下购买方案中各变量值,最后输出结果。Java程序设计实例与操作package Chapter2;import java.util.Scanner;public class Game static final int FGVALUE = 20;/定义仙女草的售价static final int GSVALUE = 16;/定义银河梭的售价static final int FGLIFE = 30;/定义仙女草增加的生命力static final int GSLIFE = 20;/定义银河梭增加的生命力publi
45、c static void main(String args) int goldcoin = 100;/定义金币的数量 int fg_num = 0, gs_num = 0; /定义仙女草与银河梭的数量 int max_life = 0; /定义最大生命力值 System.out.println(请输入金币的数量为:); Scanner in = new Scanner(System.in); goldcoin = in.nextInt(); for (int fg_loop = 0; fg_loop = (goldcoin / FGVALUE); fg_loop+)for (int gs_l
46、oop = 0; gs_loop = (goldcoin / GSVALUE); gs_loop+) if (fg_loop * FGVALUE + gs_loop * GSVALUE) max_life) fg_num = fg_loop;/记录仙女草的数量 gs_num = gs_loop;/记录银河梭的数量 max_life = FGLIFE * fg_loop + GSLIFE * gs_loop; System.out.println(购买的宝物最多能增加你 + max_life + 个生命力!); System.out.println(购买仙女草的数量为 + fg_num); Sy
47、stem.out.println(购买银河梭的数量为 + gs_num);Java程序设计实例与操作四、跳转语句四、跳转语句 通过跳转语句可以实现程序流程的跳转。 Java中的跳转语句包括break语句、continue语句和return语句。 1break语句语句 break语句可以用在循环语句的内部,用来结束循环。 public static void main(String args) int i = 0; while(i 10)/i10时执行while循环 i+;/i自身加1 if(i = = 5)/如果i等于5,则退出循环 break ; System.out.println(i);
48、/输出i值 System.out.println(循环结束); Java程序设计实例与操作2continue语句语句 continue语句只能用在循环语句内部,用来跳过本次循环,继续执行下一次循环。 在while和do-while循环结构中使用continue语句,表示将跳转到循环条件处继续执行;而在for循环结构中使用continue语句,表示将跳转到迭代语句处继续执行。 public static void main(String args) int i = 0; while(i 4) i+; if(i = = 2) /当i等于2时,执行continue语句 continue; /跳过过本
49、次循环,直接执行下一次循环 System.out.println(i); /当执行continue语句后,这行代码将执行不到 System.out.println(循环结束);Java程序设计实例与操作3return语句语句 return语句用在方法中,作用是终止当前方法的执行,返回到调用该方法的语句处,并继续执行程序。 return语句的语法格式如下: return expression; return语句后面可以带返回值,也可以不带。 表达式expression可以是常量、变量、对象等。return语句后面表达式的数据类型必须与方法声明的数据 类型一致。 当程序执行return语句时,先计
50、算表达式的值,然后将表达式的值返回到调用该方法的语句处。位于return语句后面的代码不会被执行,所以return语句通常位于代码块的最后。 Java程序设计实例与操作2.6 掌握掌握Java程序的注释用法程序的注释用法 单行注释以双斜杠“/”开始,终止于本行结束。单行注释多用于对一行代码的简短说明。 多行注释以“/*”开始,以“*/”结束,两者之间的所有字符都是多行注释的内容。多行注释通常用于对文件、方法、数据结构等的说明,或者算法的描述。多行注释一般位于方法的前面,起引导作用,也可以根据需要放在其他合适的位置。 文档注释以“/*”开始,以“*/”结束,在此之间的所有字符都是文档注释的内容。