方法
形式参数,实际参数
return有终止程序的作用
java是值传递
方法的重载
方法重载规则
- 方法名必须向他;
- 参数列表必须不同(个数不同,或类型不同,参数排列顺序不同)
- 方法的返回类型可以相同也可以不相同
- 仅仅返回类型不同不足以实现方法的重载
命令行传参
可变参数
add(double … num1)
必须在参数的最后一个声明,且每一个方法只能有一个可变参数
递归
自己调用自己
包含两个结构
- 递归头 :什么时候不调用自身方法。如果没有头将陷入死循环
- 递归体:什么时候需要调用自身方法
递归过多时,会大量占用电脑空间,降低电脑运行速率,影响电脑性能。
数组
是一种简单的数据结构,是一组相同数据类型的集合。
数组的声明和创建
必须先声明数组,才能使用
int []nums(首选)
使用new关键字来进行使用,
nums =new int[5](数字代表数组的长度)
int nums= new int[5]
堆和栈
堆是存放所有new出来的对象和数组,可以被所有的线程共享,不会存放别的对象引用。
栈是存放基本变量类型,(会包括这个基本类型的数值),引用对象的变量(会存放到这个引用在堆里面的具体地址)。
方法区:可以被所有的线程共享,包含了所有的static和class变量。
数组的是那种初始化:
动态初始化:(包含默认初始化)
int [] b=new int[5](先分配空间)
b[0]=10;(然后赋值)
静态初始化:
int [] a={1,2,3,4,5}(直接赋值)
默认初始化:
数组的长度是确定的,一旦创建,大小不可改变,元素必须是相同类型,可以是基本类型也可以是引用类型数组也是对象,因为是new出来的,
数组的使用
for each循环
for (int array : arrays) (arrays.for)
for each 循环,a(数组名).for(自动生成)输出时直接在循环里输出新的数组名
数组的反转
result[i]=arrays[j];
二维数组
定义:和一维数组是一样
int[] [] arrays={{3,4},{4,5},{5,5}};
打印二维数组
int [][] arrays ={{1,2},{3,4},{4,5},{5,6},{6,7},{7,8}};
for(int i=0;i<arrays.length;i++){
for(int j=0;j<arrays[i].length;j++){
System.out.print(arrays[i][j]+" ");
}
System.out.println();
}
}