java space 函数_JAVA中的函数(方法)

方法

1.1方法的概念及作用

概念:方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的!存在于类的结构体

X + Y = Z;代入不同的值,可以求到不同的结果

函数可以反复使用的!每次使用都是独立的

完成了一个独立的功能

作用:完成功能,数据的处理!方法可以拿来反复使用。每次使用都是独立的

1.2认识方法

public staticvoid main(String[] args){

}

public static修饰符

修饰给与特殊意义

void:此处位置返回值类型,void 表示没有返回值

main:方法名字

(String[] args) : 一个形式参数,String[] 数据类型 args形式参数名字

形式参数: 本质没有值的;可以看成是有值的,在方法的内部完成功能的设计

{}:方法的结构体

完成功能的设计

存在于类的结构体中

1.3方法的语法:

返回值类型 方法名字( 形式参数 ){

}

返回值:  必须有

方法名字:必须有

小括号:  必须有

形式参数:根据需要设定,也可以没有形式参数

方法可以看成完成功能的代码块

举例说明:代码块看成豆浆机

豆浆机会有入口[ 说明 :放绿豆  黄豆 豆豆 ]

大括号:  必须有:   但是功能语句可以任意写

1.4方法的使用

使用方法的三种方式

方法有static修饰:类名.方法名+参数列表[个数,顺序,类型必须一致]

方法没有static修饰:对象名.方法名+参数列表[个数,顺序,类型必须一致]

方法在同一个类中:方法名+参数列表[个数,顺序,类型必须一致]

+参数列表:   传入对应类型的数据

注意事项:

对于方法的使用者而言,无需关心方法内部的实现

同一个类中:静态方法不能调用非静态的方法

同一个类中:非静态方法可以调用静态方法[ 自己读 测试]

1.5方法签名:

需求:在同一个;类设计一个方法完成三个整数求和

概念:方法名字+参数列表[类型,个数,顺序:必须一致]

1.6方法重载:

思考:在同一个类中如果在设计一个方法求两个整数的和会怎么样?

概念:在同一个类中,方法名字相同,参数列表不同

1.7方法return

思考:如果方法运算的结果,还需要跟其他数据进行运算怎么办?

方式:将方法运算的结果返回给方法调用着,方法内部将运算结果使用语句:

return 值/变量/表达式;

方法返回值的位置,必须写与方法内部返回值的数据一致的数据类型

注意:返回的是数据,不是变量或者表达式

方法返回值的结果,怎么使用?

注意事项:有返回值方法,一定要有对应返回语句

示例一:return 不一定执行得到

public static int add(){

if(true){

return 1;//语法检查只看结构不看值,return语句不一定会执行得到

}

}

示例二:return 不一定执行得到

public static int add(){

if(true){//语法检查只看结构不看值,return语句一定会执行得到

return 1;

}else if(false){

return 2;

}

}

示例三:return 一定执行得到

public static int add(){

if(true){//同上语法检查只看结构不看值,return语句不一定会执行得到

return 1;

}else{

return 2;

}

}

结论:

①如果一个方法的返回类型不是void,那么要求[不管方法里面做了什么事情]

都必须返回一个和返回值类型匹配的值

②对于结构体语句中写返回值:编译检查语法,只看结构不看值:

结构体中写了返回值不一定执行的到,编译语法会不通过!

1.8方法使用的常见问题

忽略方法每次使用都是一次独立的使用

对于执行执行顺序变得模糊

方法调用错误,只使用了方法名字!缺少参数列表

有返回值的方法使用

使用了方法但是没有使用方法的结果值【 打印不出来结果 】

主方法中已经使用方法,打印语句括号中再次调用方法使用结果【方法功能重复使用】

没返回值的方法使用

将没有返回值的方法【void】方法调用放入打印语句小括号

方法参数传递

4.1什么是方法参数传递

概念:在使用方法的时候,传入值或者变量,传递的到底是什么?

值传递:方法传递的是值

形式参数类型是基本数据类型

基本类型数据传递的是值

值引用:方法传递的是值得引用

形式参数类型是引用数据类型

引用传递其实传的是地址,形式参数类型是引用数据类型或数组。

实际参数(数据)是对象(或数组),这时实际参数与形式参数指向同一个地址

在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被 保留了下来,所以方法执行中形式参数的改变将会影响实际参数。

值传递示例: 定义一个change 方法 和 int 形参

值引用再看一个示例,定义一个change 方法 和   int 数组   的形参,交换数组中前面2个元素

注意:方法调用时,实际参数把它的值传递给对应的形式参数,相当于拷贝了一份值给形式参数, 所以方法执行中形式参数值的改变不影响实际参数的值。

基本数据不影响原来的值

引用数据不影响原来的地址值:

引用地址,引用的值,如果被改变,原来引用的的值所引用的值也会被改变,

因为都是同一个引用

代码图例:

c73572d01cd1554311f363f61be59e0d.png

Java 中方法的参数传递,是值传递 还是 引用传递?

可以都看成是值传递

基本类型就是变量的中值本身

引用类型的变量在传递的时候,其实也是变量中值[这里的值看成存储对象的引用地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值