Java的基本语法.ppt

上传人:小飞机 文档编号:6509902 上传时间:2023-11-07 格式:PPT 页数:80 大小:734.50KB
返回 下载 相关 举报
Java的基本语法.ppt_第1页
第1页 / 共80页
Java的基本语法.ppt_第2页
第2页 / 共80页
Java的基本语法.ppt_第3页
第3页 / 共80页
Java的基本语法.ppt_第4页
第4页 / 共80页
Java的基本语法.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《Java的基本语法.ppt》由会员分享,可在线阅读,更多相关《Java的基本语法.ppt(80页珍藏版)》请在三一办公上搜索。

1、第三章 Java的基本语法:C+语言的克隆,目 录,重点与难点点拨,Java语言基础,运算符与表达式,程序的控制结构,经典练习题,常量与变量,数据类型与类型转型,本章知识重点,本章知识难点,三元运算符,运算符的优先级,三种循环语句,Java语言集符号,Java程序最基本的构造要素是符号,符号也是Java语言中不可分割的最小语法单元。Java的符号分为四种类型,它们是:标识符 关键字 运算符 分隔符,Java标识符,与C+或C语言一样,Java是大小写敏感的语言,在Java程序中,必须严格区分大小写字母。Java程序的任何有效成分,必须有唯一的合法名称来标识,这类名称叫做标识符。变量、符号常量、

2、数组、方法、类、对象、接口、包等Java程序的有效成分,必须先由用户命名其标识符,然后才能使用,这符合“先定义再使用”的原则。,Java标识符(续1),标识符的合法符号包括:字母、数字、下划线(_)及美元符号($);字母为大写或小写的英文字母,数字为0到9这十个阿拉伯数字。标识符的首个字母必须为字母、下划线或$符之一,但不允许为数字。标识符区分大小写。Java中,Count与count是不同的两个标识符。命名的标识符不允许与关键字相同。,Java标识符(续2),标识符允许包含关键字作为它的一部分。例如,虽然this是一个关键字,但thisVariable却是一个有效的标识符 命名的标识符最好能

3、够反映其意义,即能够“见名知义”,从而提高程序的可读性 Java语言对标识符的长度未加限制,实际命名时不宜过长 在命名时,最好遵循Java推荐的命名规范。如符号常量全部采用大写字母,类名首字母大写,属性与方法名称首字母小写等,Java关键字,关键字也称为保留字,是Java 语言本身使用的、被赋予特定含义的一类标识符。用户只能按照系统的规定来使用它们,不允许对它们进行修改或自行定义,也不允许将它们做为标识符来使用关键字全部为小写字母表示的完整的英文单词或简写。根据关键字的用途,可将它们划分为以下类型:数据类型、语句、修饰符、方法、类、接口和包等,Java关键字(续),Java关键字(按字母升序竖

4、向排列),Java运算符,运算符又称操作符,它与操作数一起,构成了Java的表达式。根据运算符连接操作符多少,Java语言将运算符分为三类:一元运算符:只需要一个操作数的运算符.二元运算符:需要两个操作数的运算符;绝大多数运算符为二元运算符。三元运算符:需要三个操作数的运算符;只有条件运算符(?:)一个属于这类运算符。,Java运算符(续),根据运算符的功能,Java将其分为以下几类:赋值运算符、算术运算符、逻辑运算符、关系运算符、位运算符及条件运算符等。运算符具有优先级与结合性等重要属性。,Java分隔符,分隔符作为程序中的辅助成分,其作用是用来区分 Java 源程序中的基本成分(标识符、关

5、键字等),使程序代码被组织成易于被编译器识别并理解形式。Java的分隔符包括大括号对()、中括号对()、小括号对()、空白符(多个空格、制表符、回车符等)等。大括号对用于语句块界定、数组初始化等场合。语句块又称为复合语句,简称为块(block),是以大括号对为边界的语句集合;语句块的内容,常将类体、法体、循环体等具有相对独立性的代码段定义成语句块。小括号对用于突出表达式优先级、方法参数定义等场合。分号是Java程序最常用的分隔符,它是语句的终止符,每条语句必须以分号结束。,Java注释,注释是为源程序增加必要的解释说明的内容,注释对编译与执行不产生任响,其目的只是为了提高程序的可读性与可维护性

