关键词搜索

源码搜索 ×
×

(Java)第 4 章 数组与方法 – 方法的声明及使用(新特性)

发布2019-10-23浏览583次

详情内容

一、方法的定义

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;
        }
    }
    
      5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    二、方法的重载

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

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

    示例

    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;
        }
    }
    
      5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    三、数组的引用传递

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

    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;
        }
    }
    
      5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

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

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

    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;
        }
    }
    
      5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

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

    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");
            }
        }
    }
    
      5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

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

    1. 可变参数
    返回值类型 方法名称(类型...参数名称){}
    
    • 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");
            }
        }
    }
    
      5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述
    2. foreach 输出

    语法格式:

    for(数据类型 变量名称:数组名称){
    	...
    }
    
    • 1
    • 2
    • 3
    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");
            }
        }
    }
    
      5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载