您好,欢迎访问三七文档
第3章基本语法Java程序的结构在命令行模块下与程序交互数据与运算流程控制关键字工作场景WF蛋糕店每天都能烤出各种各样的蛋糕,每种蛋糕都有不同的属性,比如价格、重量等,在计算时,需要为其赋予相应的数值。蛋糕店还会举行促销活动,当顾客购足一定重量的蛋糕时,就能获得一定的折扣。3.2Java程序的结构——解释第一个Java程序打印报表时,蛋糕店的收银系统需要输出蛋糕的各种属性,如价格、重量或名称,在需要调整的前提下,做相应地修改。根据以上任务构造一个简单类。3.2Java程序的结构——解释第一个Java程序构造一个Java程序的步骤:构造一个类及其属性和方法;创建main()方法;调用类的方法;检查运行结果。3.2Java程序的结构——为程序加入注释为了增强代码的可读性,需要给方法或变量增加注释来标明代码功能。注释形式:“//”单行注释。表示从此向后,直到行尾都是注释。“/*……*/”块注释。在“/*”和“*/”之间都是注释,块注释不能嵌套。“/**……*/”文档注释。所有在“/**”和“*/”之间的内容可以用来自动形成文档。3.3在命令行模块下与程序互动WF蛋糕店每天的工作量很大,而且大部分是重复工作,需要借助Java的交互机制,与用户进行友好交互,指导员工顺利完成工作。3.3在命令行模块下与程序互动——使用Scanner取得输入创建一个Scanner工具,如下:Scannerscanner=newScanner(System.in);Scanner.next();next()语句取得使用者的输入字符串3.3在命令行模块下与程序互动——使用BufferedReader取得输入应用如下:BufferedReaderbufferedReader=newBufferedReader(newInputStreamReader(System.in));System.out.print(请输入冰淇淋蛋糕的重量(磅):);StringstrWeight=bufferedReader.readLine();3.3在命令行模块下与程序互动——输出格式控制在记录销售量时是以磅为单位,通常采用一位小数,当计算的结果小数部分超过了一位或更多位时,就控制输入的格式。3.3在命令行模块下与程序互动——常用格式控制字符控制字符作用\\反斜线\'单引号'\双引号\uxxxx以十六进制数指定Unicode字符输出\dxxx以八进制数指定Unicode字符输出\b倒退一个字符\f换页\n换行\r光标移至行首\t跳格(一个Tab键)3.3在命令行模块下与程序互动——常用格式转换字符转换字符作用%%在字符串中显示%%d以十进制整数方式输出,提供的数必须是Byte、Short、Integer、Long或BigInteger%f将浮点数以十进制方式输出,提供的数必须是Float、Double或BigDecimal%e,%E将浮点数以十进制方式输出,并使用科学记数法,提供的数必须是Float、Double或BigDecimal%a,%A使用科学记数法输出浮点数,以十六进制输出整数部分,以十进制输出指数部分,提供的数必须是Float、Double、BigDecimal%o以八进制整数方式输出,提供的数必须是Byte、Short、Integer、Long或BigInteger%x,%X将浮点数以十六进制方式输出,提供的数必须是Byte、Short、Integer、Long、或BigInteger%s,%S将字符串格式化输出%c,%C以字符方式输出,提供的数必须是Byte、Short、Character或Integer%b,%B将true或false输出(或TRUE、FALSE,使用%B)。另外,非null值输出是true,null值输出是false%t,%T输出日期/时间的前置,详情请看在线API文件3.4数据与运算创建变量与构建运算表达式是进行数据处理的基础,本节主要介绍Java的数据类型、变量定义、各种运算符,以及相关数据类型之间转换和运算的优先级等。3.4数据与运算——数据类型在描述蛋糕时,主要有重量、价格等信息,那么,若要把这些信息表示出来,应该是什么类型呢?结果:重量是float型、价格是float型。3.4数据与运算——整型整型是那些没有小数部分的数据类型,它又分为下列不同的整数数据类型:byte、short、int和long。3.4数据与运算——浮点型浮点型是带有小数部分的数据类型,也叫实型。Java包括两种不同的实型:float和double。3.4数据与运算——字符型和字符串型字符类型是用于单个的字符,比如字母、数字、标点符号和其他符号。Java使用java.lang包中的String类来创建一个字符串变量,所以字符串变量是类类型变量。可用于存储单个或多个字符。3.4数据与运算——逻辑型逻辑型即boolean型,用于表达两个逻辑状态之一的值:true(真)或false(假)。Java规定不可将boolean看成整型值。3.4数据与运算——常量常量是指在程序运行过程中其值不变的量。常量在表达式中用文字串表示,它区分不同类型。100、-15属整型常量,12.1f属实型常量,’y’属字符常量,true属逻辑常量,”Test”属字符串类型常量。3.4数据与运算——变量在描述一个蛋糕时,主要有编号、名称、重量、价格、金额等信息,请要把这些因素作为变量定义出来。结果如下:StingcakeCode;StingcakeName;floatprice;floatweight;floatsaleSum;3.4数据与运算——算术运算在前面给出了巧克力蛋糕价格和销售量,如果蛋糕店为了促销,给出巧克力蛋糕的八折的折扣,现在需要计算这种蛋糕的一次销售金额。结果如下:floatsaleSum;saleSum=weight*price*0.8;3.4数据与运算——基本算术运算运算符含义例子+加7+9—减6-3×乘5*5/除7/2%取余7%2运算符介绍如下:3.4数据与运算——比较与条件运算WF蛋糕店为了提高蛋糕的销量,规定根据购买量制定不同的价格:购买量低于2磅的一律为原价,大于等于2磅,价格为40。结果:price=weight2?40:50;3.4数据与运算——逻辑与位运算逻辑运算只能处理逻辑值,所得结果都是逻辑值。Java的逻辑运算符有:逻辑与(&&)、逻辑或(||)、逻辑非(!)、逻辑异或(^)。位运算是对整数中的位进行测试、置位或移位处理,是对数据进行按位操作的手段。Java中的位操作数只限于整型。Java的位运算符有:非(~)、与(&)、或(|)、异或(^)、右移()、左移()、0填充的右移()。3.4数据与运算——递增与递减运算在循环统计蛋糕的交易数量时,需保存统计数,以便日后查询。结果:inti=0;//i表示当前已统计的数量i++;//用于自动加1操作递增递减是从一个整数变量上增加或减小1,其中递增运算符是“++”,递减运算符是“--”。3.4数据与运算——运算的优先级表达式的运算次序取决于表达式中各种运算符的优先级。优先级高的先运算,优先级低的后运算,另外还可用括号“()”改变表达式的运算次序。3.5流程控制——if条件语句以冰淇淋蛋糕为例,根据顾客购买的蛋糕重量,给予不同的折扣,并算出实际的应付金额。折扣说明如下:当重量大于等于2磅,小3磅时,打9折;当重量大于等于3磅时,打8折。冰淇淋蛋糕的价格:50元/磅重量:最小为1磅,每0.5磅为一个递增单位,如2.5磅、3.5磅、4磅。3.5流程控制——if条件语句以上例子用if条件语句实现:floatprice,weight;price=50.0f;if(weight=2&&weight3){price=(float)(price*0.9);}if(weight=3){price=(float)(price*0.8);}3.5流程控制——switch条件语句WF蛋糕店在记录蛋糕销售时,只记录编号,而非中文名称,故编号和蛋糕间存在一一对应的关系,方便了蛋糕店的日常事务记录。根据不同的蛋糕编号,应用switch语句可以实现,可以知道不同的蛋糕名称。3.5流程控制——for循环语句假设蛋糕店某天的日销售额为5000元,接下来的9天里,日销售额以每天10%的速度增长,请计算这10天总的销售额。应用如下:for(intn=1;n10;n++){sum=(float)(sum*1.1);System.out.println(第+(n+1)+天销售额为+sum+元);sumAll=sumAll+sum;}3.5流程控制——while循环语句示例内容与for语句相同,现在应用while循环语句来实现。intn=1;while(n10){sum=(float)(sum*1.1);System.out.println(第+(n+1)+天销售额为+sum+元);sumAll=sumAll+sum;n++;}3.5流程控制——do_while循环语句示例内容与for语句相同,现在应用do_while循环语句来实现。intn=1;do{sum=(float)(sum*1.1);System.out.println(第+(n+1)+天销售额为+sum+元);sumAll=sumAll+sum;n++;}while(n10);3.5流程控制——break与continue为了收银方便,要求能够计算出某一顾客的总交易额,只要输入每份蛋糕的金额就能自动累加到这个客户的应付款中,最后输出该顾客的应付款,为了避免操作人员的输入出错,需要增加更正功能。3.5流程控制——break与continuebreak与continue应用:if(result.equals(c)){saleSum=saleSum+saleEvery;continue;}if(result.equals(e)){break;}3.5流程控制——continue【语法】continue语法continue[标号];其中,用“[]”括起的标号部分是可选的。continue语句只能在循环语句中使用。它和break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环语句的执行。continue语句通常有两种使用情况:(1)不带标号的情况(2)带标号的情况3.5流程控制——break【语法】break语法break[标号];其中,用“[]”括起来的标号部分是可选的。break语句不能用于循环语句和switch语句之外的其他任何语句中。break语句通常有两种使用情况:(1)不带标号的情况。(2)带标号的情况。3.6关键字关键字又称保留字,是Java预定义的标识符,这些标识符都具有特定的含义。如下:abstractDoubleintstringbooleanelseinterfaceSuperbreakextendslongswitchbytefinalnativesynchronizedcasefinallynewthiscatchfloatpackagethrowcharforprivatethrowsclassgotoprotectedtransientconstifpublictrycontinueinplementsreturnvoiddefaultimportshortvolatiledoinstanceofstaticwhile小结本章介绍了Java的基本数据类型及其运算符和表达式,它们是进行Java程序设计的基础。Java语言的流程控制分支语句包括:条件语句if-else、多分支语句switch和中断语句break。程序流程控制是编程语言的重要组成。它是控制程序执行步骤的基本手段,是程序的核心部分。用户根据编程所要达到的目的,选择一定的流程控制来实现其算法。
本文标题:第3章 基本语法
链接地址:https://www.777doc.com/doc-3875290 .html