[Java 基础]方法

方法的定义

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python

dict中items和iteritems的区别

字典items()方法和iteritems()方法,是python字典的内建函数,分别会返回Python列表和迭代器,下面一起来看下字典items()和iter...

3437
来自专栏wym

lower_bound()函数详解

 lower_bound()返回值是一个迭代器,返回指向比key大的第一个值的位置

812
来自专栏软件开发 -- 分享 互助 成长

sizeof(结构体)的计算

摘要: 经常被计算结构体的sizeof给搞晕,于是找了个时间,静下心来,搞定它。 一、为什么结构体计算这么乱? 答案是字节对齐,计算机存储系统中以Byte为单位...

1819
来自专栏数据结构与算法

P3391 文艺平衡树

hh 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[...

27710
来自专栏前端开发

【JavaScript】Array数组对象下的方法

1355
来自专栏owent

C++ 新特性学习(五) — 引用包装、元编程的类型属性和计算函数对象返回类型

这各部分主要是一些很实用和在一些地方帮助编译器自动推断类型的库和函数 首先是引用包装 类名 template< class T > class std::r...

1133
来自专栏青青天空树

2017-统计字符个数

输入:输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。

741
来自专栏猿人谷

memmove函数

写一个函数,完成内存之间的拷贝 void* mymemcpy( void *dest, const void *src, size_t count )   { ...

17410
来自专栏柠檬先生

Python 基础 函数

python 什么是函数   Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用。 python 函数的调用   Python内置...

2416
来自专栏柠檬先生

Java 流程控制

Java 主要的流程控制语句有3钟,选择语句,循环语句,跳转语句。 Java 中的作用域,是一对用花括号括起来的,块定义了变量使用的范围,   各个块之间可以嵌...

1887

扫码关注云+社区