Java基础>05 - 函数,重载、重写、数组

本文深入探讨Java函数、重载与重写概念,解析数组操作及排序算法,包括冒泡排序和二分查找,同时提供实用代码示例,帮助读者掌握Java核心编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人学习总结:
链接:【Java基础、springboot、springcloud、docker 等,学习目录

一、函数:

直白点就是我们在类中定义的方法。目的是提高代码复用性,其他类、或本类中其他方法可以调用该方法。

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)
{
	执行语句;
	return 返回值;
}

实参、形参:
实参:实际参与运算的数据,即传递给形式参数的具体值。
形参:方法参数列表定义的形式参数,虚拟参数。

二、函数的重载、重写区别:

重载(overload):
1、同一个类中,方法名相同
2、参数列表不同(参数个数、数据类型、顺序)
3、和返回值、形参的标识符、权限修饰符无关

重写、复写、覆盖(override):
1、子父类中
2、方法名、形参列表必须一致,返回值可以使子父类类型
3、重写时,子类的权限修饰符必须大于等于父类的权限修饰符
4、子类的返回值类型必须小于等于父类的返回值类型(面试
4、子类抛出的异常必须小于等于父类抛出的异常

三、数组:

变量是用于存储可变数据的容器,但是只能存储一个数据。而数组是用于存储同种数据类型的集合容器,即可存储多个数据,数组中的元素自动从0开始索引编号。

数组的定义:

1、元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
   示例:int[] arr = new int[5];
   
2、元素类型[] 数组名 = new 元素类型[]{元素,元素,……};
   int[] arr = new int[]{1,2,3,4};
   int[] arr = {1,2,3};  // 定义数组之后指定了长度,并做了赋值操作

注意:
1、给数组分配空间时,必须指定数组的大小(长度)
2、创建数组之后,数组的大小不能修改,即长度固定。length 获取长度。

数组的操作:

// 1、获取最大值:
public static int getMax(int[] arr) {
    //定义变量记录较大的值,初始化为数组中的任意一个元素。
    int max = arr[0];
    for(int x=1; x<arr.length; x++) {
        if(arr[x] > max) {
            max = arr[x];
        }
    }
    return max;
}

// 2、冒泡排序:依次比较相邻的两个数,将小数放在前面,大数放在后面
public static void bubbleSort(int[] arr) {
    for(int x = 0; x < arr.length - 1; x++) {
        //-x: 让每次参与比较的元素减少X个,因为第一次比较之后,数组最右边一定是最大值。
        for(int y = 0; y < arr.length - x - 1; y++)
        //-1:避免角标越界。
        {
            if(arr[y]>arr[y+1])
            {
                int temp = arr[y];
                arr[y] = arr[y+1];
                arr[y+1] = temp;
            }
        }
    }
}

// 3、二分法查找:返回指定元素的索引,没有,返回-1
public static int halfSeach(int[] arr,int key){
    int min,mid,max;
    min = 0;
    max = arr.length-1;
    mid = (max+min)/2;
    
    while(arr[mid] != key){
        if(key > arr[mid]) {
            min = mid + 1;
        } else if(key < arr[mid]) {
            max = mid - 1;
        }
        if(min > max) {
            return -1;
        }
        mid = (max + min)/2;
    }
    return mid;
}

// 数组操作的工具类:Arrays: toString()、sort()、binarySearch()

二维数组:

// 1、要使用必须对以为数组初始化,二维数组存储的是以为数组的地址
数组类型[][] 数组名 = new 数组类型[一维数组的个数][每一个一维数组中元素的个数];
int [][] arr = new int[3][4];
ar[0] = new int[]{12,34,45,89};
ar[1] = new int[]{12,34,45,89};
ar[2] = new int[]{12,34,45,89};

// 2、推荐使用
int [][] arr = new int[][]{ {12,34,45,89},{34,56,78,10},{1,3,6,4} };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值