6、书写注释是编写程序的好习惯,Java注释(续),Java中有三种形式的注释:单行注释,格式为:/注释内容;多行注释,格式为:/*注释内容*/;建立Java帮助信息文档的注释,格式为:/*注释内容*/。,数据类型与类型转型,Java的数据类型主要分为基本类型(Primitive Type)与引用类型(Reference Type)种。基本类型为Java语言系统内置的最基础的简单类型,这些简单类型都是意义完整的原子类型,不可再分割。更复杂的类型可由这些简单类型组合得到。,数据类型与类型转型(续1),基本类型包含八种简单的数据类型,这些简单类型可归纳为四类:逻辑类,记为boolean。字符类,记为c

7、har。整数类,又包含字节型(byte)、短整型(short)、整型(int)与长整型(long)。浮点类,又包含双精度(double)与浮点型(float),浮点型又称为单精度。,数据类型与类型转型(续2),引用类型又分为:数组 字符串 类 接口,数据类型与类型转型(续3),主要的Java数据类型分类结构:,常量,常量(Constant):是程序运行过程中值不再发生变动的一种量。如计算圆的周长或面积时所用到的圆周率就是一种常量。常量有两种主要的分类标准:,根据数据的表达方式,Java的常量可分为值常量与符号常量两种,根据数据的类型,Java的常量分为逻辑型常量、整型常量、浮点型常量、字符型常

8、量及字符串常量五类,常量第一种分类,逻辑型常量又称布尔型常量,其取值只能为true或false,代表一个逻辑量的两种不同状态值。其中true代表真,false代表假整型常量表示一个不带有小数位的整数,数值可正可负。整型常量有十进制、八进制和十六进制三种数制表示方式浮点型常量又称为实型常量,用来表示有小数部分的十进制实整字符型常量是指用单引号()括起来的单个字符表达 字符串常量是指用双引号(“”)括起来的一个字符序列。字符串常量包含的字符个数称为它的有效长度,常量第二种分类,根据数据的表达方式,Java的常量可分为值常量与符号常量两种:值常量就是直接以特定值表达的量符号常量是一种标识符形式的常量

9、,这类常量引用时以符号名称代身,但参与运算的是它的内容,即常量的值,这类常量必须先定义后可使用符号常量定义的格式为:final=;例如定义圆周率的语句为:final float PI=3.1415926;,变量,变量(variable)变量是程序运行过程中其值随时能够发生改变的一种量。变量主要有三种类成员变量、局部变量、方法参数。变量有三个基本要素,它们是变量名、变量的数据类型及变量值。Java 语言中,所有的变量必须先定义后使用。定义变量的格式为:=,=;其中方括号()括起来的部分为可选项。例如语句int a=35,b,c,d=57;该语句声明了四个整数类型的变量,并为其中两个赋初值。,变量

10、的基本数据类型,boolean(逻辑/布尔型):逻辑型数据只有true和false两种取值,分别对应于开(on/yes)和关(off/no)两种状态,这类数据主要用于条件判断,参与逻辑运算例:定义一个boolean类型的变量并初始化:boolean isMale=true;例:对boolean型变量isOdd赋值为一个关系表达式:isBig=(age18);当变量age的值大于18时,isBig值为true,否则为false。,变量的基本数据类型(续1),char(字符型)使用char类型可表示单个字符。一个char代表一个16位无符号Unicode字符。Ch类型的值必须包含在单引号()内。与

11、字符类型关系密切的是字符串类型(String)。String类型不是基本类型,而是个类(Class),被用来表示一个字符序列。其值为用双引号括起来的一段文字。,变量的基本数据类型(续2),整数型根据数值范围的不同,Java的整数类型可分为四种,这四种数据都为有符号整数 字节型(byte)短整型(short)整型(int)长整型(long),变量的基本数据类型(续3),浮点型 单精度浮点型(float)双精度浮点型(double)Java基本数据类型性能总结见下表。Java基本数据类型特征表,基本数据类型的封装,Java作为完全面向对象的编程语言,处处体现出“一切皆为对象”的理念对于八种基本数据

12、类型,Java分别提供了相对应的封装类(见下表);了整数类型与字符类型外,其他封装类的类名采用对应的基本数据类名称,但首字母为大写。下表为 基本数据类型与对应的封装类,基本数据类型的封装(续1),基本数据类型的封装类由Java.lang包所提供。这些封装类包含常量、方法、转换方法等,转换方法能够对不同类型的数据变量进行类型变换 Character封装类主要用于字符数据的处理;Byte、Short、Integer、Long、Float、Double这六种封装类与数值处理相关,它们都继承自Number抽象基类,它们一称为数值封装类,基本数据类型的封装(续2),Character封装类Charact

