零基础坚持学Java【记录record】

5/9

递归*

  • 自己调用自己
  • 利用递归可以用简单的程序解决一些复杂的问题。大大减少程序的代码量。递归的能力在于用有限的语句来定义对象的无限合集。
  • 递归结构包括两个部分:
    • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
    • 递归体:什么时候需要调用自身方法。
psvm{
    sout(f(5));
}
public static int f(int n){
    if (n==1){
        return 1;
    }else {
        return n*f(n-1);
    }
}

数组

  • 数组的声明与创建
    • int[] nums; 首选
    • int nums[]; 适应c/c++
psvm{
    //声明与创建合并
    int[] nums = new int[10];
    //赋值
    nums[0]=1;
    nums[1]=2;
    ......
    //计算所有元素的和
        int sum = 0;
    for (int i = 0;i < nums.length;i++){
        sum = sum + nums[i];
    }
    sout("总和"+sum);
}
  • 数组的元素是通过索引访问的,数组索引从0开始。
  • 获取数组长度:arrays.length

内存分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HnGYmLMj-1652111578913)(C:\Users\Administrator\Desktop\Java\java内存.jpg)]

数组的三种初始化

  • 静态初始化
int[] a = {1,2,3};
Man[] mans = {new Man(1,1),new Man(2,2)};
  • 动态初始化
int[] a = new int[2];
a[0]=1;
a[1]=2;
  • 数组的默认初始化
    • 数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值