《Java 程序设计基础》 课件 第四章-方法与数组.pptx
Java程序设计基础方法与数组
方法与数组主要内容14.1Java方法(重点)4.2一维数组(重点)4.3简单的排序算法(重点、难点)4.4二维数组
本章教学目标2能理解int型数组的内存演变过程能理解String型数组的内存演变过程能准确的使用递归方法解决常见问题能理解冒泡排序、插入排序和快速排序的算法逻辑能准确的编写冒泡排序、插入排序和快速排序的实现代码能区分单向扫描法和双向扫描法两种方式的快速排序能理解二维数组的存储结构能理解二维数组的存储结构能准确的为二维数组元素赋值、遍历二维数组元素能理解int型数组的内存演变过程能理解String型数组的内存演变过程能准确的使用递归方法解决常见问题能理解冒泡排序、插入排序和快速排序的算法逻辑能准确的编写冒泡排序、插入排序和快速排序的实现代码能区分单向扫描法和双向扫描法两种方式的快速排序能准确的为二维数组元素赋值、遍历二维数组元素
什么是Java方法3方法是Java中一个命名的代码块,我们一直在使用的main就是一个方法方法可以提高代码的复用度,减少重复方法可以使程序结构更加清晰Java方法声明的语法形式如下(重点)[修饰符]返回值类型方法名([形参列表]){方法体}大括号前面的内容称为方法头,大括号中的内容称为方法体
方法声明后如何调用4本节介绍类内部方法的调用在类内部调用方法,只需给出方法名以及方法的实际参数列表(实参列表的数据类型必须与形参列表一致或可以自动转换成形参列表的格式),如下intx=returnAdd(3+5);drawStar(8);使用方法调用的形式,代码结构清晰,方法声明可以被复用JDK本身也提供了很多的方法,我们也一直都在使用。例如,System.out.println()就是在调用JDK提供的方法向向控制台输出,nextInt()方法(Scanner类)从控制台获取用户输入的整数等
方法声明里的元素:修饰符和返回值类型5修饰符:用来规定方法的可见范围等特征例如,我们一直在使用的main方法,其中的publicstatic就是修饰符,public表示这个方法的可见范围,static表示main方法是一个静态方法返回值类型:表示该方法返回什么类型的值特殊的,如果方法无需返回值,这时需要用void表示一旦一个方法需要返回值时,那么方法体中就必须使用return语句返回此类型的值
方法声明里的元素:修饰符和返回值类型6示例publicvoiddrawCircular()//该方法的返回值为空{...}publicintreturnInt(){//该方法返回值为int类型intx=10;...returnx;}一个方法只能有一个返回值,因此也只能有一个返回值类型如果逻辑上确实需要返回多个值,则可以将需要返回的“多个值”先转换为一个数组或一个对象,然后再返回转换后的这“一个值”
方法声明里的元素:方法名和形参列表7示例publicintreturnAdd(intx,inty){//x、y是形参returnx+y;}//以下是方法调用,后续讲解;这里仅用于区分形参和实参publicinttest(){returnAdd(1,2);//1、2是实参}
一个特殊的方法(递归)8递归调用是指一个方法在它的方法体内调用它自身Java语言允许方法的递归调用,在递归调用中,主调方法同时也是被调方法。执行递归方法将反复调用其自身,每调用一次就再进入一次本方法递归调用最容易出现的问题是,如果递归调用没有退出的条件,则递归方法将无休止地调用其自身,这显然是不正确的。为了防止递归调用无休止地进行,必须在方法内有终止递归调用的手段。通常的做法就是增加条件判断,满足某条件后就不再进行递归调用,然后逐层返回
一个特殊的方法(递归)9示例:使用递归调用计算整数n的阶乘//求n的阶乘的方法longfactorial(intn){if(n==1){//判断条件,一旦满足就不再递归,逐层返回return1;}longsum=factorial(n-1);//递归调用returnsum*n;//逐层返回求阶乘}
什么是数组1