Jave 之方法-函数(5)

如何定义Java中的方法:

所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。 (方法在C语言中被称为函数)

一般情况下,定义一个方法的语法是:

其中:

1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,

  其中 public 表示该方法可以被其他任何代码调用

2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;

  如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值

3、 方法名:定义的方法的名字,必须使用合法的标识符

4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数

  由参数类型和参数名组成,以空格隔开

根据方法是否带参、是否带返回值,可将方法分为四类:

Ø 无参无返回值方法

Ø 无参带返回值方法

Ø 带参无返回值方法

Ø 带参带返回值方法

举个栗子:

 1 public class HelloWorld {
 2
 3     //定义了一个方法名为 print 的方法,实现输出信息功能
 4     public void print() {
 5         System.out.println("Hello World");
 6     }
 7
 8     public static void main(String[] args){
 9
10         //在 main 方法中调用 print 方法
11         HelloWorld test=new HelloWorld();
12         test.print();
13     }
14 }

Java中无参无返回值方法的使用方法

如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。

方法的使用分两步:

第一步,定义方法

例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ”

1 public void show(){ // void 为返回值类型    show为 方法名
2     System.out.println("Welcome to my blog!");   // 方法体
3 }

注意哦:

1、 方法体放在一对大括号中,实现特定的操作

2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式

第二步,调用方法

当需要调用方法执行某个操作时,可以先创建类的对象,然后通过  对象名.方法名();  来实现

(关于类和对象的概念在后面会详细讲解滴,先熟悉语法,表着急哦~~)

例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的 show( ) 方法输出信息

 1 public class HelloWorld{
 2     public static void main(String[] args){
 3         // 创建对象,对象名为hello
 4         HelloWorld hello = new HelloWorld();
 5         // 通过对象名.方法()的形式调用方法
 6         hello.show();
 7     }
 8 }
 9 // 定义方法
10 public void show(){
11     System.out.println("Welcome to my blog!");
12 }

运行结果为:  welcome to my blog!

Java中无参带返回值方法的使用

如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。

例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,

执行的操作为计算两数之和,并返回结果

1 public int calcSum(){
2     int a = 5;
3     int b = 12;
4     int sum = a+b;
5     return sum;
6 }

在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。

调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如:

 1 public class HelloWorld{
 2     public static void main(String[] args){
 3         // 创建对象 对象名为hello
 4         HelloWorld hello = new HelloWorld();
 5         // 调用方法并接收方法的返回值 保存在变量sum中
 6         int sum = hello.calcSum();
 7         System.out.println("两数之和为:"+sum);
 8     }
 9 }
10 // 定义无参带返回值的方法
11 public int calcSum(){
12     int a = 5;
13     int b = 12;
14     int sum = a+b;
15     return sum;
16 }

运行结果为: 两数之和为:17

不容忽视的“小陷阱”:

1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!

2、 方法的返回值最多只能有一个,不能返回多个值

3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值

举个栗子:

 1 public class HelloWorld {
 2
 3     public static void main(String[] args) {
 4
 5         // 创建名为hello的对象
 6         HelloWorld hello = new HelloWorld();
 7
 8         // 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
 9         double avg = hello.calcAvg();
10
11         System.out.println("平均成绩为:" + avg);
12     }
13
14     // 定义一个返回值为double类型的方法
15     public   double       calcAvg() {
16
17         double java = 92.5;
18         double php = 83.0;
19         double avg = (java + php) / 2; // 计算平均值
20
21         // 使用return返回值
22
23         return avg;
24     }
25 }

Java中带参无返回值的方法使用

有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。

例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,

那就真是的“巧妇难为无米之炊”了。我们可以通过在方法中加入参数列表接收外部传入的数据信息,

参数可以是任意的基本类型数据或引用类型数据。

我们先来看一个带参数,但没有返回值的方法:

上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。

调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值

例如:

1 HelloWorld hello = new HelloWorld(); // 创建对象 对象名为hell

2 hello.show("Welcome to my blog!"); // 调用带参方法时必须传入参数值

运行结果为: 欢迎您,爱慕课!

很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。

一定不可忽视的问题:

1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应

2、 调用方法时,实参不需要指定数据类型

3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等

4、 当方法参数有多个时,多个参数间以逗号分隔

举个栗子:

 1 public class HelloWorld {
 2     public static void main(String[] args) {
 3
 4         // 创建对象,对象名为hello
 5         HelloWorld hello = new HelloWorld();
 6
 7         // 调用方法,传入两门课程的成绩
 8         hello.calcAvg(94, 81);
 9     }
10
11     /*
12      * 功能:计算两门课程考试成绩的平均分并输出平均分
13      * 定义一个包含两个参数的方法,用来传入两门课程的成绩
14      */
15     public void calcAvg(int a, int b){
16         double c = (double)(a+b)/2;
17         System.out.println(c);
18     }
19 }

Java 中带参带返回值方法的使用

如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。

例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果

调用带参带返回值的方法:

1 HelloWorld hello = new HelloWorld(); // 创建对象 对象名为hello
2 String welcome = hello.show("Welcome to my blog!"); // 调用带参返回值的方法 将返回值保存在变量welcome
3 System.out.println(welcome);

运行结果为: Welcome to my blog!

