java学习笔记(九)方法与数组

方法与数组

1.方法:

1.1 函数:Java就是方法。
方法:
    就是完成特定功能的代码块

格式:
    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
        方法体;
        return 返回值;
    }

解释:
    修饰符:public static

    返回值类型:
        用于限定返回值的数据类型

    方法名:
        方便我们调用方法

    参数类型:
        形式参数    就是接收实际参数的变量(定义时候的)
        实际参数    就是实际参与运算的变量(调用时候的)

    方法体:
        就是完成功能的代码。

    返回值:
        就是功能的返回结果。

    return 返回值:
        结束方法,把返回值带给调用者
1.2 有明确返回值的方法调用
    A:单独调用
        没有意义
    B:输出调用
        不是特别好,因为我们可能需要对结果进行进一步的操作。
    C:赋值调用
        推荐方案
1.3 书写方法注意的事项:
做到两个明确:
    返回值
        结果的数据类型
    参数
        参数的个数,以及类型
1.4 方法的注意事项(
    A:方法不调用不执行
    B:方法与方法是平级关系,不能嵌套定义
    C:方法定义的时候参数之间用逗号隔开
    D:方法调用的时候不用在传递数据类型
    E:如果方法有明确的返回值,一定要有return带回一个值           
1.5 练习:求两个数据和的功能。
    做到两个明确:
    返回值:结果的数据类型 int
    参数:参数的个数,以及类型 int a,int b   
public class FunctionDemo3 {
    public static void main(String[] args) {
        System.out.println(add(10, 20));
    }

    //写一个两个数相加的方法

    public static int add(int a,int b){
        return a+b;
    }


}

2.方法重载

    方法重载:
        在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

    方法重载特点
        与返回值类型无关,只看方法名和参数列表
        在调用时,虚拟机通过参数列表的不同来区分同名方法            

练习:比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型, 并在main方法中进行测试

public class FunctionOverload2 {
    public static void main(String[] args) {
        //定义两个byte类型的数据,进行比较
        int a = 10;
        int b = 20;
        System.out.println(isEquals(a, b));

    }

    /**
     * 比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,
     * 两个int类型,两个long类型,并在main方法中进行测试
     */
    public static boolean isEquals(byte a,byte b){
        System.out.println("比较两个byte类型的数据是否相等");
        return a==b;
    }

    public static boolean isEquals(short a,short b){
        System.out.println("比较两个short类型的数据是否相等");
        return a==b;
    }


    public static boolean isEquals(int a,int b){
        System.out.println("比较两个int类型的数据是否相等");
        return a==b;
    }

    public static boolean isEquals(long a,long b){
        System.out.println("比较两个long类型的数据是否相等");
        return a==b;
    }


}

3.数组

3.1 数组:
注意:数组既可以存储基本数据类型,也可以存储引用数据类型
3.2数组的定义格式
    A:数据类型[] 数组名;
        int[] arr;
    B:数据类型 数组名[];
        int arr[];

    区别:念法上区别
        int[] arr;
            int类型的数组,arr
        int arr[];
            int类型的,arr[]
3.3数组初始化概述:
    A:Java中的数组必须先初始化,然后才能使用。
    B:所谓初始化
        就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
3.4如何为数组进行初始化呢?
    A:动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
    B:静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。
3.5动态初始化:
    初始化时只指定数组长度,由系统为数组分配初始值。

    格式:
        数据类型[] 数组名 = new 数据类型[数组长度];

        数组长度其实就是数组中元素的个数。
    int[] arr=new int[3];
    int[0]=2;
    int[1]=3;
    int[2]=5;
3.6索引(下标)
为了方便我们获取数组中的元素,数组就为每个元素进行了编号,从0开始。
这个编号,专业叫法:索引。(角标,下标)
有了索引如何获取元素呢?    
    格式:数组名[索引]          
3.7静态初始化:
    初始化时指定每个数组元素的初始值,由系统决定数组长度。

    格式:
        数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};

    简化格式:
        数据类型[] 数组名 = {元素1,元素2,…};
        int[] arr={2,3,5};
3.8数组操作常见的两个小问题
    A:
        ArrayIndexOutOfBoundsException:数组索引越界异常
        怎么产生的:
            你访问了不存在的索引。
        如何解决:
            修改你的访问索引。
    B:
        NullPointerException:空指针异常
        怎么产生的:
            引用已经不再指向堆内存
        如何解决:
            一般来说,只要是引用类型的变量,我们在使用前,都要先判断是否为null。
            如果不为null,才继续使用。

练习:求出数组中的最大值;

public class ArrayDemo{
    public static void main(String[] args) {

        int[] arr = {5,7,9,10};

        //假设数组中的第一个元素就是最大值
        int max = arr[0];

        //for循环遍历数组,在for循环中进行比较判断
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]>max) {
                max = arr[i];
            }
        }

        System.out.println(max);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值