正常的Java方法设计和调用:
有返回值的java方法
public static 返回值类型 方法名(列表参数){
运行的代码;
return 返回值;
}
*封装 */
public static int sum(int a, int b){
int c =a+b;
return c;
}
方法的其他写法:例如调运函数输出一行文字,则函数输出类型就用 void;无参数,无返回值方法。
public static void print(){
System.out.println(111);
}
}
方法常见问题:
1 方法的编写顺序无所谓。
2方法与方法之间是平级关系,不能嵌套定义。
3 返回值类型为void,不能有return返回值。
4方法不调用不执行,调用时必须严格匹配方法的参数情况。
5 有返回值的方法调用时可以选择s
方法的内存原理:
方法没有被调用的时候,再方法去中的字节码文件中存放。
方法被调用的时候,需要进入到栈内存中进行运行。
方法的参数传递机制:
基本类型的参数传递:
在传输参数变量本身,而不是传输实参变量中存储的值,这就是值传递。
传递机制: 传输的是实参的地址。
引用类型的参数传递:
基本类型和引用类型的参数在传递的时候有什么不同?
都是值传递。
基本类型的参数传输存储的数据值。
引用类型的参数传输存储的地址值。//重点
典型案例:
打印数组内容
从数组中铲鲟元素的索引返回
比较两个数组内容是否一样
public class JudjeData {
public static void main(String[] args) {
int arr1[]={1,2,3};
int arr2[]={1,2,3};
boolean x =juded(arr1,arr2);
System.out.println(x);
}
public static boolean juded(int arr1[],int arr2[]){
if (arr1.length==arr2.length){
for (int i=0;i<arr1.length;i++){
if (arr1[i]!=arr2[i]){
return false;
}
}
return true;
}
return false;
}
}
方法重载
同一个类中,出现多个方法名称相同,但是形参列表是不不同的,那么这些方法就是重载方法。
方法重载的形式
同一个类中,多个方法的名称相同,形参列表不同。(只要是形参括号里的不一样,就代表不一样,可以再上一个方法的基础之上,再增加一个参数,就不一样。)
、
调用流程:
编写方法名一样的方法,但是参数不同。就构成了方法重载。
方法重载的好处:
可读性好。方法名称相同提示是同一类型的功能,通过形参的不同,通过形参不同实现功能差异化的选择,这是一种专业的代码设计。
方法重载的技巧
同一个类中,方法名要相同,形参列表不同(不关注修饰符,返回值类型都无所谓。)
形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。
单独使用return关键字
return; 单独使用,用在任何方法,立即跳出并结束当前方法的执行。
return用在,参数输入之后,不符合运算的语法规则,导致报错,可以利用return进行直接返回。同时结合break;
和continue;一起进行运用。