java5 数组、递归、面向对象

这里写自定义目录标题

数组
  • 二维数组

    就是元素为一维数组的数组(数组嵌套数组)

    • 定义语法

      动态初始化

      int[ ][ ] arr2=new int [3] [2];

      其中 3表示二位数组的长度,也就是说这个二维数组中可以放三个一维数组。2表示的是二维数组中一维数组的长度。

    • 当第二个[ ]给了值,那就是在初始化二维数组时,还会去初始化3个一维数组,一维数组的长度是2,二维数组包含3个长度为2的一维数组

    • 取出二维数组中,一维数组的值:

      System.out.println(arr2[0] [0])第一个数组的第一个元素

    • 数组中的最后一个元素的索引=数组的长度-1

    • 初始化一维数组,放进二维数组;

      int[] one =new int[2];

      int[] two =new int[2];

      int[] three =new int[2];

      1.arr[0] = one;

      arr[1] = two;

      arr[2] = three;

      2.arr[0] = new int[2];

      arr[1] = new int[2];

      arr[2] = new int[2];

      先定义三个一维数组,1意味将三个一维数组放入二维数组arr[] []的相应位置,2意为将新定义三个一维数组覆盖之前放入二维数组中的一维数组。

    • int[ ] x,y [];

      x是一维数组,y是二维数组

    • 二维数组的静态初始化

      由我们指定具体的元素值,由系统给分配长度

      int[ ] [ ] arr=new int[ ] [ ]{{10,20,4},{20,1},{100,300,5}};

    • 遍历二维数组

      在这里插入图片描述
      在这里插入图片描述

递归

​ java中的递归指的是,在方法中调用方法本身的这种现象 。

  • 注意:1.递归要有出口,不然就是死递归(死递归会造成 栈溢出)

    ​ 2.递归次数不宜过多(也会造成栈溢出)

    ​ 3.递归所体现的就是一种拆分合并的思想

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 调用方法时,有时需要进行参数传递

    ​ 一种是基本数据类型作为参数传递,属于值传递,就是把实参的值传过去,形参的改变不影响实参。

    ​ 一种就是引用类型作为参数传递,属于引用传递,传递的是地址值,形参的改变影响实参。

例:利用递归计算5的阶乘

在这里插入图片描述

面向对象
  • 面向对象特征:封装、继承和多态。

  • 面向对象开发:就是不断的创建对象,使用对象,指挥对象做事情

  • class定义一个类 类体现的就是一个封装的思想,(封装成员属性和成员功能) 类,是java语言中的最小单位。以现实事物举例,和类的对应关系为:

    事务<===>类

    属性<===>成员变量

    行为<===>成员方法

  • 成员变量:定义在类中方法外的变量

    成员方法:以前怎么定义方法,和以前一样,只是可以去掉static

  • 我们定义好了一个类,就是想要使用这个类,那我们就创建一个测试类,提供一个主方法,作为入口,在主方法中取出这个类。类 本身是一个抽象的概念,不能直接去使用。必须要对类进行实例化,实例化完毕之后,才能使用。所谓实例化,就是创建该类的对象 ,然后使用该类的对象,去调用该类的属性和功能。

  • 怎么创建对象,可以借助一个关键字new来完成类的实例化

    创建该类的对象的语法:

    类名 对象名=new 类名();

    Person p=new Person;

    就可以通过对象名,来调用类中的属性和方法。

    调用成员变量

    String mingzi=p.name;

    int age=p.age;

    char ch=p.sex;

    System.out.println(“姓名”+mingzi);

    System.out.println(“年龄”+age);

    System.out.println(“性别”+ch);

    调用成员方法:

    p.pet();

    p.sleep();

    例:手机属性和功能:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值