面向程序基础设计 12_第1页
面向程序基础设计 12_第2页
面向程序基础设计 12_第3页
面向程序基础设计 12_第4页
面向程序基础设计 12_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计与实践第二章Java语言基础面向对象程序设计与实践课程组教学目标教学方式重点知识学习目标1.掌握Java中标识符的命名规则2.了解Java中的关键字3.使用Java定义变量或声明常量4.掌握Java中8种基本数据类型的使用方法,了解不同数据类型的转换,包括强制转换和隐式转换5.掌握Java中运算符和表达式的使用6.掌握Java中打印输入和键盘输出的方法1.Java中基本数据类型2.Java中变量的声明3.Java中键盘接收输入本章以理论讲解、效果演示、代码分析为主;要求学生理解Java中变量的使用和声明目录CONTENTS012-1超市购物清单打印022-2计算圆的面积和周长01超市购物清单打印案例描述案例分析关联知识案例实现案例小结案例拓展2-1案例描述设计一个可实现超市购物清单的输出的程序,程序运行的结果如下图所示2-1关联知识Java中的标识符标识符是Java对包、类、方法、参数和变量的命名,在命名时需要遵守以下规则。(1)标识符包括字母、数字、下画线“_”、美元符号“$”。(2)标识符必须以字母、下画线“_”、美元符号“$”开头,不能以数字开头。(3)标识符不能使用Java中的关键字。

表示类名的标识符:每个单词的首字符大写,如Man、GoodMan等。

表示方法和变量的标识符:第一个单词小写,后面单词首字符大写(驼峰原则)2-1关联知识Java中的关键字Java关键字是Java语言保留供内部使用的特定单词符号,具有专门的意义和用途,也称为保留字,不能作为用户取名的标识符。abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseextendsfinalfinallyfloatforgotoifimplementsimportinstanceofintinterfacelongnativenewnullpackageprotectedpublicprivatereturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhile

sumTotalTmpCountaverageb2a<2hight-1#221abcM.J.JohnHigth_1课堂问答-判断哪些是正确的标示符2-1关联知识2-1关联知识常量

常量是指在程序运行过程中固定不变的值,常量初始化后就不能够被改变。Java语言用关键字final来定义常量,常量的声明格式为:2-1关联知识变量

程序设计过程中用到的数据是存放在存储空间中的,在使用这些数据时,要能够正确地访问到这个存储空间。使用变量来访问可操作的存储空间,通过操作变量实现对相应存储空间的操作。

变量作为程序中最基本的存储单元,在使用前必须声明,声明时需要清楚数据类型、变量名和作用域。声明变量的格式为:typevarName[=value];2-1关联知识Java中的数据类型long2-1关联知识Java中的数据类型(1)整型(byte、short、int、long)

四种整型类型的区别在于占用存储空间的大小不同,能够表示的整数的范围不同。

在Java中默认的整型数据类型为int。

若声明long类型的数据需要在数值的后面加上“L”或“l”2-1关联知识Java中的数据类型(2)浮点型(float、double)

两种类型的区别在于占用存储空间的大小不同,能够表示的浮点数的范围和精度不同。

在Java中默认的浮点型数据类型为double。

若声明float类型的数据需要在数值的后面加上“F”或“f”当要表示的数字比较大或比较小时,可以采用科学计数法表示。“e”或“E”之前的常数被称为尾数部分,后面的常数被称为指数部分。如1.35e13或135E11均表示135×10112-1关联知识Java中的数据类型(3)字符型(char)

字符型数据在内存中占2个字节。Java中使用单引号引起来以表示字符常量。Java语言中还可以将“\”作为转义字符将其后的字符转变为其他含义。常用的转义字符及其含义参考教材表2-4。

字符型数据只能存放一个字符,如果存放多个字符的数据则不能使用char类型,此时可以使用字符串类型String,String类型用双引号引起来。2-1关联知识Java中的标识符(4)布尔型(boolean)

布尔型数据只有两个常量值,true和false。布尔型数据通常用来判断条件,用于程序流程控制。(5)基本数据类型的封装

基本数据类型有时需要将数值型转换为数字字符串,或者将数字字符串转换为数值型。在Java中这样的处理是由基本数据类型的封装类来完成的,每个封装类都有一些写好的方法对数据进行处理。基本数据类型对应的封装类参考教材表2-5。2-1关联知识Java中的运算符和表达式

