什么时候使用方法? 出现了大量的重复代码的时候考虑将实现同一功能的代码块封装为方法 方法的一般格式 权限修饰符 返回值类型 方法名(参数列标) { 方法体 返回值 }
public class 方法 {
public static void main(String[] args) {
// 方法调用的三种形
a();
// 使用变量接收有返回值类型的方法
int a = a();
System.out.println(a);
System.out.println(a());
}
public static int a(){
int a = 10;
return a;
}
}
注:1:void 表示返回值为void类型
2:返回值为void类型的方法中可以使用return 但是不可以有具体的返回值,此时的return作用是结束这个方法
方法的参数传递 :
1:值传递
2:地址传递
哪些属于值传递 : 八大基本类型 (byte、 short、int、long、float 、 double、boolean、char)
哪些属于地址传递:string 、数组、 对象等
简单来说除了基本类型其它的就是地址传递
两者之间的区别:值传递不会改变原来的值(拷贝一份值传递过去)
地址传递会改变原来的值(传过去的是地址)
程序举例:
值传递:
public class 方法 {
public static void main(String[] args) {
int a = 10,b = 20;
System.out.println("a="+a);
System.out.println("b="+b);
swap(a,b);
System.out.println("调用方法之后");
System.out.println("a="+a);
System.out.println("b="+b);
}
public static void swap(int a , int b)
{
int temp = a;
a = b;
b = temp;
}
}
地址传递:
package first.chapter;
import java.util.Arrays;
public class 方法的地址传递 {
public static void main(String[] args) {
int[] a = {1,2};
// 打印数组
System.out.println("调用之前");
System.out.println(Arrays.toString(a));
swap(a);
// 打印数组
System.out.println("调用方法之后");
System.out.println(Arrays.toString(a));
}
// 此方法用于交换两个变量的值
public static void swap(int[] a)
{
int temp = a[0];
a[0] = a[1];
a[1] = temp;
}
}