JavaDay05:方法

本文详细介绍了Java中的方法使用,包括方法的语法、返回类型、参数列表及方法定义的注意事项。强调了方法作为输入输出的特性,以及在方法调用时对实参和形参的要求。此外,还探讨了方法调用机制,特别是数组作为参数和可变参数的使用规则,并提及了递归在方法调用中的应用。
摘要由CSDN通过智能技术生成

这里写目录标题

方法的使用

语法:

 访问修饰符  返回类型  方法名(参数列表){
	    方法体;
}  
//参数列表相当于输入
//返回类型相当于输出

  1. 参数列表相当于输入,返回类型相当于输出
  2. 没有返回类型时用void,若有返回类型,则必须用return返回与返回类型的相同数据类型的值。return会直接结束方法体,将值传递回去
  3. 如果方法有返回类型,则方法中所有的分支都必须有返回值
  4. 方法不能定义在方法里面
  5. 方法的定义是没有顺序的
  6. 方法定义的时候为形参,调用的时候为实参
  7. public static void main(String []args)是入口功能,比较特殊
  8. 方法的命名一般采用小驼峰法则:helloWorld,newArr

方法的调用机制

语法:方法名(参数值)

public static void main(String[] args) {
		
		int r = method(1,2);//调用,为实参
		System.out.println(r);
		
		int r1 = method(3,4);
		System.out.println(r1);
	}
//	a  b  形参;
public static int method(int a , int b){
	    return a+b ;
	}
  1. 方法调用的时候为实参
  2. 方法调用的时候实参与形参要一一对应(数量,顺序,数据类型)
  3. 参数列表可以为数组:
    用来定义0~N个int类型的参数,arr可以当做数组使用:
public static void main(String []args){
	sum();//0
	sum(1,2);//调用后输出3
	sum(1,2,3,6,7);//调用后输出19
}
public static void sum(int ...arr){
	int sum = 0;
	for(int i = 0;i < arr.length;i++){
		sum += arr[i];
	}
	System.out.println(sum);
}

当自定义的方法同时存在不可变参数和可变参数时,可变参数必须写在参数列表最后

public static void main(String []args){

	sum(2,1,2,3);//调用后输出3
}
public static void sum(int a,int ...arr){
	int sum = 0;
	for(int i = 0;i < arr.length;i++){
		sum += arr[i];
	}
	System.out.println(sum/a);
}
  1. 当主函数与自定义函数定义的内容冲突时:
//int类型无法更改
public static void main(String[] args) {
	int i = 1;
	method(i);
	System.out.println(i);//结果为1
}

public static void method(int i) {
	i = 2;
}
//数组内容可进行更改
public static void main(String[] args) {
	int []a={1,2,3};
	method(a);//传递的为a[]数组的地址
	System.out.println(Arrays.toString(a));//结果为[5,2,3]
	//a[]被共享,method方法进行了更改
}

public static void method(int a[]) {
	a[0] = 5;	
}
//String类型比较特殊,内容无法更改
public static void main(String[] args) {
	String s = "1";
	method(s);
	System.out.println(s);//结果为1
}

public static void method(String s) {
	s = "2";	
}
public static void main(String[] args) {
	int a[] = { 1, 2, 3 };
	method(a);
	System.out.println(Arrays.toString(a));//结果为[1,2,3]
}

//new  在堆中开辟新的空间
public static void method(int[] a) {
	a = new int[3];
	a[0] = 5;
}
  1. 使用递归法计算N的累加和,自定义函数调用自身
public static void main(String[] args) {
	System.out.println(diGui(100));
}
/*
 * 计算N的累加和
 * F(100) = F(99) + 100 ;
 * *****
 * F(1) = F(0) + 1 ;
 * 
 */
public static int diGui(int n){
	if(n == 1){
		return 1;
	}
	return diGui(n-1) + n ;
		
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值