三分钟学会方法 递归 数组

一、栈

编译后的class文件放在方法区

需要执行的代码进行压栈执行,执行完毕后立马弹栈释放内存空间。

字符串之间的比较用equals

eg:

“zhangsan”.equals(a)

二、参数

1.方法的参数

​ 形式参数–>形参:送一方法是()中的参数

​ 相当于局部变量的声明

​ 作用域:在当前方法中有效

​ 实际参数–>实参:调用方法是()中的参数

​ 相当于为局部变量赋值

​ 形参不存在默认值,

形参与实参要求一一对应

​ 类型对应

​ 顺序对应

​ 个数对应

2.return关键字

​ 有返回值类型的方法中:必须存在!!!必须带出返回值

1.提前结束方法
2.带出返回值到调用此方法处

​ 在没有返回值类型的方法中;

1.提前结束方法

不可达语句的出现一般有一下集中情况:

1)return后面出现其他语句
2)break后面直接出现的语句
3)continue后面直接出现的语句
4)while–true|死循环后的代码
5)while(false){中的代码

三、递归

方法的递归:

​ 自己调用自己

​ 递归头:停止自己调用自己的条件

​ 递归体:自己调用自己

​ 临界条件:递归头:停止自己调用自己的条件

​ 递归前进段:不停的自己调用自己的过程

​ 递归后推断:当满足临界条件之后,把结果返回给上一层的过程

递归可以简化结构,合理的地方使用可以让程序变得更简单,但是用不好容易造成内存的溢出,慎重使用。

递归方法打印99乘法表:

public static void print(int n){
        //临界条件
        if(n==1){
            System.out.println("1*1=1");
            return;
        }
        //打印n-1之前的所有行乘法表
        print(n-1);
        //当前行n的乘法表
        //i就是每一列
        for(int i=1;i<=n;i++){
            System.out.print(i+"*"+n+"="+i*n+"\t");
        }
        //换行
        System.out.println();
    }

四、数组

数组

​ 是一种存储数据的数据结构

​ 变量:存储单个数据

​ 数组:存储多个数据

​ 相同类型数据的有序集合

​ 在内存中是一段连续的内存空间

特点:

​ 数组是一种引用数据类型

​ 数组是定长,长度一单确定不可改变

​ 一个数组中存储相同类型的数据

​ 数组中数据是有序的,通过索引(下标)进行管理

下标|索引

​ 从0开始,每次+1

​ 根据数组的索引操作数组中的数据

​ 第一个索引–>0

​ 最后一个数据的索引–>数组名.length-1

操作数组中的数据:

​ 数组名[下标|索引]

数组的长度

​ 数组名.length(连续内存空间的个数)

数组的定义:
声明:
变量的声明: 数据类型 变量名;
数组的声明: 数据类型[] 数组名;
数据类型 数组名[];
数据类型 : 可以为任意数据类型(基本|引用)
规定当前数组中存储数据的类型

初始化:
动态初始化 : 先创建数组后赋值数据
数据类型[] 数组名 = new 数据类型[长度n];
数组先创建没赋值存储默认值:
整数->0
小数->0.0
boolean->false
字符 -> ’ ’
引用数据类型 -> null

静态初始化 : 创建数组的同时赋值
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3…};
数据类型[] 数组名 = {值1,值2,值3…}; -->简略写法

数组的属性:

获取数组的长度 数组名.length

数组的遍历方式:
1.普通for循环,遍历i当做数组的索引
2.增强for循环|for…each 从前往后–>默认
for(数据类型 变量名:数组名|集合名){
变量名->指代|代表数组中的每一个数据
}

增强for循环中的变量不是索引,而是数组中的每一个数据

执行原理是从前往后挨个赋值给变量并输出;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值