Java 方法学习Day2

Java 方法学习Day2

1.可变参数

  • JDK1.5开始,Java支持传递同类型的可变参数给一个方法

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

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

public void test (int...,int x)

2.递归

定义:A方法调用A方法

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

递归结构的组成部分:

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

递归体:什么时候需要调用自身方法

(尽量不用递归,基数小可使用)

3.数组

1.定义

  • 数组是相同类型数据的有序集合

  • 数组描述的是相同类型的若干数据,按照一定的先后次序排列组合而成。

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

2.数组声明的创建

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

dataType[] arrayRefVar;(首选)
dataType arrayRefVar[];

声明一个数组:

int[] nums;
nums=new int[10];
或者
int []=new int[10];
  • Java 语言使用new操作符来创建数组,语法如下

    dataType[] arrayRefVar=new dataType[arraySize]

    数组的元素是通过索引访问的数组索引从0开始

  • 获取数组长度:arrays.length

3.数组三种初始化及内存分析

Java内存:

  • 堆:存放new的对象的数组;可以被所有的线程共享,不会存放到别的对象引用

  • 栈:存放基本变量类型(会包含这个基于类型的具体数值);引用对象的变量(会存取这个引用在堆里面的具体地址)

  • 方法区:可以被所有的线程共享;包含了所有的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[1]=2;
  • 数组的默认初始化

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

  •  

posted @ 2021-03-15 23:33  小迷yy  阅读(99)  评论(0)    收藏  举报