目录
一、定义声明
二、调用及参数传递
三、可变参数
四、匿名,基本数据,引用类型当参数
五、递归
一、定义声明
-
1、方法的作用
Java语言中的"方法"(Method)在其他语言当中也可能被称为"函数"(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到"随时任意使用",就可以将这些代码放在“{}”中,并且起一个名字。使用代码的时候,直接找到名字调用即可。
-
2、定义: 成员方法是类中进行数据处理(对象的行为),实现相关功能的函数。
方决定了一个对象能够接收什么样的消息。
方法的基本组成部分包括:名称、参数、返回值和方法体。
-
3、声明形式:
[访问权限修饰符] [修饰符] 返回值数据类型 (形式参数列表){
执行语句;
return 返回值;
}
-
4、方法的各部分解析
①方法的命名:第一个单词应以小写字母开头,后面的单词则使用驼峰命名法。 sendMessge
②访问权限修饰符及修饰符:
③返回值类型 :方法运行后的返回结果的数据类型。返回类型可以是任意的Java数据类型
有返回值的情况:返回值类型和return后的返回值的数据类型必须一致.
无返回值的情况:返回值类型用void,此时return可以省略不写或者return;
④形式参数列表:就是变量列表,用于存储调用方法时传递给方法的实际参数。
语法:方法名(数据类型1 参数名1,数据类型2 参数名2,数据类型3 参数名3....)
参数的个数可以是0个、1个或者多个
⑤return:用于结束方法以及返回方法指定类型的值。
⑥返回值:该方法执行后的结果,该结果会返回给调用者。
⑦方法体:方法体里面不能再定义方法,但可以调用其他,可以写局部变量、运算符、流程控制、数组等一切符合java规范的代码
-
-
5、有明确返回值的方法调用
- 单独调用,没有意义
- 输出调用,有意义,但是不够好,因为我不一定非要把结果输出
- 赋值调用,推荐方式
-
6、没有明确返回值的方法调用
- 其实就是void类型方法的调用
- 只能单独调用
-
7、特点
- 定义方法可以将功能代码进行封装。
- 方法只有被调用才会执行。
- 方法的出现提高代码的复用性。
- 方法若没有返回值,则用关键字void表示,那么该方法中的return语句如果在最后一行可以省略不写。
- 方法中可以调用方法,不可以在方法内部定义方法。
- 定义方法时,方法的结果应返回给调用者,交由调用者来处理
方法不能返回多个值,如果想返回多个值,可以定义一个类,把多个值定义为成员变量,最后返回自定义类的对象。
二、调用及参数传递语法:对象名.方法名(实际参数列表)
注意:1.实际参数就是传递实际的值。
2.实际参数可以是0个、1个或者多个,多个实际参数使用逗号分隔。
三、可变参数修饰符 返回值类型 方法名(数据类型...变量名){}
如果有多个参数,可变参数一定放在最后面,并且一个方法只有一个可变参数
拥有可变参数的方法可以被重载,在被调用时,优先调用参数定长的方法;
可变参数和数组作为参数去实现重载时会报错,说明可变参数与数组冲突
可变参数可以兼容数组参数,数组参数无法兼容可变参数
- 特点
- Java把可变参数当做数组处理
- 可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项
- 可变参数用...代替标识,...位于变量类型和变量名之间,前后有无空格都可以
- 用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数
- 匿名对象不会当成垃圾
- 基本数据类型传递的是值,独立的空间,相互不影响的。String传递的也是值
- 引用数据类型传递的是地址。但是String类型和基本数据类型的值传递一致
- 递归要点:
- 每次递归调用都要使问题简单化
- 必然后一个边界条件
- 使用递归代码往往更加简洁,可读性强。
public class RecursionTest {
public static void main(String[] args) {
int result = f(5);
System.out.println(result);
}
// 5的阶乘 5*4的阶乘 4*3阶乘 n*(n-1)的阶乘
//使用Java代码求5的阶乘
public static int f(int n) {
if (1 == n){
return 1;
} else {
return n * f(n - 1);
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)