Java学习第八天——方法

方法

方法的两个概念;参数与返回值

方法的三要素; 返回值 方法名 参数列表

返回值,一个方法执行后返回给调用处的结果

参数,哪一个参数不确定,即设为参数(形参)

1 参数

基本概念;是指进入方法中的数据,有了这些数据,方法才能执行逻辑。

Java的参数传递为值传递,对于对象而言,传递的是地址,使形参和实参指向同一个地址. 

什么是参数?当前方法执行的时候所需要的外部(调用处)传入的数据。

形式参数:简称叫形参。声明方法的时候,用于接收外部传入的数据。

实际参数:简称叫实参。调用方法的时候,给形参所赋值,实际的数据。

调用方法的时候,用实际参数给形式参数进行赋值,这个过程被称为传参。

(参数传递:实参-->形参)

 

1、当我们在设计一个方法的时候,要看方法中有几个数值无法确定,

需要由调用处传入,那么就设计几个参数。多个参数之间使用,分隔开。

 

2、方法调用的时候:实参一定严格匹配形参:实参是按照顺序一一配给形参。

比如在个数,类型,顺序上,严格匹配。

 

3、JAVA的参数传递总是传"值",但是传值方式也分为两种方式,

它们是靠传递参数的类型区分的。

这两种类型分别为JAVA的基础类型和引用(对象)类型;

 

基础类型包括;boolean,byte,short,char,int,long,float,double,

引用数据类型;数组与集合。

public class A{

public static void main(String arg[]){

    int a=3;

    method1(a);

System.out.println(a);

            }

public static void method1(int a){

    a=4;

    }

}

而 对于参数为数组对象时。



public class A{ public class A{

public static void main(String arg[]){ 


int[] a=new int[1];

a[0]=3;

method1(a);

System.out.println(a[0]);
  
        }

public static void method1(int[] a)

a[0]--;

a=new int[0];

a[0]=4;

    }

}

左边的结果将是2,右边的结果将是3(未变),

原因是:在传递的参数为对象时,这个传递的"值"中放的内容实际上是对向所在的地址,

左边的情况是指针定位到对象的地址后,在上面把内容给改了,所以数组的值后会改变,

而右边的情况为给对象新分配了一个指针到新的地址上面去,

所以所有的操作都在新的地址上面,并不会影响原来的值。

注:对于String,Interger,Boolean,Double等的系统对象,它们虽然是Object,

但是任何方式的传递参数的值得改变并不会影响原来的值。

按值传递的精髓是:传递的是存储单元中的内容,而不是存储单元的引用!

 

1.2 返回值

1、什么叫返回值?

返回值:表示一个方法执行之后,需要返回给调用处的结果。

需要在调用处声明一个变量,来接收这个结果。

是指从方法中出来的数据,也就是方法执行之后的最终结果数据。

 

返回值的注意点:

    A:一个方法可以有返回值,也可以没有。

        如果有,那么返回值的类型,要在声明声明方法的时候写清楚,如果没有返回值就写void(空的)。 

  public static 返回值类型/void 方法名(形式参数){

        方法体;

    }

    B:如果一个方法有返回值,那么只能返回一个。

    C:如果一个方法声明了有返回值,那么在方法中,必须使用return语句将数值返回。

       一个方法最多只能返回一个数据,可以没有,但要声明为void数据类型

       一个方法如果声明了返回值(非void),在程序结束时要返回结果,使用return语句

1.3 return语句

词义:"返回"

return语句有两个作用

1、将一个方法的结果返回给调用处。

2、结束该方法的执行。

return语句的注意点:

A:一个方法声明了有返回值,那么方法中必须使用return关键字将结果返回给调用处。

B:一个方法声明了有返回值,那么方法中如果有分支,循环语句等,要保证无论执行哪个分支,都要有return语句可以被执行到。

C:一个方法声明了有返回值,那么return后的数值必须和声明的数据类型一致。(自动转型)

D:一个方法如果没有返回值,那么也可以使用return语句,结束方法的执行。

E:习惯上return后没有语句了。

注;如果方法声明有返回值,在使用return 返回结果是,要返回相应的数据类型。

 

补;方法的声明

[修饰符1,修饰符2....] 返回值类型/void 方法名(形参列表){

方法体;

public static void main(String args []){

            }

}

 

 

2 方法的分类

1.无参无返回值的方法:

public static void methodName(){

    System.out.println("这是无参无返回值方法");

 }

2.无参有返回值的方法:

public static void methodName(){

    System.out.println("这是无参带返回值方法");
	
    int a=3;
	int b=4;
	int sum=a+b;
	return sum;

   }

3.有参无返回值方法;

public void f(int i){

    System.out.println("这是带参无返回值方法"); 
    int  sum=i+3;
    System.out.println(sum);

}

4.有参有返回值方法;

public int testmain5(int m) {

    System.out.println("这是带参带返回值方法"); 

    int a=6; 

    int sum=a+m; 

    return sum; 
}

三、总结

a.调用带参方法时,必须保证实参的数量、类型、顺序与形参相一致。
b.在调用方法时,实参不需指定数据类型。
c.方法的参数可以是基本数据类型,也可以是引用数据类型,数组
d.当方法参数多时,采用逗号分开。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值