13、er封装类包含一个char类型的属性及若干个方法,这些方法多数为方法,方法的类型包括转换方法(进行字符大小写的转换)、断定方法(即用来定属性值是字母还是数字类型的方法)等。数值封装类Byte、Short、Integer、Long、Float、Double这六种数值封装类有许多类似的性与方法。可以按统一的方式来使用它们,基本数据类型的封装(续3),数值封装类的解析方法表,数据类型转型的原则,Java是强类型语言,因此,在进行赋值操作时要对数据类型进行检查。Java规定只有数值型的基本类型数据之间才可以进行类型转换;当表达式中涉及不同型的数值数据时,需要进行类型的转换数据类型转换分为动类型转换和强

14、制类型转换两种类型:自动类型转换:又称为隐式类型转换,是指参与运算的数据类型不同时,Java自动将精度较低的数据类型转换为精度较高的数据类型,即将占位数较少的类型转换为占位数较多的类型,数据类型转型的原则(续1),此图为Java基本数据类型自动转换示意图。其中水平轴表明了某种类型可以转换到的其他类型,垂直轴为数据类型精度的变化,垂直箭头所指为数据类型精度升高的方向。,数据类型转型的原则(续2),例如:char ch=M;int a=2,b;float x=38.23F;double z,y=282.382D;b=(ch+6);/先将ch自动转换为int类型,再求取int变量b的值z=a*(x+

15、y);/先将a、x与y自动转换为double类型,再求取z的值,数据类型转型的原则(续3),强制类型转换:又称为显式类型转换,是指将占位数多的较高精度类型转换到占位数少的较低精度类型时,需要由用户明确指定转换的目标类型的一种类型转换方式。数据类型转型的原则总结如下:字符、整数与浮点数可以混合运算,运算过程中,不同类型的数据按照数据精度由低到高的顺序进行转换,最后统一转换成表达式中精度最高的类型后计算出结果值。精度低的数据可自动转换到精度高的数据上去。精度高的数据转换到精度低的数据时,需要使用强制类型转换。同精度的数据short与char相互赋值需要使用强制类型转换。,运算符与表达式,运算符又称

16、操作符(Operator),是指对数据实施运算控制的符号。表达式(Expression)是指由运算符与操作数连接而成的、符合计算机语言语法规则并具有特定结果值的符号序列。,算术运算符与算术表达式,算术运算符是指对数值型操作数进行算术运算的一类运算符。由算术运算符构成的表达式称为算术表达式。,算术运算符功能描述表,算术运算符,除法运算符/对于整数操作时,只保留整数商作为结果,所有的余数都要舍去。Java的求模运算符%不同于C+语言,它不仅仅只对整数类型操作,还可以对浮点类型操作。求模运算的结果是一个带有符号的数值,其绝对值小于除数的绝对值,其符号与被除数一致。,算术运算符(续1),自增运算符+与

17、自减运算符只能适用于变量,不能适用于表达式。自增、自减运算符均有前缀与后缀两种用法。前缀的运算规则可表示为:先自增/减1再引用;后缀的运算规则可表示为:先引用再自增/减1。,算术运算符(续2),如以下代码:int a=3,b=2,c,d;c=(+a)*3;d=(b+)*3;执行的结果为:a=4,b=3,c=12,d=6。+a是先自增(值变为4)再引用(值为变化后的4),所以c=(+a)*3等价于a=3+1=4且b=4*3=12;b+为先引用(值为变化前的2)再自增(值变为3),所以d=(b+)*3等价于d=2*3=6且b=2+1=3。,关系运算符与关系表达式,关系运算符与关系表达式关系运算符是

18、指对操作数进行大小、相等与否等进行比较运算的一类运算符,运算结果为逻辑值(true或false)。由关系运算符构成的表达式称为关系表达式,关系运算符功能描述表,关系表达式,关系运算符都为二元运算符。相等关系运算符(=)用来判断两个操作数是否相等,它与赋值运算符(=)意义与应用场合皆无可比性。相等(=)与不等(!=)关系运算符既可用于基本类型操作数,也可用于引用类型操作数(如类的对象)。,逻辑运算符与逻辑表达式,逻辑运算符是指对逻辑型的操作数进行逻辑运算的一类运算符,运算结果为逻辑值(true或false),逻辑运算符功能描述表,四种逻辑运算符的真值表,逻辑运算与逻辑表达,逻辑非运算符为一元运算

