方法
概念:方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的!存在于类的结构体
作用:完成功能,数据的处理!方法可以拿来反复使用。每次使用都是独立的
初识方法
public static void main(String[] args){
}
1.public static修饰符,修饰给与特殊意义
2.void:此处位置返回值类型,void 表示没有返回值
3.main:方法名字(此处指主方法,程序的入口)
4.(String[] args) : 一个形式参数,String[] 数据类型 args形式参数名字
形式参数: 本质没有值的;可以看成是有值的,在方法的内部完成功能的设计
5.{}:方法的结构体–>花括号里面是方法的主体,完成方法的功能语句
6.方法写在类的结构体中
方法的语法
返回值类型 方法名(形式参数){
}
1.返回值: 必须有
2.方法名字:必须有
3.小括号: 必须有
4.形式参数:根据需要设定,也可以没有形式参数
a.方法可以看成完成功能的代码块
b.举例说明:代码块看成豆浆机
5.花括号: 必须有: 但是功能语句可以任意写
方法的使用
方法的使用也叫调用方法,使用方法的三种形式:
1)方法有static修饰:类名.方法名+参数列表[个数,顺序,类型必须一致]
2)方法没有static修饰:对象名.方法名+参数列表[个数,顺序,类型必须一致]
3)方法在同一个类中:方法名+参数列表[个数,顺序,类型必须一致]
注意事项:
1)对于方法的使用者而言,无需关心方法内部的实现
2)同一个类中:静态方法不能调用非静态的方法,如图:
3)同一个类中:非静态方法可以调用静态方法
方法return
如果方法运算的结果,还需要跟其他数据进行运算怎么办?
1.方式:将方法运算的结果返回给方法调用着,方法内部将运算结果使用语句:
return 值
2.方法返思考:回值的位置,必须写与方法内部返回值的数据一致的数据类型
3.注意:返回的是数据,不是变量或者表达式
有返回值的时候一定要有对应的返回语句
结论①如果一个方法的返回类型不是void,那么要求[不管方法里面做了什么事情]
都必须返回一个和返回值类型匹配的值
②对于结构体语句中写返回值:编译检查语法,只看结构不看值:
结构体中写了返回值不一定执行的到,编译语法会不通过!
方法参数传递
在使用方法时,传入值和传入变量实质是传的什么?
①.值传递:
方法传递的是值–>基本数据类型传递的是值本身
②.引用传递
方法传递的是地址–>引用数据类型传递的是地址
从jvm堆栈图示例
注意:
方法调用时,实际参数把它的值传递给对应的形式参数,相当于拷贝了一份值给形式参数,所以方法执行中形式参数值的改变不影响实际参数的值。
1)基本数据不影响原来的值
2)引用数据不影响原来的地址值
引用地址,引用的值,如果被改变,原来引用的的值所引用的值也会被改变,
因为都是同一个引用