JAVA学习笔记(四)

方法、方法重载、递归调用

一、方法的语法格式

  在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.常用方法的补充

原文地址:https://www.cnblogs.com/boringLee/p/8651820.html