《改变变量的值》PPT课件.ppt_第1页
《改变变量的值》PPT课件.ppt_第2页
《改变变量的值》PPT课件.ppt_第3页
《改变变量的值》PPT课件.ppt_第4页
《改变变量的值》PPT课件.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 改变变量的值方法和它的表达式,6.1 从函数的角度来理解方法 6.2 方法的参数与返回类型 6.3 方法的“灵魂”实现 6.4 方法中的表达式 6.5 Java的其它运算符 6.6 Java表达式中的计算顺序与类型转换 6.7 小结 6.8 习题,6.1 从函数的角度来理解方法,1数学中的函数概念 图6.1说明了函数f(x)以及它的输入与输出。根据数学上函数的定义,我们只要给函数f(x)一个确定的x值,就能够得到一个结果y与之对应,并且这个y是唯一的值。不会出现输入一个x之后得到许多y值的情况。 图6.1 函数的作用及其输入输出 如图6.2所示,函数由输入的多个参数值经过运算、处理,最

2、终得到并输出y的值,这就是中学时数学中的函数概念。 图6.2 多参数函数的作用及其输入输出 2Java中的函数概念 Java函数所处理的内容,请看下面的图6.3。,图6.3 Java函数的作用及其输入输出的类型 图6.3列出的是Java中函数的参数及返回值的类型。这些类型里面除了基本类型之外,都不再是数学函数所能处理的数值,而是Java语言所能支持的一些数据结构了。从图6.3中的左侧可以看出,Java中支持的所有数据类型都能够作为函数的参数。还有一点就是,Java的函数也可以接收多个参数,甚至是参数列表(参数个数不确定)。就是说左侧这些数据类型可以同时存在多个,它们均作为Java函数的参数,一

3、次传递到对应的Java程序中进行处理。,6.2 方法的参数与返回类型,6.2.1 static关键字 6.2.2 方法的返回类型 6.2.3 方法的参数 6.2.4 一个例子,6.2.1 static关键字,对于类中的普通变量,在由类创建对象的过程中,将为变量分配内存存储空间并为之赋予初始值,然后把内存的首地址作为引用赋给创建的对象变量。相对于上面说的“静态”,一般也把没加static关键字的变量和方法称为“动态”。static型的成员变量就不同了,它们是属于“类”的。就像是这一类对象的共同财产一样,不属于其中的任何一个具体对象。图6.4 演示的是静态的成员变量和成员方法。 图6.4,6.2.

4、2 方法的返回类型,回过头来看一下第2章中的Example2_1,里面在调用circle1.getRadius()方法时,所得到的结果就相当于把半径的值放在方法调用的位置上。也就是说程序中的 System.out.println( circle1s radius: + circle1.getRadius() ); 相当于 System.out.println( circle1s radius: + 6.0 ); 在Java程序中,如果一个方法返回的是一个数组或是对象,大家可能会看到这样的代码: int abc = obj1.method1()3; / 方法method1()返回一个整型数组 S

5、tring str = obj3.method2().toString(); / 方法method2()返回一个对象 在这两行代码中,第一行的方法method1()返回的是数组,可以直接用这个方法返回的数组引用加下标访问返回数组中的元素值。第二行中则是直接调用方法method2()返回对象中的toString()方法。在这里只是给大家看一下方法调用的效果与这种写法的可行性,但并不提倡初学者也这么写Java程序。还是建议大家写成下面这个样子,虽然代码比较多,可看上去更加清晰。 int anArray = obj1.method1(); / 方法method1()返回一个整型数组 abc = an

6、Array3; Obj obj1 = obj3.method2(); / 方法method2()返回一个对象 String str = obj1.toString();,6.2.3 方法的参数,图6.5中为我们说明了形式参数与实际参数分别指的是什么。在定义方法的时候,需要将方法所需要的所有参数以及它们在方法当中所使用的名称都列出来。这时列出的参数名称是在方法内部使用的,它只是方法内部的一种表现形式。所以称之为“形式参数”,简称为“形参”。 图6.6给我们描述出了Java方法调用过程中的参数传递。 图6.7标明了数值传递与引用传递的不同情况。 图6.6 图6.5 图6.7,6.2.4 一个例子,

7、前面一口气给大家介绍了那么多关于函数啦、方法啦、形参、实参、参数传递、静态变量与动态变量、静态方法与动态方法等等内容。可能让大家看上去理解得有点吃力,现在举一个例子给大家看看。,6.3 方法的“灵魂”实现,1方法的定义及其实现 图6.8中给出了一个较为完整的方法定义。 2方法的定义及其实现 在实现的前面两行中是变量的声明。之所以称之为局部变量是因为在这部分声明的变量的作用域只在这对大括号之内有效,而这将变量的作用范围限制在了方法的内部。后面就是Java程序中的语句,所谓的语句就是指Java代码的基本逻辑单位。一个语句可以完成一项处理任务,如数值计算,给变更赋值,逻辑判断等等。 图6.8,6.4