19、符,其他三种为二元运算符。逻辑与(&)、逻辑或(|)运算符采用“短路运算方式”,即如果通过第一个操作数的值就能确定整个逻辑表达式的值,则不再计算第二个操作数的值。这种方式的好处是提高判断的效率。,逻辑运算与逻辑表达(续1),具体而言,短路运算方式的规则为:op1&op2表达式中,如果计算出op1的值为false,则根据逻辑与的真值表,表达式的值必定为false,与第二个操作数的值无关,从而op2的值不需再做计算。op1|op2表达式中,如果计算出op1的值为true,则根据逻辑或的真值表,表达式的值必定为true,与第二个操作数的值无关,从而op2的值不需再做计算。,逻辑运算与逻辑表达(续2)

20、,逻辑异或(Exclusive OR),缩写为XOR,为二元运算符,根据其真值表,可将它的运算规则总结为一句话:相同为假,不同为真。,位运算符,位运算符是指对二进制位进行操作的一类运算符。由位运算符构成的表达式称为位表达式。下表列出了所有位运算符的功能描述。,位运算符与位表达式,位反()运算符为一元运算符,其余的皆为二元运算符。右移()运算符对移出位补0或1完全依赖于左操作数的符号;无符号右移()运算符对移出位始终补0。,赋值运算符,赋值运算符是用来计算某一表达式,并将计算结果赋予指定变量的一类运算符。赋值运算符分为基本赋值运算符与复合赋值运算符两种。基本赋值运算符写作=,其使用格式为:=功能

21、为:将基本赋值运算符右边的表达式计算求值后赋值给运算符左边的变量。例如:double area=3.14159*r*r;,复合赋值运算符,复合赋值运算符是指在=前面加上一个其他的运算符所构成的组合运算符。这类运算符兼有计算与赋值的双重功能 使用格式为:=其中Op为一个二元运算符,上述表达式等价于:=,赋值运算符表,下表列出了所有的复合赋值运算符,条件运算符与条件表达式,条件运算符是Java中唯一的三元运算符。它构成的式子称为条件表达式,其格式为:?:表达式1与表达式2类型必须相同。条件运算符的执行逻辑为:计算逻辑表达式的值,如果值为true,则执行表达式1,并将表达式1的计算结果作为整个条件表

22、达式的值;否则计算表达式2并将计算结果作为整个条件表达式的值。,条件运算符与条件表达式(续),条件运算符允许嵌套使用,即表达式1或表达式2又可以为条件表达式。条件运算符的结合方向为从右至左,可用括号来改变运算的次序常将条件表达式作为赋值的对象,来替代简单的ifelse语句,表达式计算的原则,运算符优先级是指组成一个表达式的各种运算符在执行计算操作时的先后顺序。Java表达式计算的原则是:先计算优先级高的运算符,再计算优先级低的运算符。相同优先级的运算符的计算次序由其结合性决定。括号可以改变运算符的计算次序。,运算符的优先级表,运算符的优先级,Java运算符的优先级分14个级别,分别用1至14这

23、十四个整数数字来表示。级别数字越小,优先级越高,级别越低,对应的数字越大。优先级最高的运算符为域、数组、括号这三个运算符,最低的为位运算符。,运算符的优先级(续),表中同一行的运算符具有相同的优先级,相同优先级的运算符在计算时按照其结合性进行运算。Java运算符的结合性分为左结合与右结合两种。左结合运算符按照从左到右的顺序进行运算,右结合运算符按照从右到左的顺序进行运算,,程序的四种控制结构,顺序结构,跳转结构,循环结构,分支结构,顺序结构,语句块(Block)又称为复合语句,是由一对大括号()限定起始边界的一个语句集合;语句块可以多层嵌套例如类的定义就是一个语句块。public class

24、BirthDateint day;int month;int year;,语句与语句块是构成Java程序的基本组成部分语句(Statement)是以分号(;)作为结束符的一条完整命令。一个表达式加上分号就是一条语句;一行上只写上单纯的一个分号,也是语句,称为空语句,顺序结构(续),程序运行的过程就是执行一条条语句的过程。程序执行的逻辑次序称为程序的流程。在不进行任何流程控制的情况下,程序执行的次序就是语句的排序顺序,这种程序结构称为顺序结构。顺序结构的程序是最简单的程序,也是组成其他复杂结构程序的基础。Java提供了以下几类流程控制语句:分支语句循环语句跳转语句异常处理语句,二路分支结构,Ja

25、va的分支语句分为二路分支与多路分支两种。二路分支if-else语句提供了较为简单的双路流程控制的机制。if-else语句的用法可分为三种形式:单一分支结构,即省略else的if语句。其使用格式为:if(条件表达式)语句或语句块 双路分支结构,即完整的if-else语句。if(条件表达式)语句或语句块1else 语句或语句块2,分支结构执行逻辑,if-else语句的执行逻辑为:如果条件表达式的值为真,则先执行语句或语句块1,然后跳出if-else结构,继续执行后面的代码;否则执行语句或语句块2,然后跳出if-else结构,继续执行后面的代码,嵌套分支结构,嵌套的if-else语句,用来解决多种

