ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day4-方法

2022-03-29 00:01:11  阅读:184  来源: 互联网

标签:day4 参数 numbers 返回值 方法 public cmp


方法(method)

一、什么是方法

java方法是语句的集合,它们在一起执行一个功能。在C语言中称为函数。
  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象中
  • 方法在程序中创建,在其他地方被引用
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计的时候,最好保持方法的原子性,即一个方法只完成一个功能,这样利于后期的扩展。

命名规则

小驼峰命名规则,如numCmp

二、方法定义及调用

方法定义

/*修饰符 返回值类型 方法名(形式参数){
	方法体;
	return 返回值;
}*/
//修饰符:这个可选,告诉编译器如何调用该方法,定义了方法的访问类型。目前已经见过的修饰符有public,static,final
//返回值类型:方法可能有返回值,有则返回定义类型的数据,若无返回值,则使用void
//方法名:方法的实际名称,调用时直接使用
//参数类型:参数像一个占位符,当方法被调用时,传递值给参数。值被称为实参。参数列表是指方法的参数类型、顺序和参数的个数。参数可选,方法可不包含任何参数。
//!!!java都是值传递
public class Demo1{
    public static void main(String[] args){
        int max = cmp(19,18);  //调用cmp函数
        System.out.println(max);
    }
        //定义一个求两数间较大值的函数cmp
        public static int cmp(int a, int b){
            if(a != b){
                return a > b ? a : b;
            }else{
                System.out.println("两个数相等");
                return 0;
            }    
        }
           
}

三、方法重载

  • 重载就是在一个类中,方法名相同,但是形参不同的方法

  • 方法重载的规则:

    1. 方法名称必须相同
    2. 参数列表必须不同,参数个数,参数类型,参数排列顺序
    3. 返回值类型可以相同也可以不同,不做规定
    4. 仅返回值不同不能称为方法重载
    //例如上面的cmp方法,可以重载
    public static double cmp(double a, double b){
    	if(a != b){
        	return a > b ? a : b;
        }else{
        	System.out.println("两个数相等");
        	return 0.0;
            }    
    }
    

四、可变参数

/*
1. JDK 1.5开始,Java支持传递同类型的可变参数给一个方法。
2. 在方法声明中,在指定参数类型后加一个省略号(...)。
3. 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
*/

//定义一个求最大值方法,使用了可变参数
public static void printMax(double... numbers){
    if(numbers.length == 0){
        System.out.println("No argument passed");
    }
    
    double result = numbers[0];
    for(int i = 1; i < numbers.length; i++){
        if(numbers[i] > result){
            result = numbers[i];
        }
    }
    System.out.println("The max value is" + result);
}

标签:day4,参数,numbers,返回值,方法,public,cmp
来源: https://www.cnblogs.com/KeeganXu/p/16069808.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有