文章目录

  • 一、方法的定义
  • 二、方法的重载
  • 三、数组的引用传递
  • 四、Java 新特性对数组的支持


一、方法的定义

public static 返回值类型 方法名称(类型 参数1,类型 参数2,...){
	程序语句;
	[return 表达式]
}

方法和函数的关系
这两者是同样的概念,只是在面向对象的语言中常称为方法,面向过程的语言中常称为函数

方法命名规范要求
在定义类时,要求全部单词的首字母必须大写,那么在定义方法时也是有命名规范要求,即第一个单词的字母小写,之后每个单词的首字母大写,如 prinInfo() 方法。

示例

public class ArrayDemo01 {
    public static void main(String[] args) {
        int one = addOne(10,20);
        float two = addTwo(10.3f,13.3f);
        System.out.println("The result of addOne: " + one);
        System.out.println("The result of addTwo: " + two);
    }

    public static int addOne(int x,int y){
        int temp = 0;
        temp = x+y;
        return temp;
    }
    public static float addTwo(float x,float y){
        float temp = 0;
        temp = x+y;
        return temp;
    }
}

二、方法的重载

方法的重载就是方法名称相同,但参数的类型和参数的个数不同,通过传递参数的个数及类型不同以完成不同功能的方法调用。

方法的重载一定只是参数上的类型或者个数不同

示例

public class ArrayDemo01 {
    public static void main(String[] args) {
        int one = add(10,20);
        int two = add(10,13,15);
        float three = add(10.3f,13.3f);
        System.out.println("The result of add(int x,int y): " + one);
        System.out.println("The result of add(int x,int y,int z): " + two);
        System.out.println("The result of add(float x,float y): " + three);
    }

    public static int add(int x,int y){
        int temp = 0;
        temp = x+y;
        return temp;
    }
    public static int add(int x,int y,int z){
        int temp = 0;
        temp = x+y+z;
        return temp;
    }
    public static float add(float x,float y){
        float temp = 0;
        temp = x+y;
        return temp;
    }
}

三、数组的引用传递

数组属于引用数据类型
如果要向方法中传递一个数组,则方法的接收参数处必须是符合其类型的数组

public class Test {
    public static void main(String[] args) {
        int temp[] = {1,3,5};
        fun(temp);
        for (int i=0;i<temp.length;i++){
            System.out.print(temp[i] + "、");
        }
    }
    public static void fun(int x[]){
        x[0] = 6;
    }
}

java声明数组指定长度 java如何声明数组_java声明数组指定长度


因为数组是引用数据类型,所以,即使方法本身没有任何的返回值,修改后的结果也会被保存下来。

既然方法可以接受一个数组,那么方法也可以返回一个数组,只需要在返回值类型声明处明确的写出返回的数组类型即可。

public class Test {
    public static void main(String[] args) {
        int temp[] = fun();
        print(temp);
    }

    public static void print(int x[]){
        for (int i=0;i<x.length;i++){
            System.out.print(x[i] + "、");
        }
    }

    public static int[] fun(){
        int ss[] = {1,3,5,7};
        return ss;
    }
}

java声明数组指定长度 java如何声明数组_java_02

调用 类库完成对数组的排序

public class Test {
    public static void main(String[] args) {
        int score[] = {67,89,69,88,78};
        int age[] = {31,30,18,17,8,9};
        java.util.Arrays.sort(score);
        print(score);
        System.out.println("\n--------------------");
        java.util.Arrays.sort(age);
        print(age);
    }

    public static void print(int x[]){
        for (int i=0;i<x.length;i++){
            System.out.print(x[i] + "\t");
        }
    }
}

四、Java 新特性对数组的支持

  1. 可变参数
返回值类型 方法名称(类型...参数名称){}

方法中可以接收的参数不再是固定的,而是随着需要传递的
向方法传递可变参数之后,里面的参数是以数组的形式保存下来

public class Test {
    public static void main(String[] args) {
        System.out.print("不传递参数 fun(): ");
        fun();
        System.out.print("\n传递1个参数 fun(1): ");
        fun(1);
        System.out.print("\n传递5个参数 fun(1,2,3,4,5): ");
        fun(1,2,3,4,5);
    }

    public static void fun(int...arg){
        for (int i=0;i<arg.length;i++){
            System.out.print(arg[i]+"\t");
        }
    }
}

java声明数组指定长度 java如何声明数组_数组_03


2. foreach 输出

语法格式:

for(数据类型 变量名称:数组名称){
	...
}
public class Test {
    public static void main(String[] args) {
        System.out.print("不传递参数 fun(): ");
        fun();
        System.out.print("\n传递1个参数 fun(1): ");
        fun(1);
        System.out.print("\n传递5个参数 fun(1,2,3,4,5): ");
        fun(1,2,3,4,5);
    }

    public static void fun(int...arg){
        for (int x:arg){
            System.out.print(x + "\t");
        }
    }
}

java声明数组指定长度 java如何声明数组_java_04