举个栗子:

 1 import java.util.Arrays;
 2
 3 public class HelloWorld {
 4     public static void main(String[] args) {
 5         HelloWorld hello = new HelloWorld();
 6         int[] scores={79,52,98,81};
 7
 8         //调用方法,传入成绩数组,并获取成绩的个数
 9         int count= hello.sort(scores);
10
11         System.out.println("共有"+count+"个成绩信息!");
12     }
13
14     /*
15      * 功能:将考试成绩排序并输出,返回成绩的个数
16      * 定义一个包含整型数组参数的方法,传入成绩数组
17      * 使用Arrays类对成绩数组进行排序并输出
18      * 方法执行后返回数组中元素的个数
19      */
20     public int sort( int[] scores         ){
21         Arrays.sort(scores);
22         System.out.println(Arrays.toString(scores));
23
24         //返回数组中元素的个数
25         return scores.length;
26     }
27 }

Java中方法的重载:

问: 什么是方法的重载呢?

答: 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,

则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:

问: 如何区分调用的是哪个重载方法呢?

答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:

运行结果:

判断方法重载的依据:

1、 必须是在同一个类中

2、 方法名相同

3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系

举个栗子:

public class HelloWorld {
    public static void main(String[] args) {

        // 创建对象
        HelloWorld hello = new HelloWorld();

        // 调用无参的方法
        hello.print();

        // 调用带有一个字符串参数的方法
        hello.print("Welcome to my blog!");

        // 调用带有一个整型参数的方法
        hello.print(18);
    }

    public void print() {
        System.out.println("无参的print方法");
    }

    public void print(String name) {
        System.out.println("带有一个字符串参数的print方法,参数值为:" + name);
    }

    public void print(int age) {
        System.out.println("带有一个整型参数的print方法,参数值为:" + age);
    }
}

/*
无参的print方法
带有一个字符串参数的print方法,参数值为: Welcome to my blog!
带有一个整型参数的print方法,参数值为:18 */
时间: 2024-12-23 11:06:05

Jave 之方法-函数(5)的相关文章

jquery设计思想之写法-方法函数化&链式操作

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

scala(一)方法&amp;函数

写在前面 众所周知,scala一向宣称自己是面向函数的编程,(java表示不服,我是面向bean的编程!)那什么是函数? 在接触java的时候,有时候用函数来称呼某个method(实在找不出词了),有时候用方法来称呼某个method,虽然method的中文翻译就是“方法”,但对于java来说,方法和函数是等价的,或者说没有函数这个概念. 而对于scala,这两者似乎有一个较为明确的边界. 你会发现满世界的函数,而你却在写方法 Scala 方法&函数 方法 Scala的方法和java可以看成是一样

在jQuery定义自己的扩展方法函数

今早复习昨天的练习jQuery的DropDownList联动功能,如果想看回<jQuery实现DropDownList(MVC)>http://www.cnblogs.com/insus/p/3413749.html 和<jQuery实现两个DropDownList联动(MVC)>http://www.cnblogs.com/insus/p/3414480.html .发觉一些jQuery代码冗余.如: 上图中,高亮部分的代码将会是产生冗余,它只是对象不相同而已.jQuery是否也

python列表里__setslices__方法函数解析a

先看看列表里的__setslice__方法函数的帮助文档 help(list.__setslice__) 帮助文档如下所示: __setslice__(...) x.__setslice__(i, j, y) <==> x[i:j]=y Use of negative indices is not supported. 从帮助文档可以看出这个方法函数可以通过列表切片的方式来使用(运算映射函数).举例说明一下: In [1]: li = range(1, 11) In [2]: li Out[2

js(3)——数组方法——函数——解构赋值

<JavaScript权威指南>读后笔记2 ---- 表达式与运算符 ---- 2018-04-23 目录 数组方法 函数:属性.方法.构造函数 const .let.var 解构赋值 1. 数组方法 join() reverse() sort() concat()  :a=[''ant','cat'];a.concat(4,3);  结果为:[ant,cat,4 ,3] slice(开始位置,结束位置-可选):索引从0开始:返回本身的值. splice() 1 // splice(插入或删除

OpenCV2:总结篇 工具方法函数

一.简介 OpenCV提供了一些工具方法函数来辅助完成图像运算 二.时间相关 1.getTickCount()和getTickFrequency() double tTime; tTime = (double)getTickCount(); const int nTimes = 100; for (int i = 0; i < nTimes; ++i) { ..测试代码 } tTime = 1000 * ((double)getTickCount() - tTime) / getTickFreq

PHP5中魔术方法函数有哪几个,请举例说明各自的用法

魔术方法: __construct() :实例化对象时被调用: __destuct():当删除一个对象或者对象操作终止是被执行: __call():调用对象不存在方法时被调用: __get():调用对象不存在的属性时被调用: __set():设置对象不存在的属性时被调用: __toString():打印一个对象时被调用,比如echo $obj,print($obj); __clone():克隆对象时被调用,比如$t = new Test();$tt = clone $t; __sleep():s

Uploadify 3.2 参数属性、事件、方法函数详解

一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonClass ” 按钮样式 buttonCursor ‘hand’ 鼠标指针悬停在按钮上的样子 buttonImage null 浏览按钮的图片的路径 . buttonText ‘SELECT FILES’ 浏览按钮的文本. checkExisting false 文件上传重复性检查程序,检查即将上传的文件在服务器端是否已存在,存在返回1,不存在返回0

Uploadify 3.2 参数属性、事件、方法函数详解以及配置

一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonClass ” 按钮样式 buttonCursor ‘hand’ 鼠标指针悬停在按钮上的样子 buttonImage null 浏览按钮的图片的路径 . buttonText ‘SELECT FILES’ 浏览按钮的文本. checkExisting false 文件上传重复性检查程序,检查即将上传的文件在服务器端是否已存在,存在返回1,不存在返回0