Java学习day6--Java中方法的重载、递归调用、认识数组

1、方法的重载Overload

实现重载的3个条件:

  • 同一个类中的多个方法

  • 方法名相同

  • 参数列表不同 | 方法签名不同(参数个数不同、参数类型不同、不同类型的参数顺序不同)

方法签名:方法的唯一标识 方法名+参数列表

方法重载调用:只根据实参决定

tips:

方法的重载与修饰符、返回值类型、参数名均无关

public static void getSum(int x,int y){}
//参数个数不同,构成方法重载
public static void getSum(int x){}
   
//参数类型不同,构成方法重载
public static void getSum(int x,double y){}

//不同类型参数,参数顺序不同构成方法重载
public static void getSum(double x,int y){}

2、方法递归

方法内部自己调用自己

递归分类:

直接递归:A方法中调用A方法

间接递归:A方法中调用B方法,B方法中调用方法

递归的实现满足的条件:

  • 递归前进段:从第一次调用方法,到临界条件之间,不停的自己调用自己的过程。

  • 递归后退段 : 达到临界条件之后,将结果返回给上一层的过程。

  • 临界条件 : 停止自己调用自己的条件。

递归的优点 :恰当位置使用简单,灵活。

递归的缺点 :容易造成递归死循环,造成栈内存溢出的问题。

public static int recursion(int i){
    //过滤条件
    if(i<=0){
        return -1;
    }
    //临界条件
    if(i==1){
        return 1;
    }
    return i*recursion(i-1);
}

2、数组

变量 : 存储单个数据
数组 :存储多个数据

在内存中是一段连续的内存空间,线性序列,相同数据类型有序集合

数组特点:

  • 引用数据类型 [](基本数据类型的数据为对应类型数据值 ,引用数据类型的数据为对象数据 )

  • 定长,长度一旦确定不可改变

  • 存储的多个数据要求类型相同

  • 有序的,索引,根据根据索引区分数组中的每一个空间

索引 :

是数组连续内存空间中每一个空间得到唯一标识

根据索引操作数组中的数据 数组名[索引]

int[] a = new int[]{1,2,3,4,5} 
a[2] = 0//根据数组名[索引]操作下标为2的索引的值
  • 数组 索引从0开始每次+1

  • 最后一个空间的索引为 : 数组名.length-1

  • 长度 : 数组名.length

System.out.println(a.length);

数组的声明 :

  • 数据类型[] 数组名; --> 推荐

  • 数据类型 数组名[];

  • 数据类型 []数组名;

int[] b;//声明了一个int类型名为b的数组

动态初始化 : 先创建数组后赋值

  • 数据类型[] 数组名 = new 数据类型[长度];

  • 数据类型 : 可以为任意数据类型(基本|引用)

  • 长度 : 整数 0~n

int[] c = new int[5];//创建了一个长度为5的int型数组
//赋值
c[0] = 1;
c[1] = 2;

静态初始化 : 创建数组的同时赋值

  • 数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3....};

  • 数据类型[] 数组名 = {数据1,数据2,数据3....};

int[] c = new int[5]{1,2,3,4,5};//创建了一个长度为5的int型数组,并赋值为:1,2,3,4,5

默认值 : 数组创建没有赋值,存在默认值

整数型 : 0

小数型 : 0.0

布尔型 : false

字符型 : 空字符

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值