8、 方法中的表达式,6.4.1 从小学数学做起算术表达式 6.4.2 总是需要作比较关系表达式 6.4.3 拥有侦探的思维逻辑表达式 6.4.4 返朴归真位运算表达式 6.4.5 表达式举例,6.4.1 从小学数学做起算术表达式,1算术运算符(arithmetic operator) 运算符“+”在Java中作为算术运算符来说,只是表示加法或正号。 算术运算符“/”表示的是除法,在第3章中讲解变量时提及过Java中除法并不能改变变量的类型。 运算符“%”表示的是取模运算。 2Java中的算术表达式 由算术运算符再加上相应的变量,就组成了Java中的算术表达式。在Java程序运行时,Java会根据

9、运算符的含义和变量或常量的数值来进行计算,得到的结果就是表达式的值。对于算术表达式先说这些,后面还会有关于运算符更详细的说明,里面还会再次提到算术运算符。,6.4.2 总是需要作比较关系表达式,1比较运算符 (大于)、=(大于等于)、=(小于等于)、!=(不等于)、=(等于) 2关系表达式 有了比较运算符,再加上Java中的变量或常量,就组成了关系表达式。,6.4.3 拥有侦探的思维逻辑表达式,学电子专业的同学都知道逻辑门电路,它们是用来处理逻辑关系运算的。计算机所有的计算功能都是由这些最基础的逻辑关系处理来实现的哦!图6.9中显示的就是逻辑门的实物与电路图中的表示符号。 图6.9 逻辑门电路

10、(左)与它们的符号(右) 1逻辑运算符 2逻辑表达式 图6.10 表达式的计算过程 图6.10,6.4.4 返朴归真位运算表达式,1位运算符 图6.12 表示的是 Java中的移位运算 2位运算表达式 位运算表达式中我们需要说明的只是 移位运算中的一些情况。 图6.12,6.4.5 表达式举例,这一节里我们向大家介绍了Java中的4种表达式类型以及它们各自的运算符及运算规则。对于表达式还要说明的一点就是它也有类型。表达式值的类型就是表达式的类型,表达式的值是由表达式中运算符及变量的类型决定的。所以表达式中的运算符和变量决定了表达式的类型。,6.5 Java的其它运算符,6.5.1 赋值运算符

11、6.5.2 自增和自减运算符 6.5.3 括号运算符 6.5.4 条件运算符(conditional operator),6.5.1 赋值运算符,表6.7为我们总结了Java中的各种赋值运算符,还有它们的例子。 表6.7 Java中的赋值运算符,6.5.2 自增和自减运算符,Java是一个为我们提供了诸多便利的语言,它专门为这样的情况提供了两个运算符+和-。它们的具体用法我们列举在表6.8当中。 表6.8 Java中的自增(减)1运算符,6.5.3 括号运算符,在小学数学中的四则运算课上,大家也曾遇到过运算的优先次序问题。我们知道乘除法要比加减法的优先级高,如果需要改变这个优先级,就要在算式当

12、中加入括号了。Java表达式里面也存在同样的情况,()也是Java的一种运算符。它不只是表示在调用方法时传递给方法的参数,用在表达式里面还可以改变表达式计算的顺序。在Java中处理表达式的时候,括号内的表达式优先要比没有括号的表达式优先级高。和小学数学上的用法是一样的,先计算括号里面的,就这么简单。,6.5.4 条件运算符(conditional operator),在Java中,运算符用来进行计算的变量,常量或表达式称为操作数。只作用于一个操作数的运算符称为一元运算符,如按位非运算符();作用于两个操作数的运算符称为二元运算符,如加减法运算符(+,-);作用于三个操作数的运算符称为三元运算符

13、。 语法格式:判断条件 ? 表达式1 : 表达式2; 图6.14中给出了条件运算符取值的情况: 图6.14,6.6 Java表达式中的计算顺序与类型转换,6.6.1 运算符的优先级与结合性 6.6.2 数据类型转换,6.6.1 运算符的优先级与结合性,1. 运算符的优先级 图6.15 Java表达式的计算过程 2. 运算符的结合性 结合性给我们提供了了解运算符和操作数之间的相对位置及其关系的信息。或者说得简单点儿,当两个相邻运算符的优先级相同时,结合性决定了这两个运算符的运算顺序。,6.6.2 数据类型转换,1. 自动类型转换 Java的自动类型转换是有前提条件的,它必须完全符合下面两条,才有可能进行自动类型转换: 转换前后的两种数据类型能够互相兼容。 转换之后的类型表示的范围比之前的更大。 2. 强制类型转换 Java在向着范围更大,精度更高的方向转换变量类型时不需要特别指明。但是如果向相反方向转换的话,就必须使用强制类型转换才可以。因为这样做有可能会有精度损失或是数值信息丢失,Java不会自动做这种转换。先给大家看一下这个转换过程的语法格式: (转换的目的类型)进行转换的变量名;,6.7 小结,在这一章中我们首先向大家介绍了Java中对象的方法,为了便于理解,以数学函数的概念作为切入点。它有确定的返回值类型,有自己的输入参数列表。

温馨提示

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

最新文档

评论

0/150

提交评论