java方法的知识_Java基础知识七——方法

一、方法的概述

方法其实就是完成特定功能的代码块。

定义的格式:

修饰符 返回值类型 方法名(参数类型 参数1,参数类型,参数2,...){

方法体;

return 返回值;

}

格式解释:

修饰符:后面会说,目前先使用public static

返回值类型:用于限定返回值的数据类型

方法名:方便我们调用方法

参数类型:用于限定调用方法是传入的数据的数据类型

参数名:用于接受调用方法是传入的数据的变量

方法体:完成特定功能的代码

return 返回值:结束方法,并把返回值带给调用者

二、方法的定义

我们在写一个方法前,一般要有两个明确:

返回值类型:其实就是要我们明确方法结果的数据类型

参数列表:其实就是要我们明确有几个参数参加,并且每个参数都是什么数据类型的

案例:求两个数据之和

/*

* 两个明确:

* 返回值类型:int

* 参数列表:int a,int b

*/

public static int sum(int a,int b) {

int c = a + b;

return c;

}

三、方法的调用

1、有返回值的调用

有返回值的调用方法有三种:

(1)直接调用,无意义

(2)输出调用,有意义,但是不够好,因为我不一定非要把结果输出

(3)赋值调用,推荐方式

例:

public class MethodDemo1 {

// 求和的方法

public static int sum(int a, int b) {

return a + b;

}

public static void main(String[] args) {

// 单独调用

// sum(10,20);

// 输出调用

// System.out.println(sum(10,20));

// 赋值调用

int s = sum(10, 20);

// s+=100;

System.out.println("s:"+s);

}

}

5b773d5e9aaf?from=timeline&isappinstalled=0

方法调用流程图

2、没有返回值的方法调用

没有返回值的方法调用只有一个方法,就是直接调用。

例:

public class MethodDemo2 {

public static void print() {

System.out.println("这个方法没有返回值");

}

public static void main(String[] args) {

print();

}

}

注意:

如果一个方法没有明确的返回值类型,也不能把返回值类型的地方空出来,这里应该写void表示该方法无返回值。

三、方法的重载

1、方法重载的概述

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

2、方法重载的特点

(1)方法名相同,参数列表不同。

参数的个数不同。

参数对应的数据类型不同。

(2)方法重载与返回值无关。

注意事项:

在调用方法的时候,java虚拟机会根据方法名及参数列表的不同来区分方法。

案例:数据的求和

public class MethodDemo3 {

public static void main(String[] args) {

//定义两个变量

int a = 10;

int b = 20;

//求和

int result = sum(a,b);

System.out.println("result:"+result);

//定义变量

int c = 30;

int result2 = sum(a,b,c);

System.out.println("result2:"+result2);

}

//求三个数据的和

public static int sum(int a,int b,int c) {

return a + b + c;

}

//求两个数据的和

public static int sum(int a,int b) {

return a + b;

}

}

四、方法类型参数详解

1、方法的参数是基本类型

方法的参数是基本类型的时候,形式参数的改变不影响实际参数。

形式参数:用于接收实际数据的变量

实际参数:实际参与运算的变量

例:

public class MethodDemo4 {

public static void main(String[] args) {

// 定义变量

int a = 10;

int b = 20;

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

change(a, b);

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

}

public static void change(int a, int b) { // a=10,b=20

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

a = b; // a=20;

b = a + b;// b=40;

System.out.println("a:" + a + ",b:" + b);// a:20,b:40

}

}

5b773d5e9aaf?from=timeline&isappinstalled=0

基本类型

2、方法参数是引用数据类型

引用数据类型作为参数传递,形式参数的改变直接影响实际参数。

例:

public class MethodDemo5 {

public static void main(String[] args) {

int[] arr = { 1, 2, 3, 4, 5 };

for (int x = 0; x < arr.length; x++) {

System.out.println(arr[x]);//1,2,3,4,5

}

change(arr);

for (int x = 0; x < arr.length; x++) {

System.out.println(arr[x]);//1,4,3,8,5

}

}

public static void change(int[] arr) {

for (int x = 0; x < arr.length; x++) {

if (arr[x] % 2 == 0) {

arr[x] *= 2;

}

}

}

}

5b773d5e9aaf?from=timeline&isappinstalled=0

引用类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值