《Java程序设计基础杨世文第8章.ppt》由会员分享,可在线阅读,更多相关《Java程序设计基础杨世文第8章.ppt(27页珍藏版)》请在三一办公上搜索。
1、第八章 方 法,回顾,选择和循环混合程序设计,目标,分而治之的思想Java方法的语法如何实现方法如何调用方法包,问题,假设你已成功地编写了计算素数的代码,但如果在另一个程序中也需要计算素数那该怎么办呢?,重用的思想,软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程可重用性一直是软件工程所追求的目标之一,软件工程界希望有一天能和其它工业领域一样,利用标准化的软件模块快速构建特定的应用系统,问题,假设你们小组一起完成一个完整ATM的编码,怎么做呢?大家聚在一台机器前编写?分开编写又如何集成在一起呢?,分而治之的思想,任何一个可以用计算机求解的问题所需的时间都与其规模有关
2、。问题规模越小,解题所需的计算时间往往也越少,从而也越容易计算。想直接解决一个较大的问题,有时是相当困难的 分治法的思想就是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之,分而治之的思想,方法的概述,计算机编程常常将问题划分成称为“方法”的模块,每个方法实现一项非常专一的功能,方法的格式,Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式:修饰符1 修饰符2 返回值类型 方法名(形参列表)Java语句;比如main方法:public static void main(String args)代码块,访问修饰符,访问修饰符,返回类型
3、,方法名,参数列表,方法体,方法格式具体说明,方法名可以是任何有效的标识符,命名规则和变量一样 返回类型是该方法返回给调用函数的数据类型形参列表中是一份用逗号隔开的列表,其中包含对传递给方法的参数的声明方法名、返回类型和参数列表定义了方法签名,即唯一识别该方法的“签名”例如:int add(int a,int b)void showMessage(int id)boolean del(int id),访问修饰符,public表明定义的方法是公共的,可以在任何程序中调用static表明定义的方法是静态的,可以直接在main方法中使用,返回类型与返回值,返回类型可以是任何一种数据类型或对象类型 含
4、义为方法要返回的值的类型 如果没有返回类型,使用void返回值是指方法执行以后具体返回的结果值在方法体中使用return关键字结束方法,返回具体结果值,课堂演示,实现max()方法,返回两个参数最大的一个,方法的调用,在定义方法之后,就可以在程序中调用它如果该方法有返回值(返回类型不是空值),那就可以将结果赋给一个变量,或在表达式中使用该结果 调用的格式:方法名(实参列表),形参和实参,形参:定义方法时,规定方法要接受参数的形式实参:调用方法时,具体传入到方法里面进行处理的数值,参数传递和返回值,1、声明了一个变量maxVal,分别赋值为5和6 形参变量开始并不存在,参数传递和返回值,2、开始
5、调用方法,产生a、b两个临时变量 把5和6两个参数传递给这两个变量,参数传递和返回值,3、返回值被赋予maxVal变量 局部变量a、b被释放掉,方法结束,类变量,在类中除了能够包含方法以外,还能够直接包含变量 语法:数据类型 变量名;这些变量的作用域是整个类范围。即该类所有的方法都能够直接使用,课堂练习,求圆柱体的体积,课堂示例,import java.util.Scanner;class Teststatic final float PI=3.14f;public static float getArea(float r)float s=PI*r*r;return s;public stat
6、ic float getVolume(float r,float h)float s=getArea(r);float v=s*h;return v;,课堂示例,public static void main(String args)Scanner scan=new Scanner(System.in);System.out.print(输入圆的半径:);float r=scan.nextFloat();System.out.print(“输入圆柱的高:);float h=scan.nextFloat();_System.out.println(“得到的圆柱的体积是:+v);,课堂练习,求s=
7、s1+s2+s3+s20的值,其中:sn=1+1/2+1/3+1/n,包的概念,Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务 我们使用的Scanner来自java.util包;Math来自java.lang包使用不同包的外部类时要使用import语句(lang包除外)解释“*”,包的概念,我们也能把自己写的类放入某个自定义的包中语法:package 包名;-这句话是写在原码文件的最开始的部分,声明了类所在的“包”注意:-类的声明中必须包含可见性修饰符public-放入包中的将是这个类的class文件-其他类要使用这个类必须import,作业,用方法实现求1!+2!+3!+20!用方法实现求1000以内的所有素数 利用递归调用实现:猴子吃桃问题,猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第n天有多少桃子,
链接地址:https://www.31ppt.com/p-6509972.html