方法的定义

Java方法是语句的集合,它们在一起执行一个功能。

  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其他地方被引用

语法

修饰符 返回值类型 方法名 (参数类型 参数名) {
    ...
    方法体
    ...
    return 返回值;
}
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

  • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
  • 返回值类型 :方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void。
  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
  • 方法体:方法体包含具体的语句,定义该方法的功能。

public static int add(int num1, int num2) {
    return num1 + num2; 
}

方法调用

Java支持两种调用方法的方式,根据方法是否返回值来选择。
当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。
当方法返回一个值的时候,方法调用通常被当做一个值。例如:
int larger = max(30, 40);
如果方法返回值是void,方法调用一定是一条语句。例如,方法println返回void。下面的调用是个语句:
System.out.println("Welcome to Java!");

可变参数

JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法。

在方法声明中,在指定参数类型后加一个省略号(...) 。

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

public class VarargsDemo {

    public static void main(String args[]) {
        // 调用可变参数的方法
        printMax(34, 3, 3, 2, 56.5);
        printMax(new double[] { 1, 2, 3 });
    }

    public static void printMax(double... numbers) {
        if (numbers.length == 0) {
            System.out.println("No argument passed");
            return;
        }

        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);
    }
}

运行结果

The max value is 56.5
The max value is 3.0

参考资料

http://www.w3cschool.cc/java/java-methods.html

最新文章

  1. C标准头文件&lt;signal.h&gt;
  2. bzoj2324营救皮卡丘
  3. 【jpa】 引用包的问题
  4. Cookie中用户登录信息的提示
  5. DOM Style样式对象的详细用法
  6. IntelliJ IDEA启动web项目时突然变慢的原因
  7. cocos2d-x -------之笔记篇 环境的安装
  8. 调用QQ截图
  9. linux 查看 cpu 和内存的命令 - top
  10. SpringMVC过程中@RequestBody接收Json的问题 总是报415
  11. JavaScript命令模式
  12. linux运维工程师面试题收集
  13. 测试同学必备抓包工具--charles之mock数据
  14. 【C++ Primer 第10章】 1.概述(算法总结)
  15. Realtime Rendering 5
  16. zk特性和场景
  17. SQL Server T—SQL 表连接
  18. JAVA汉字转拼音(取首字母大写)
  19. JNI 详细使用 基础【步骤】
  20. 【知识总结】Activiti工作流学习入门

热门文章

  1. java开发中JDBC连接数据库代码和步骤
  2. Replace 删除、替换函数精解示例
  3. HDFS 架构解析
  4. 【直播】APP全量混淆和瘦身技术揭秘
  5. 排列组合算法的javascript实现
  6. SQL Server 2012故障转移的looksalive check和is alive check
  7. 同一AppDomain内的SharpGL的FrameBuffer会相互影响?
  8. [ASP.NET MVC 小牛之路]16 - Model 验证
  9. Hibernate 3.3.2 文档翻译 Day01
  10. 在互联网公司参与拍卖是一种怎样的感觉?part 1