方法就是将一段代码封装在一个结构体中,并且可反复调用
方法的定义:
public static 返回值类型 方法名称 ([参数类型 变量, 参数类型 变量,参数类型 变量...]){
方法中包含的代码;
[return 返回值;]
}
定义方法名称格式:方法名称单词第一个单词为小写字母,而后每个单词的首字母大写
返回值类型可设置为两种:
Java中的数据类型:基本类型、引用类型,如果有返回的内容,则需要通过return返回。必须要有return,否则会出错。
不返回任何结果:void:
定义一个没有参数没有返回值的方法:用主函数调用两次方法
public class TestDemo{
public static void main(String args[]){
printInfo();
printInfo();
}
public static void printInfo(){
System.out.println(“hello world”);
System.out.println(“hello world”);
}
}
定义一个有参数无返回值的方法:
public class TestDemo{
public static void main(String args[]){
printInfo(10);
printInfo(999);
}
public static void printInfo(int age){
if(age > 200){
System,out.println("不是人");
}else{
System.out.println("您的年龄是:" + age );
}
}
}
定义一个有参数有返回值的方法:
public class TestDemo{
public static void main(String args[]){
int result = add(10 , 20); //返回值为int,需定义个int接收
System.out .println(result);
System.out.println(add(100 , 300)); //也可以直接将方法的返回值输出
}
public static int add(int x , int y){
return x+y;
}
}
循环语句continue和break可使之后代码不执行,但必须与if一起使用。
而同样的操作在方法中也提供,如果使用了void声明,可在方法执行过程中用“return”来直接结束方法。 return之后的代码不执行。跳出方法。前提是void。
如果不是void,代表有返回值,必须return有返回内容。
实际开发中是否使用方法有两个决定性原则:
主方法代码太多,拆分到方法里。
编写代码时,总是不断的进行复制粘贴,可将这段代码封装到方法里。
方法重载
方法名称相同,参数的类型或个数不同。
功能相同的方法名字不同,调用起来太麻烦,所以用重载解决。
调用重载方法时会根据传递参数类型以及个数调用不同的方法体执行。
第二个程序为重载,方法名相同。与第一个程序结果一样。
重载关于返回值问题,重载的时候本身只规定了参数的类型和数量,并没有针对返回值的类型是否相同的限制,从开发的标准角度说,语法虽然没限制,但重载时返回值类型应该要相同。
递归
递归时迈入数据结构的第一步。递归就是方法自己调用自己。
而对于递归的操作,一般都要求满足以下形式:
递归必须在方法上进行
递归必须有一个明确的结束条件
递归的过程之中必须进行结束条件的变更
eg:用while循环实现累加操作
将上面代码改成递归形式:
递归有一个可怕的影响:
由于其操作占用的时间过长,有可能造成内存溢出,导致程序出现问题,不是必须情况下,不建议使用。