26、条件构成的复杂操作。其一般格式为:if(条件表达式1)语句或语句块1else if(条件表达式2)语句或语句块2 else else if(条件表达式n)语句或语句块n else 语句或语句块n+1,循环结构,循环语句的作用是在一定条件下,反复执行一段程序代码,被反复执行的语句或语句块称为循环体。使循环体得以执行的特定条件称为循环条件。循环条件中最重要的变量称为循环控制变量,简称为循环变量,它是用来控制循环执行的次数,其值一般要在循环体中不断地被修改。Java语言支持三种循环语句:,while循环语句,dowhile循环语句,for循环语句,while循环结构,while循环语句,也称为当型循

27、环,是一种在执行循环体之前先测试循环条件的循环结构。while循环语句的格式为:while(循环条件表达式)语句或语句块/循环体,dowhile循环结构,dowhile循环语句语句,也称为直到型循环,是一种在执行循环体后才去测试循环条件的循环结构。dowhile循环语句的格式为:do 语句或语句块/循环体 while(循环条件表达式);先执行循环体,然后计算循环条件表达式,若表达式值为真,则重复执行循环体,直至循环条件表达式为假时,才终止循环结构,for循环结构,for循环语句作为最常用与最灵活的一种循环结构,一般用于循环次数事先可确定的情况。for循环语句的格式为:for(循环变量初始化表达

28、式;循环条件表达式;改变循环变量表达式)语句或语句块/循环体,循环结构工作过程,for循环的工作过程见下图,三种循环语句的比较,while循环语句和dowhile循环语句用在循环次数事先不可确定的情况,for循环语句则主要用于确切地知道所需执行次数的循环。for和while循环是在执行循环体之前测试循环条件,而dowhile循环是在执行循环体之后测试循环条件,因而for和while循环可能连一次循环体都未执行就结束了自身,而dowhile循环将至少执行一次循环体。解决同样的问题,三类循环结构实现的程序中,for循环结构最清晰,代码最简洁,语句行数最少,执行效率最高。因而它是最常用的循环语句。,

29、循环结构嵌套,while(条件1)while(条件2)while(条件3),dowhile(条件2)for(;)while(条件1);,for(;)for(;)for(;),循环嵌套循环嵌套是指在循环体内又包含循环语句的结构。三类循环结构既可嵌套自身类型,也可相互混合嵌套。以下的循环嵌套结构都是允许的:,循环结构嵌套(续),循环嵌套结构必须保证每个循环结构自身的完整性,并且不能出现交叉嵌套的情形。如下例所示:外层循环为dowhile语句,内层循环为while语句,二者产生了交叉嵌套的现象,这将会生成错误,跳转结构,Java语言提供了4种跳转语句来改变程序的执行路径,它们是:break语句、co

30、ntinue语句、return语句及throw语句。break语句break语句具有两种使用格式:格式1:break;格式2:break;,continue语句continue语句具有两种使用格式:格式1:continue;格式2:continue;,编程练习题,d进制数制转换:输入一个十进制的正整数n(1n32767)作为要进行数制转换的对象,再输入一个正整数d(2d9)作为要进行数制转换的基数,编程实现将n转换为d进制数并显示出结果。如:输入一个十进制正整数369;然后再输入要进行数制转换的基数3,程序运行后显示的结果应为111200。,编程练习题(续1),杨辉三角是中国古代著名的数学问题

31、,其前几行的内容如下图所示:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1编程实现对任意输入的正整数n值(1n10),按上面的格式输出杨辉三角前n行的内容。(提示:通过观察,不难发现,杨辉三角每一行中左右边界元素值均为1,而非边界元素的值等于其上一行对应位置元素值与上一行对应位置左邻元素值之和),编程练习题(续2),地理课上老师给出一张没有说明省份的中国地图,从中选出五个省从1到5编号,要大家写出省份的名称。交卷后有五位同学A、B、C、D、E,其中每人只答出了两个省份的名称。他们的回答内容如下:A答:2号浙江,5号江苏;B答:2号湖北,4号山东;C答:1号山东,5号湖南;D答:3号湖北,4号湖南;E答:2号江苏,3号浙江。已知五位学生中每人只答对了一个省份名称,编程判断编号为1到5的五个省份的名称。,再 见,谢谢你的配合!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号