初识java数组与递归思想
Posted project-zqc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识java数组与递归思想相关的知识,希望对你有一定的参考价值。
数组
数组的初始化:
1.静态初始化: 值由我们来给定,长度通过系统来计算。
格式举例: int[] arr=new int[]{这里是我们给定的值}
静态初始化的简写格式:
int[] arr={这里是我们给定的值};这种方式用法的比较多。
2.动态初始化: 长度有我们来给定,值有系统初始化默认值。各个类型对应的默认值不一样,我们 下面会介绍。
格式举例: int[] arr=int[我们指定的长度];
注意:
数组类型的变量有两种定义方式:
1.int[] a;
2.int a[];
推荐使用第一种定义方式。
匿名数组:
格式:new int[]{值}
数组初始化默认的值介绍每一个数组对象一开始都拥有自己的默认值:
byte,short,int,long 默认值是 0
float,double 默认值是 0.0
char 默认值是 'u0000'
boolean 默认值是 false
引用数据类型 默认值是 null
注意:
数组属于引用类型(对象),引用数据类型的默认值为null(null也是一种引用类型)
二维数组:
二维数组就是数组嵌套数组。
二维数组的创建格式:
动态初始化:int[][] arr=new int[长度][长度]
int[][] arr=new int[长度][] 这种方式没有给定一维数组的长度那么数组类初始化化的时候就会给一个默认的值null(因为是引用数据类型)。
静态初始化:
int[][] arr=new int[][]{值}{值}
简写:int[][] arr={{},{},{}}
二维数组的便利:
方法一:使用for、while进行循环。
方法二:
可以使用for each循环,这种方式不会打印出索引。
使用格式for(int element:数组)
System.out.println(element)
使用案例:
int[] arr={1,3,45,65,7};
for(int a:arr) System.out.println("a = " + a);
递归思想总结
递归:
体现的是一种拆分和合并的思想,然后从拆分的最后一级一级推出结果.
举个例子5!:
public static void main(String[] args) {
int res=jieCh(5);
System.out.println("res = " + res);
}
static int jieCh(int n){
if(n==1){ //这里是关键,这里是拆分到最后的实实在在的值,是计算的开始
return 1;
}else {
return n*jieCh(n-1); //这里是逻辑
}
}
}
以上是关于初识java数组与递归思想的主要内容,如果未能解决你的问题,请参考以下文章
快速排序基本思想,递归写法,python和java编写快速排序