java中运用的方法

方法

方法概述

方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。

完整格式:

修饰符 返回值类型 方法名(形参列表){
	方法体代码(需要执行的功能代码);
    return 返回值;
}

代码演示:

public class MethodDemo1 {
	public static void main(String[] args) {
	// 需求:假如现在很多程序员都要进行2个整数求和的操作。
	// 1、李工。
		int rs = sum(10, 20);
		System.out.println("和是:" + rs);
        
		// 2、张工。
		int rs2 = sum(30, 20);
		System.out.println("和是:" + rs2);
	}
    
	public static int sum(int a, int b) {
		int c = a + b;
		return c;
	}
}

方法的执行流程

当调用一个方法时,执行流程,按照下图中标注的序号执行。

① 通过sum方法名找到sum方法

② 把10传递给方法中的参数a

③ 把20传递给方法中的参数b;

④ 执行方法中的代码,此时 int c=a+b; 相当于 int c = 10+20 ; c的值为30return c 的含义是,把c的结果返回给调用处。 也就是调用sum方法的结果为30。

定义方法的注意点

  1. 方法的修饰符:暂时都使用public static 修饰。(目前看做是固定写法,后面是可以改动的)
  2. 方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据。
  3. 形参列表可以有多个,甚至可以没有; 如果有多个形参,多个形参必须用“,”隔开,且不能给初始化值。
修饰符(Modifier)是一种关键字,用于修饰类、方法、变量等各种程序元
素的声明。Java中常用的修饰符包括以下几种:
① 访问修饰符:用于控制程序元素的访问权限,包括publicprotectedprivate和默认(不写任何修饰符)四种。
② 非访问修饰符:用于控制程序元素的行为,包括staticfinalabstractsynchronizedvolatile等。
③ 其他修饰符:包括transientnativestrictfp等。
在Java中,一个程序元素可以同时拥有多个修饰符,它们的顺序可以任意排
列。例如,一个方法可以同时使用publicstaticfinalsynchronized等多个
修饰符来限定它的访问权限、行为和线程安全性。

方法使用常见的问题

  • 方法在类中没有先后顺序,但是不能把一个方法定义在另一个方法中。

  • 方法的返回值类型写void(无返回申明)时,方法内不能使用 return 返回数据,如果方法的返回值类型写了具体类型,方法内部必须使用 return 返回对应类型的数据。

  • return语句的下面,不能编写代码,属于无效的代码,执行不到这儿。

  • 方法不调用就不会执行, 调用方法时,传给方法的数据,必须严格匹配方法的参数情况。

  • 调用有返回值的方法,有3种方式:

    ① 可以定义变量接收结果

    ② 或者直接输出调用,

    ③ 甚至直接调用;

  • 调用无返回值的方法,只有1种方式: 只能直接调用。

方法在计算机中的执行原理

  • 每次调用方法,方法都会从栈顶压栈执行没执行
  • 每个方法执行完后,会从栈顶弹栈出去

Java的参数传递机制都是:值传递,实参存储的值的副本。


基本类型和引用类型的参数在传递的时候有什么不同?
    = 都是值传递
    - 基本类型的参数传递存储的数据值。
    - 引用类型的参数传递存储的地址值。

可变长度参数

使用可变长度参数时,需要在参数类型之后加上三个连续的点(…),表示这是一个可变长度参数。在方法内部,可变长度参数会被当作一个数组处理,开发者可以像操作数组一样操作这个参数。需要注意的是, 每个方法只能有一个可变长度参数,而且必须是最后一个参数。

代码演示:

public class Test05 {
    
	public static void main(String[] args) {
		System.out.println(sum(1, 2, 3, 4, 5));
        
		System.out.println(sum(1, 2, 3, 4, 5, 6, 7, 8, 9));
	}
    
	public static int sum(int... nums) {
		int result = 0;
		for (int num : nums) {
			result += num;
		}
		return result;
	}
}

可变长度参数只能用于方法的最后一个参数位置,并且不能和数组作为参数同时存在,否则会编译错误。

方法重载

所谓方法重载指的是:一个类中,出现多个相同的方法名,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。

  • 参数列表不同的情况
  • 长度不一样
  • 类型不一样

代码演示:

public class MethodOverLoadDemo1 {
	public static void main(String[] args) {
		// 目标:认识方法重载,并掌握其应用场景。
		test();
		test(100);
	}

	public static void test(){
		System.out.println("===test1===");
	}
	public static void test(int a){
		System.out.println("===test2===" + a);
	}
	void test(double a){
	}
	void test(double a, int b){
	}
	void test(int b, double a){
	}
	int test(int a, int b){
		return a + b;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值