十四、方法
方法,完成特定功能的代码块。
-
格式:
修饰符 返回值类型 方法名(参数类型 参数名1, 参数类型 参数名2…){ 方法体语句; return 返回值; }
修饰符:例如,public static
返回值:功能结果的数据类型
参数类型:参数的数据类型
参数名:变量
参数分类:
①实参:实际参加运算的数据
②形参:方法上定义的,用于接收实际参数的变量
方法体语句:完成功能的代码块
return:结束方法
返回值:功能的结果
-
方法调用
有返回值的方法
①单独调用;
②输出调用;
③赋值调用(推荐);
void类型修饰的方法
单独调用 -
注意事项
方法不调用不执行;方法之间是平行关系,不能嵌套定义;方法在调用的时候,不用再传递数据类型;如果方法有明确的返回值类型,就必须有return语句返回。 -
方法的重载
在同一个类中,方法名相同,参数列表不同,与返回值无关。
参数列表不同:参数的个数不同;参数对应的数据类型不同。
十五、数组
存储同一种数据类型的多个元素的容器。索引从0开始,至n-1。
-
格式:
数据类型[] 数组名;//推荐
数据类型 数组名[]; -
初始化
①动态初始化,只给长度,系统给出默认值int[] arr = new int[3];
②静态初始化,给值,系统给出长度
int[] arr = new int[]{1,2,3};
简化版:
int[] arr = {1,2,3};
- java内存分配
①栈 存储局部变量
②堆 存储所有new出来的
③方法区
④本地方法区(系统相关)
⑤寄存器(CPU使用)
注意:
①局部变量 在方法中定义、声明的变量
②栈内存与堆内存:
栈:数据使用完毕,就释放
堆:
-每一个new出来的都有地址;
-每一个变量都有默认值 byte,short,int,long 0;float,double 0.0;char 'u0000';boolean false;引用类型 null。
-
数据使用完毕后,在垃圾回收器空闲时回收。
-
数组的常见操作
①遍历
方式1:public static void printArray(int[] arr){ for(int x=0; x<arr.length;x++){ System.out.println(arr[x]); } }
方式2:
public static void printArray(int[] arr){
System.out.print("[");
for(int x=0; x<arr.length; x++){
if(x == arr.length-1){
System.out.println(arr[x]+"]");
else{
System.out.println(arr[x]+",");
}
}
}
}
②最值
最大值:
public static int getMax(int[] arr){
int max = arr[0];
for(int x=1; x<arr.length; x++){
if(x>max){
max = arr[x];
}
}
return max;
}
最小值:
public static int getMin(int[] arr){
int min = arr[0];
for(int x=1; x<arr.length; x++){
if(x < min){
min = arr[x];
}
}
return min;
}
③逆序
方式1:
public static int reverse(int[] arr){
for(int x=0; x<arr.length; x++){
int temp = arr[x];
arr[x] = arr[arr.length-1-x];
arr[arr.length-1-x] = temp;
}
}
方式2:
public static int reverse(int[] arr){
for(int start=0, end=arr.length-1; start<=end; start++,end--)
{
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
④查表
public static String getString(String[] strArray,int index){
return strArray[index];
}
⑤基本查找
方式1:
public static int getInde(int[] arr,int value){
for(int x=0; x<arr.length; x++){
if(arr[x] == value){
return x;
}
}
return -1;
}
方式2:
public static int getIndex(int[] arr, int value){
int index = -1;
for(int x=0; x<arr.length; x++){
if(arr[x] == value){
index = x;
break;
}
}
return index;
}
十六、二维数组
元素是一维数组的数组
-
格式
①数据类型[][] 数组名 = new 数据类型[m][n];
②数据类型[][] 数组名 = new 数据类型[m][];
③数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};
④数据类型[][] 数组名 = {{...},{...},{...}}; -
案例
①二维数组的遍历
②二维数组的求和