表达式是由操作数(常量和变量)和运算符按一定的语法形式组成的符号序列。一个表达式可以是一个常量或者变量,也可以是计算值的运算式,其有确定类型的值。Java中的运算符如下表所示。算术运算符二元运算符+、-、*、/、%一元运算符++、--赋值运算符=扩展运算符+=、-=、*=、/=关系运算符==、!=、>、<、>=、<=、instanceof逻辑运算符&&、||、!、^&|位运算符>>、<<、>>>、&、|、^、~条件运算符?:字符串连接符+2-1关联知识Java中的运算符和表达式(1)算术运算符%表示求两数相除后的余数,如10%3=1,-7%2=-1。++和--是一元运算符,只需要一个操作数,其功能分别为自身加1或减1。它可以分为前置运算和后置运算,前置运算时运算符放在操作数前面,如++i、--i;后置运算时运算符放在操作数后面,如i++、i--等。不管是前置运算还是后置运算,对于操作数来说其功能都是一样的,即自身增加1或减少1,二者的区别是给其他变量赋值时的顺序不一样。2-1关联知识若a、b为int型变量,并且分别赋值为5和10,则表达式(a++)+(++b)+a*b的值是多少?2-1关联知识Java中的运算符和表达式(4)逻辑运算符和逻辑表达式

逻辑运算的操作数和运算结果都是布尔型值,包含逻辑运算符的表达式就是逻辑表达式。Java中的逻辑运算符如下表所示。运

符含

义说

明&逻辑与两个操作数均为true时,结果才是true;否则,结果为false|逻辑或两个操作数中有一个为true,结果就为true&&短路与左边表达式为false,则结果直接返回false||短路或左边表达式为true,则结果直接返回true!逻辑非取反,即!False=true,!True=false^逻辑异或两个操作数相同时,结果为false;否则,结果为true2-1关联知识Java中的运算符和表达式(6)条件运算符和条件表达式

条件运算符(?:)是三元运算符,由条件运算符组成的条件表达式语法格式如下:逻辑(关系)表达式?表达式1:表达式2

条件运算符的功能是:如果逻辑(关系)表达式的值为true,则取表达式1的值;否则,取表达式2的值。2-1关联知识Java中的运算符和表达式(7)字符串连接符

“+”在Java中是一个有二义性的运算符,它既可以表示加法运算,也可以表示字符串连接运算。如果“+”两侧都是数值型数据,则表示加法运算;如果“+”两侧有一个是string型数据,那么系统将自动把另一个操作数转换为字符串然后进行连接操作。2-1关联知识数据类型转换Java中有8种基本类型,其中除布尔型之外,整型、浮点型和字符型是可以相互转换的。如果一个表达式存在整型、浮点型和字符型数据,则需要将不同类型的数据先转换为同一个类型后再进行运算。

一般情况下,系统自动将容量小的数据类型转换为容量大的数据类型,然后再进行运算。如下图,其中int和long转换为float、long转换为double可能会损失精度。2-1关联知识数据类型转换

如果要将容量大的类型的数据转换成容量小的类型的数据,则需要对数据进行强制类型转换,这样做有可能会导致数据溢出或精度下降。强制类型转换的语法格式为:

当把一种类型的数据强制转换成另一种类型的数据,而值又超出了目标类型的数的表示范围时,数据就会被截断成为一个完全不同的值。

注意:布尔型数据和任何类型的数据之间都不能进行转换。2-1案例分析交流与讨论结合案例分析,思考一下几个问题:需要定义几个变量这些变量的数据类型如何选择计算积分需要用哪个运算符积分的取整如何实现2-1案例实现变量定义每种商品的数量和单价需要定义变量总金额、付款金额、找零和积分需要定义数据类型选择数量和积分是整数,用int金额可以有小数,用double积分计算计算积分使用数学运算符/积分是整数,需要做强制数据类型转换2-1案例小节空格的输出数据类型的选择数据类型转换可以用字符串的形式,也可以用转义字符有小数用浮点型,没有小数一般用整型积分=总金额/10,可能出现小数,但积分只能是整数,需要将浮点型强制转换为整型2-1案例拓展现有5名学生,每个学生有3次成绩,请设计一个计算每名学生的平均成绩的程序,并将5名学生的姓名、3次成绩和平均成绩用表格的形式在控制台打印输出。学生姓名和成绩的数值可以自行确定。02计算圆的面积和周长案例描述案例分析关联知识案例实现案例小结案例拓展2-2案例描述案例2-1中的单价和数量都是在程序中固定的,如果希望在程序运行过程中使用输入的数值来进行计算,程序可以怎么设计?2-2关联知识Java中的输出Java在控制台输出由Java的基类System提供,常用的输出使用的格式有以下两种:格式1:System.out.print(表达式);输出表达式的值后不换行格式2:System.out.println(表达式);输出表达式的值后换行。2-2关联知识Java中的输入Java在JDK1.5版本中增加了Scanner类,来进行简单的键盘输入。Scanner类可以获取任意的输入值,放在Java中util包的,所以在使用前需要在类前加载util包,其语法为:

然后创建一个Scanner类的对象scan,让对象可以调用类中的方法,语法为:

最后用input对象根据值的类型来调用对应的方法,如输入一个整数变量的语法为:2-2案例分析交流与讨论结合案例分析,思考一下几个问题:有哪些需要定义的变量或常量?变量或常量的数据类型的选择需要从键盘上接收的数据是哪个?应该选择哪个方法来接收数据?2-2案例实现数据定义半径在程序运行过程中可以改变的,是变量圆周率在程序运行过程中不会改变的,是常量数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论