Java语言程序设计基础ppt课件.ppt

Java语言程序设计基础ppt课件.ppt

ID:59417066

大小:249.50 KB

页数:78页

时间:2020-09-19

上传者:U-5097
Java语言程序设计基础ppt课件.ppt_第1页
Java语言程序设计基础ppt课件.ppt_第2页
Java语言程序设计基础ppt课件.ppt_第3页
Java语言程序设计基础ppt课件.ppt_第4页
Java语言程序设计基础ppt课件.ppt_第5页
资源描述:

《Java语言程序设计基础ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

第3章Java语言程序设计基础3.1Java语言程序的基本构成要素3.2数据类型3.3运算符3.4常用Java数值计算方法3.5表达式3.6包装类3.7输入输出初步3.8流程控制3.9数组和字符串 3.1Java语言程序的基本构成要素3.1.1标识符程序中使用的各种数据对象,如符号常量、变量、方法和类等,都需要一定的名称,这种名称叫做标识符(Identifier)。Java的标识符由字母、数字、下划线(_)或美元符($)组成,但必须以字母、下划线或美元符开始。Java标识符是大小写敏感的,也就是要严格地区分大小写,否则会出错。这点是初学者学习Java语言时要特别注意的。另外,Java标识符没有字符数的限制。 Java要求表示类、接口名的标识符用大写字母开头,表示变量、方法名的标识符用小写字母开头,表示常量名的标识符中全部使用大写的字母。 3.1.2保留字保留字(ReservedWord)又称为关键字,是Java语言本身使用的标识符,它有其特定的语法含义。所有的Java保留字将不能被用做标识符,如for、while、boolean等都是Java语言的保留字。 abstractbooleanbreakbytecasecatchcharclassconst*continuedefaultdodoubleelseextendsfalsefinalfinallyfloatforgoto*Ifimplementsimportinstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturn表3-1Java保留字表 abstractbooleanbreakbytecasecatchshortstaticstrictpsuperswitchsynchronizedthisthrowthrowstransient*truetryvoidvolatilewhile续表注:加*号的保留字是Java目前还未用的 3.1.3分隔符分隔符用来分隔开Java程序中的基本语法元素,可分为注释、空白符和普通分隔符3种。 1.注释在程序中加适当的注释可提高程序的可读性。注释有如下3种形式。(1)行注释符“∥注释内容”(2)多行注释符“/*注释内容*/”(3)Java文档注释符“/**注释内容*/” 2.空白符空白符包括空格符、回车符、换行符和制表符等。在使用中,多个空白符与一个空白符的作用相同。 3.普通分隔符普通分隔符具有确定的语法含义,要按照语法规定去使用。有如下4种分隔符。①大括号({})②分号(;)③逗号(,)④冒号(:) 3.2数据类型计算机程序处理的对象是各种数据,数据类型是指数据的内在表现形式。根据现实世界数据的不同形式,数据就划分为多种不同的类型。数据类型不同,能进行的运算不同,取值范围也不同,在计算机语言中还反映为数据的存储形式不同。Java的每种数据类型占用固定的内存长度,与软硬件平台无关;每种数据类型均有一个缺省的数值。 基本类型数值类型整型(byte、short、int、long)实型(floatdouble)字符型(char)布尔型(boolean)复合类型数组类(class)接口(interface)表3-2Java语言的数据类型 3.2.1常量与变量程序中所处理的数据表现为两种形式:常量和变量。1.常量常量是在程序执行中不能变化的量。常量区分为不同的类型,如整型常量123,实型常量4.56,字符常量'a',布尔常量true和false以及字符串常量“Javaprogramming”。 2.变量为了在Java中存储一个数据,必须申请存储空间,变量就是这个存储空间的名字,在变量中可根据需要存入不同的数据。尤其要指出的是,Java是属于强类型的编程语言,这意味着对每一个变量都必须作类型声明。变量具有名称、类型、值和作用域等特性,在使用一个变量前必须先定义。变量定义是用标识符为变量命名,确定其数据类型,还可以根据需要为它赋初值(变量初始化)。定义了变量即为变量指定了存储方式。若是基本类型的变量,因为它们的存储长度是固定的,如何分配存储单元就确定了。若是复合类型的变量,定义后还需要用new运算符为用户数据分配存储单元,复合类型变量中存储用户数据存储单元的引用(指针)。 3.2.2基本类型1.整型常量Java的整型常量有3种形式:十进制、十六进制和八进制。2.整型变量整型变量按所占内存大小的不同有byte、short、int、long4种。Java的整数都是有符号数。 类型所占字节默认值值范围byteshortintlong12480000L−128~127−32768~32767−2147483648~2147483647−9223372036854775808~9223372036854775807表3-3整型数据类型 3.实型常量Java的实型常量有标准和科学计数法两种表现形式。①标准形式。②科学计数法形式。 4.实型变量类型所占字节默认值值范围floatdouble480.0f0.0d1.40129846432481707E-45~3.0282346638528864E384.94065645841246544E-324~l.7976931348623157E308表3-4实型数据类型 5.字符型数据字符型char数据是由一对单引号括起来的单个字符。 转义字符描述dddl到3位8进制数据所表示的字符(ddd)uxxxxl到4位16进制数所表示的字符(xxxx)'单引号字符(u0027)"双引号字符(u0022)\反斜杠字符(u005C)r回车(u000D) 换行(u000A)f走纸换页(u000C)t横向跳格( 0009)b退格(u0008)表3-5转义字符表 6.布尔型数据布尔boolean类型是最简单的一种数据类型,布尔数据只有两个值:true和false,且都是保留字,分别表示“真”和“假”两种状态。关系运算和逻辑运算返回布尔类型的值。布尔型是一个独立的类型,它不像C语言中的布尔型代表0和1两个整数,由于这个原因,Java中的布尔类型不能转换成数字。 7.字符串数据字符串常量是用双引号括起来的零个或多个字符(包括转义字符)。 3.3运算符运算符的作用是与一定的运算数据组成表达式来完成相应的运算。对不同的数据类型,有着不同的运算符。对运算符,有运算对象(操作数)个数及类型、运算优先级、结合性等特性。Java语言对运算符的优先级、结合性和求值顺序有明确的规定,从根本上消除了运算符运算过程的二义性以及结果不统一的弊端。 运算符的优先级是指不同运算符在运算中执行的先后顺序。在Java语言中共有17种优先级,每个运算符分属确定的一个优先级别。Java语言严格按照运算符的优先级由高到低地顺序执行各种运算。运算符的结合性确定同级运算符的运算顺序。左结合性规定,运算数据先与左边的运算符结合,然后与右边的运算符结合。右结合性正好相反。 3.3.1算术运算符算术运算符按操作数的多少可分为一元(或称单目)和二元(或称双目)两类,一元运算符一次对一个操作数进行操作,二元运算符一次对两个操作数进行操作。算术运算符的操作数类型是数值类型。1.一元算术运算符 运算符实际操作例子功能+−++−−正值负号加1减1+x−xx++,++xx−−,−−x对x取负将x的值加1后再放回变量x将x的值减1后再放回变量x表3-6一元算术运算符 2.二元算术运算符算术运算符的第二种类型是二元运算符,这种运算符并不改变操作数的值,而是返回一个必须赋给变量的值。表3-7列出了二元算术运算符。二元算术运算符具有左结合性。 运算符实际操作例子功能+−*/%加运算减运算乘运算除运算取模运算a+ba−ba*ba/ba%b求a与b相加的和求a与b相减的差求a与b相乘的积求a除以b的商求a除以b的余数表3-7二元算术运算符 这些都是常用的运算,对二元算术运算符,有以下两点要注意。①两个整数运算的结果是整数,5/2结果是2而不是2.5。②取模运算是求两个数相除的余数,如17%3的结果是2。可以对实数求余数。实数a%b的结果为a−(int)(a/b)*b,余数的符号与被除数a相同。如123.4%10的结果为3.4。 3.3.2关系运算符关系运算符用于确定一个数据与另一个数据之间的关系,即进行关系运算。所谓关系运算是比较运算,将两个值进行比较。关系运算的结果值为true或false(布尔型)。表3-8列出了Java语言提供的6种关系运算符,它们都是双目运算符。在这里要指出的是,等于运算符==不要与赋值运算符=混淆,以至于关系运算变成了赋值运算。 运算符实际操作例子<><=>===!=小于大于小于或等于大于或等于等于不等于aba<=ba>=ba==ba!=b表3-8关系运算符 3.3.3逻辑运算符逻辑运算符可以对布尔类型的数据(布尔常量、布尔变量、关系表达式和逻辑表达式等)进行运算,结果也为布尔类型。表3-9列出了Java语言的逻辑运算符,逻辑运算规则如表3-10所示。 运算符名称例子功能!非!a对布尔数据a取非&非简洁与a&b对布尔数据a和b进行非简洁与运算|非简洁或a|b对布尔数据a和b进行非简洁或运算^异或a^b对布尔数据a和b进行异或运算&&简洁与a&&b对布尔数据a和b进行简洁与运算||简洁或a||b对布尔数据a和b进行简洁或运算表3-9布尔运算符 ab!aa&&ba&ba||ba|ba^bfalsefalsetruefalseflsefalsefalsetruetruefalsetruetruetruefalsefalsefalsetruetruetruetruefalsetruetruefalse表3-10逻辑运算真值表 3.3.4位运算符位运算符用来对二进制位进行运算,运算操作数应是整数类型,结果也是整数类型。表3-11列出了Java的位运算符。 运算符实际操作例子功能~按位取反~a对a按二进制每位取反&|^<<>>>>>与运算或运算异或运算左移算术右移逻辑右移a&ba|ha^ba<>ba>>>b对a和b按二进制位每位进行与运算对a和b按二进制位每位进行或运算对a和b按二进制位每位进行异或运算对a左移b位,低位用0填充对a右移b位,高位用原高位重复对a右移b位,高位用0填充表3-11位运算符列表 ab~aa&ba|ba^b001000011011100011110110表3-12位运算真值表 3.3.5赋值运算符赋值运算符都是二元运算符,具有右结合性。1.简单赋值运算符(=)2.复合赋值运算符①复合赋值运算符的右边是一个整体。②表3-13中的等价是有条件的,即op1仅计算1次。 运算符用法等价于+=-=*=/=%=op1+=op2op1−=op2op1*=op2op1/=op2op1%=op2op1=op1+op2op1=op1−op2op1=op1*op2op1=op1/op2op1=op1%op2&=│=^=<<=>>=>>>=op1&=op2op1│=op2op1^=op2op1<<=op2op1>>=op2op1>>>=op2op1=op1&op2op1=op1│op2op1=op1^op2op1=op1<>op2op1=op1>>>op2表3-13复合赋位运算符 3.3.6条件运算符条件运算符是一种三元运算符,它的格式如下:Operand?Expression1:Expression2在这个式子中,先计算Operand的真假,若为真,则计算并返回Expression1,若为假,则计算并返回Expression2。例如;(a>b)?a:b;这个表达式将返回a和b中较大的那个数值。 3.3.7字符串运算符运算符“+”可以实现两个或多个字符串的连接,也可实现字符串与其他类对象的连接,在连接时,其他类对象会被转换成字符串。另外,运算符“+=”把两个字符串连接的结果放进第一个字符串里。在前面的例子里,当想把几项输出内容输出在同一行里时使用的就是“+”运算符。 3.4常用Java数值计算方法在Java的类Math中包含了一些数值常量,如E和PI,以及一些基本的数值计算方法,如指数、对数、平方根和三角函数等,为用户程序进行数值计算带来了方便。表3-14列出了一些常用的数值计算方法。 方法功能参数类型返回类型abs(a)求a的绝对值(l)(1)sin(a)求a(弧度)的正弦值doubledoublecos(a)求a(弧度)的余弦值doubledoubletan(a)求a(弧度)的正切值doubledoubleasin(a)求a的反正弦值doubledouble表3-14类Math中常用的数值计算方法 方法功能参数类型返回类型acos(a)求a的反余弦值doubledoubleatan(a)求a的反正切值doubledoubleceil(a)求不小于a的最小整数doubledoublerint(a)求最接近a的整数doubledoubleexp(a)求e的a幂次doubledoublefloor(a)求不大于a的最大整数doubledoublepow(a,b)求a的b次方doubledoublerandom()产生0.0~1.0的伪随机数doubledoublesqrt(a)求a的平方根doubledoublelog(a)求a的自然对数doubledoublemax(a,b)求a,b中的大者(l)(1)min(a,b)求a,b中的小者(l)(1)续表 3.5 表达式表达式是由操作数和运算符按一定的语法形式组成的符号序列。3.5.1类型转换在一个表达式中可能有不同类型的数据进行混合运算,这是允许的,但在运算时,Java将不同类型的数据转换成相同类型,再进行运算。 1.自动类型转换类型1类型2转换后的类型byte或shortbyte或short或intbyte或short或int或longbyte或short或int或long或floatcharintlongfloatdoubleintintlongfloatdoubleint表3-15不同类型数据之间的转换规则 2.强制类型转换源类型目标类型byteshortcharintlongfloatshort,char,int,long,float,doubleint,long,float,doubleint,long,float,doublelong,float,doublefloat,doubledouble表3-16不会丢失信息的类型转换 3.表达式求值中的自动类型提升Java语言对表达式求值的自动类型提升规则如下。①所有byte和short类型提升为int类型。②若一个操作数是long类型,则整个表达式提升为long类型。③若一个操作数是float类型,则整个表达式提升为float类型。④若有double类型,则表达式值为double类型。自动类型提升对数据的运算带来了方便,但也容易引起编译错误。 3.5.2优先级 优先次序运算符1234567−[]()++--!~instanceofnew,(type)即强制类型转换*/%+−<<>>>>><><=>=89101112131415==!=&按位与和非简洁与^│按位或和非简洁或&&‖?:=+=−=*=/=%=^=&=│=<<=>>=>>>=表3-17运算符优先级 3.6包装类基本类型包装类基本类型包装类byteshortintlongcharByteShortIntegerLongCharacterfloatdoublebooleanvoidFloatDoubleBooleanVoid表3-18基本类型与包装类 3.7输入输出初步3.7.1输出inti=10,j=20;System.out.println("i="+i+",j="+j);//输出为i=10,j=20System.out.println(i+j);//输出为30System.out.println("sum="+i+j);//输出为sum=1020System.out.println("sum="+(i+j));//输出为sum=30 3.7.2输入在Java中,未提供与System.out.print()对应的输入方法,仅有一个System.in.read(),可用于从键盘输入整数值在0~255之间的int类型数据。若程序运行时需要从键盘输入其他类型的数据,则需要使用Java提供的输入输出功能。不论从键盘输入何种类型的数据,Java从键盘接收数据都是以字符串的形式进行,再根据实际数据的需要进行类型转换。在Java中实现输入时要使用异常处理机制,这是Java特有的部分内容 3.8流程控制3.8.1语句和块1.语句在Java语言中,有下面几类语句:空语句、标识语句、声明语句、表达式语句、分支语句、循环语句、跳转语句、同步语句和异常语句等。有两种基本的语句:表达式语句和声明语句。(1)表达式语句 ①赋值表达式,包含赋值运算符=或复合赋值运算符之一。②++或−−的前后缀形式。③方法调用(无论它是否有返回值)。④对象创建表达式,用new来创建一个对象的表达式。(2)声明语句 2.块用一对花括号“{}”将零个或多个语句括起来,就构成一个块(也称复合语句)。在块中允许包含另一个块(块嵌套)。在Java语言中,允许一个块出现在任何单一语句可以出现的地方。块体现了Java面向对象程序设计的封装概念,在一个块中声明的局部变量的作用域是该变量的声明开始点到最小的包含其声明的块结束。 3.8.2if-else分支语句1.用单个if语句实现单选、双选结构2.用多个if语句实现多选结构(1)if语句并列(2)if语句嵌套 ①在用if嵌套方法进行多分支程序设计时,将if语句嵌套在else部分。②若需要在if-else语句的statement1部分嵌套if语句,则将内层的if语句用括号括起来,指明正确的if与else的配对组合。 3.8.3switch语句使用switch语句时,需要注意的是:①各个case后的常量值value应各不相同。②通常在每一种case情况后都应使用break语句,否则,遇到第一个相等情况后,下面break前的所有语句都会被执行(包括default后面的语句,若有的话)。③各个分支的statement可以是一条或多条语句,不必使用复合语句。④不同case后的语句statement相同时,可以合并多个case子句。⑤switch语句在用表达式的值比较每一个case后的值value时,是从前往后顺序进行的。若各个值value互不相同,则case子句的顺序可任意。 3.8.4循环语句一个循环一般包括4个部分:①初始化部分,用来设置循环的一些初始条件,如累加器清零等;②循环体部分,重复执行的一段程序,可以是一条语句,也可以是一块语句;③循环条件变更部分,在本次循环结束,下一次循环开始前执行的语句。常用形式为一个计数器值的增减;④终止部分,一般为布尔表达式,每一次循环都要对该表达式求值,以检查是否满足循环终止条件。 1.while语句Java执行while循环语句时,可以分解为以下步骤:①计算表达式boolean-expression(循环条件);②检查boolean-expression的值,如果值为true,则执行③,否则执行⑤;③执行给定语句statement,即执行即循环体,其中应该包含对循环条件有影响的语句,使得循环条件会发生相应变换;④转移到①执行;⑤循环结束。 2.do-while语句do循环语句的执行过程:①执行给定语句statement,即执行即循环体,其中应该包含对循环条件有影响的语句,使得循环条件会发生相应变换;②计算表达式boolean-expression(循环条件);③检查boolean-expression的值,如果值为true,则执行①,否则执行④;④循环结束。 3.for语句for语句执行步骤:①计算表达式expression1(只计算一次,默认时表示无初始内容);②接着检查表达式expression2的值,如果值为true,转向④执行,如果值为false,则转到⑤执行;③执行语句statement,即执行循环体部分,由于for语句有expression3,因此在循环体中不需要安排对循环条件有影响的语句;④执行expression3,转到②执行;⑤循环结束。 ①省略表达式expression1②在表达式expression1中包含变量定义等更多的内容③省略表达式expression3④在表达式expression3中包含更多内容⑤同时省略表达式expression1和表达式expression3⑥同时省略所有表达式expression 4.循环嵌套循环嵌套是指在某个循环语句的循环体中又包含另一个循环语句,也称多重循环。外面的循环语句称为“外层循环”,外层循环的循环体中的循环称为“内层循环”。 3.8.5标号和其他流程控制语句1.标号标号是一个标识符,用于给某语句或程序块的首地址取一个名字。2.break语句3.continue语句 3.9数组和字符串数组是可以通过下标定位的同类型数据的集合。它是程序设计过程中常用的数据结构。数组中的每个数据称为元素,相同数据类型的元素按照一定顺序线性排列就构成了数组。 1.数组元素类型Java的引用类型可以是以下两种数组元素类型:(1)数组元素可以是接口类型,它的值是空引用或任何实现了该接口的类型的实例。(2)数组元素可以是抽象类类型,它的值是空引用或该抽象类的非抽象子类的实例。 2.数组类型在Java中,数组类型是通过指定数组的元素类型和数组维数来定义的,用数组元素类型名后面跟一对或多对方括号[]来表示。3.数组维数数组可以是一维也可以是多维数组。维数对应于用来识别每个数组元素的下标个数。在数组类型中的方括号[]的数目表示数组的维数。 4.数组长度数组的每一维都有长度,即数组的每一维所包含的元素个数。Java允许数组的元素个数为零,此时称数组为空。在Java中,数组的长度不是数组类型的一部分,因此,数组的长度必须在为数组分配内存空间时指定。 3.9.2数组的声明与使用1.声明数组2.创建数组空间3.创建数组元素和初始化(1)数组的类型是基本数据类型时,数组元素的创建和初始化。(2)数组的类型是引用类型时,数组元素的创建和初始化。 4.数组的使用(1)访问数组(2)数组的应用举例 3.9.3多维数组1.多维数组的声明2.多维数组的创建(1)直接为数组的每一维分配空间(2)从数组的第一维开始,依次为每一维分配空间(3)多维数组的使用。 3.多维数组的初始化(1)直接为数组的每个元素赋值(2)在声明数组的同时进行初始化(3)非基本数据类型多维数组的初始化。 3.9.4数组操作的常用方法1.获得数组长度的操作可以使用两种方法获得数组的元素个数:(1)数组的length属性,如下所示:数组名.length(2)利用Array类的静态方法getLength,它的原型如下:publicstaticintgetLength(Object array) 2.数组的复制操作使用arraycopy时要注意几个方面:(1)复制超出了源或目的数组的下标范围会产生IndexOutOfBoundsException的异常;(2)源与目的数组的元素类型不一致会产生ArrayStoreException的异常;(3)源或目的数组为null会产生NullPointerException。 3.使用Arrays类对数组进行操作(1)数组的排序操作sort方法的主要形式有两种:①publicstaticvoidsort(数组)②publicstaticvoidsort(数组,起始下标,结束下标) (2)数组的查找操作(3)数组的填充操作①publicstaticvoidfill(数组,value)②publicstaticvoidfill(数组,起始下标,结束下标,value)(4)判断数组是否相同的操作

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