继续学习,可变参数,数组

可变参数

  • jdk 1.5开始,java支持传递同类型的可变参数给一个方法

  • 在方法声明中,在指定参数类型后加一个省略号(..)

  • 在一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明

public static viod 方法名(double...参数名){

}

 

递归

  • A方法调用B方法

  • 递归就是:A方法调用A方法!就是自己调用自己

  • 利用递归可以用简单的程序来解决一些复杂的问题。它通常吧一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的的多次重复计算,大大减少程序的代码量。递归的能力 在于有限语句来定义对象的无限集合

  • 递归结构包括两个部分:

    1. 递归头:什么时候不调用自身的方法。如果没有头,头陷入死循环

    2. 递归体:什么时候需要调用自身的方

数组

  • 相同类型的有序集合

  • 多个相同类型的若干数据,按照一定先后顺序排列组合而成

  • 其中每一个数据称作有一个数组元素,每个数组元素都可以通过一下标来访问他们

  • 数组的长度都是确定的,都是同一个类型

数组的声明创建

  • 首先必须声明数组变量,才能在程序中使用数组变量。下面声明数组变量的语法:

    dateaType[] arrayRefVar;   //首选方法
    dateaType  arrayRefVar[];   //效果相同但是不首选
    int[] a;//具体操作 声明一个数组
  • java语言使用new操作符来创建数组,语法如下:

    dataType[] arrayRefVar = new dataType[arraySize];
    inr[] =new a[10];//分配空间 这里面存放10个 int类型的数字
       
  • 数组的元素是通过索引访问的,数组索引从0开始、

  • 获取素组长度:

    arrays.length;
       a[0]=1;//给数组0号元素赋值
       a[1]=2;
    a.length  //获取数组长度
       for(int i=0;i<a.length;i++)//实际运用
a.for//快捷输入
   for(int i:a){//增强型for循环,没有下标
       
  }

 

内存分析

java内存分析

  1. 存放new的对象和数组

    1. 客被所有线程共享,不会存放别的对象引用

  2. 栈 存放基本变量类(会包含这个基本类型的具体数值)

    1. 引用对象的变量(会存放这个引用在堆里面的具体地址)

  3. 方法区 可以被所有线程共享

    1. 包含了所有class和static变量

静态初始化

int[] a={1,2,3}
man[] mans={new man(1,1),new man(2,2)};

动态初始化

int[] a=new int[2];
a[0]=1;
a[2]=2;

数组的默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

 

数组本身就是 对象

 

ArraylndexOutOfBoundsException;数组下标越界异常

 

数据使用

  • for

  • for-Each

  • 数组做方法入参

  • 数组做返回值

posted @ 2021-03-10 20:13  梦想终究会启航  阅读(48)  评论(0)    收藏  举报