方法相关知识点

首页 > 方法相关知识点 > 列表

方法相关知识点

定义

方法是实现某个功能的语句块的集合。最好一个方法只完成一个功能。

attention:在一个类中定义一个方法时要定义static类型,否则会报错,检测不到这个方法。

public static void main(String[] args) {
int a=run(3,4);
}
public static int run(int a,int b){
return a+b;
}

方法定义和调用

方法包含一个方法头和一个方法体。具体格式如下图所示:

基本包括:修饰符,返回值类型,方法名(驼峰命名),参数类型,方法体。

实参和形参的区别:形参是用来定义作用的,实参是实际调用传递给他的参数。

return

return方法最好写在一个方法最后,return除了作为返回一个值来使用,还可利用return 0语句来终止语句。

方法重载

方法名不同,形式参数不同或返回类型不同就可成为方法的重载。

命令行传递参数

现在IDEA中左边文件列表找到自己要运行的文件,右键show in explorer进入相应的文件夹,在地址栏输入cmd进入命令控制界面,输入java quit.java编译源文件,若出现“java编码gbk的不可映射字符”报错,则输入“javac -encoding UTF-8 quit.java”,则会编译成功,

public static void main(String[] args) {
//int a=run(3,4);
for(int i=0;iargs.length;i++){
System.out.println("args["+i+"]"+args[i]);
}
}

以以上代码为例,则在命令行里输入java quit this is xiao,结果如图所示:

可变参数

在指定参数类型后面可以加一个省略号,一个方法中只能指定一个可变参数,它必须是方法的最后最后一个参数。以下省略号位置的则是可变参数。

public class varible {
public static void main(String[] args) {
varible a = new varible();
a.test(1);
}
public void test(int ...i){
System.out.println(i[0]);
}
}
//结果为1
public class varible {
public static void main(String[] args) {
varible a = new varible();
a.test(1,4,6654,334);
}
public void test(int ...i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
}
}
//结果是1,4,6654,334

递归讲解

public class Factorial {
public static void main(String[] args) {
Factorial f = new Factorial();
System.out.println(f.f(5));
}
public int f(int i){
if(i==1){
return 1;
}else{
return i*f(i-1);
}
}
}//结果为120
?

以以上5的阶乘为例,当这个值不为1时,会把5-1传递下一个函数,直到结果返回值为1,最后一步步返回:1乘2乘3乘4乘5,结果则为120.

递归结构包括两个部分:递归头和递归体,递归头规定了停止的条件,递归体规定了循环的方式。