方法、方法重载、递归调用
一、方法的语法格式
在Java中,声明一个方法的具体语法格式如下:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
执行语句
………
return 返回值;}
修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等,这些修饰符在后面的学习过程中会逐步介绍
返回值类型:用于限定方法返回值的数据类型
参数类型:用于限定调用方法时传入参数的数据类型
参数名:是一个变量,用于接收调用方法时传入的数据
return关键字:用于结束方法以及返回方法指定类型的值
返回值:被return语句返回的值,该值会返回给调用者
接下来通过一个案例来演示方法的定义与使用
public class MethodDemo01 { public static void main(String[] args) { int area = getArea(3, 5); // 调用 getArea方法 System.out.println(" The area is " + area); } // 下面定义了一个求矩形面积的方法,接收两个参数,其中x为高,y为宽 public static int getArea(int x, int y) { int temp = x * y; // 使用变量temp记住运算结果 return temp; // 将变量temp的值返回 } }
在上述代码中,定义了一个getArea()方法用于求矩形的面积,参数x和y分别用于接收调用方法时传入的高和宽,return语句用于返回计算所得的面积。在main()方法中通过调用getArea()方法,获得矩形的面积,并将结果打印。
二、方法的调用过程
三、方法的重载
方法重载指的是方法名称相同,参数的类型或个数不同,调用的时候将会按照传递的参数
类型和个数完成不同的方法体的执行。
Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载。
重载注意事项:
1.重载方法参数必须不同:
参数个数不同,如method(int x)与method(int x,int y)不同
参数类型不同,如method(int x)与method(double x)不同g
参数顺序不同,如method(int x,double y)与method(double x,int y)不同
2.重载只与方法名与参数类型相关与返回值无关
如void method(int x)与int method(int y)不是方法重载,不能同时存在
3.重载与具体的变量标识符无关
如method(int x)与method(int y)不是方法重载,不能同时存在
四、参数传递
参数传递,可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了。这种传递方式,我们称为参数传递。
在这里,定义方法时,参数列表中的变量,我们称为形式参数
调用方法时,传入给方法的数值,我们称为实际参数
public class ArgumentsDemo01 { public static void main(String[] args) { int a=5; int b=10; change(a, b);//调用方法时,传入的数值称为实际参数 System.out.println("a=" + a); System.out.println("b=" + b); } public static void change(int a, int b){//方法中指定的多个参数称为形式参数 a=200; b=500; } }
五、类的定义与使用
Java代码映射成现实事物的过程就是定义类的过程。
1.类的定义格式
创建java文件,与类名相同 public class 类名{ 数据类型 属性名称1; 数据类型 属性名称2; … }
2.类的使用格式
导包:我们将所有的类放到同一个文件夹下,可以避免导包。 创建对象:数据类型 变量名 = new 数据类型(); 调用方法:目前我们定义的自定义类不涉及方法,只是属性(自定义类中的方法部分在面向对象部分讲解) 访问属性:变量名.属性 (这是当前的方式,后期会采取调用方法的方式替代掉直接访问的方式来完成对
属性的访问。)
六、ArrayList集合
在前面我们学习了数组,数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变。例如,要保存一个学校的学生,由于不停有新生来报道,同时也有学生毕业离开学校,这时学生的数目很难确定。为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。在这里,我们先介绍ArrayList集合,其他集合在后续课程中学习。
ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。
导包:import java.util.ArrayList;
创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型:
ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();
下面给出8种基本数据类型所对应的引用数据类型表示形式:
ArrayList集合提供的一些常用方法
3.集合的遍历
13import java.util.ArrayList; 14public class ArrayListDemo02 { 15 public static void main(String[] args) { 16 //创建ArrayList集合 17 ArrayList<Integer> list = new ArrayList<Integer>(); 18 //添加元素到集合 19 list.add(13); 20 list.add(15); 21 list.add(22); 22 list.add(29); 23 //遍历集合 24 for (int i = 0; i < list.size()[获取集合中元素的个数]; i++) { 25 //通过索引,获取到集合中每个元素 26 int n = list.get(i)[获取集合中指定位置上的元素值]; 27 System.out.println(n); 28 } 29 } 30}
4.常用方法的补充