概述:方法在java中是一组有功能语句
作用:1、用来实现程序功能的
2、将实现功能的代码封装到方法中,用过调用方法就可以实现特定的功能,提高代码的复用率。
方法的定义:
[访问控制符] [修饰符] 返回值类型 方法名( 参数类型 ) { 功能语句 };
比如:public static void main(String[] args){}
注意:①同样的方法(方法名和参数列表都相同)在一个类中不能重复定义
②方法只能定义在类中,方法不能嵌套方法
方法的分类:
//1、无参无返回值
/**
* void:标注该方法没有返回值
* getName():方法名,方法调用时的标识
*/
public void getName(){
}
// 2、无参有返回值
/**
* ①有返回值的方法,方法体中必须有return语句
* ②方法的返回值可以是基本数据类型也可以是引用数据类型
* ③return语句作为一个方法结束的标志,一个方法必须且只会执行一次return
* ④return语句后的代码没有意义会编译报错
* ⑤return的数据的类型必须和方法的返回值类型保持一致,不然编译报错
* @return:当方法被调用时候,调用者可以获取到方返回的结果
*/
public int getAddress(){
return 0;
}
public String getAddress1(){
if(1>2){
return "zhangsan";
// System.out.println("----");编译报错
}
return "zhangsan";
}
// 3、有参无返回值
/**
*
* @param name:形式参数主要的作用就是用来标注该方法被调用时需要传入什么数据类型的值和传入参数的个数
* ①形式参数:本质上就是一个局部变量其作用域范围在方法体中
* ②变量必须初始化之后才能使用,形式参数在方法被调用时完成初始化
* ③参数可以时基本数据类型也可以是引用数据类型
* ④参数的个数可以是零个或多个
*/
public void getAge(String name){
System.out.println(name);
}
public void getAge1(String name,int sex){
System.out.println(name);
}
// 4、有参有返回值
public int[] getSex(String name){
return null;
}
方法的调用:
-
方法只有被调用后才生效
-
通过方法名调用方法,可以被多次调用
-
方法作为类的一部分,可以在当前类中调用也可以在其他类中调用(具体根据访问控制符来决定其被调用的范围)
-
/** * 方法的调用 * @author Administrator * */ public class TestMethodCall { public static void getName() { System.out.println("无参无返回值的方法"); } public static String getAge() { System.out.println("无参有返回值"); String name="lisi"; if(name.equals("lisi")) { return name; } return "zhangsan"; } public static void getAddress(String username) { System.out.println("有参无返回值的方法1:"+username); } public static void getAddress1(int age,String username) { System.out.println("有参无返回值的方法2:"+age+","+username); } public static double getSal(int age) { System.out.println("有参有返回值的方法:"+age); return 90.0; } public static void main(String[] args) { // TestMethodCall t=new TestMethodCall(); /// 实例化对象之后通过 引用.方法名() 调用方法(后续讲解) // t.getName(); // ①无参无返回值方法的调用 getName(); // System.out.println(getName()); /*编译报错,void标注的方法没有返回值,在调用者调用后只实现方法的功能得不到方法的结果 ,所以能直接输出或者使用变量接收方法的结果*/ // ②无参有返回值方法的调用 /* * 调用者调用有返回值的方法时可以得到该方法返回的结果,可以使用与方法返回值相同类型的变量来接收结果 * ,或者直接使用返回值 * 调用者获取到方法的返回值后可以对该返回值进行下一步操作 */ String name=getAge(); System.out.println(name); System.out.println(getAge()); // ③有参无返回值的方法 /* * zhangsan和20是实参 * 有参的方法被调用时需要传入与方法形参个数和数据类型匹配的实参,实参可以是常量也可以是变量 */ getAddress("zhangsan"); getAddress1(20,"zhangsan"); int a=60; String username="wangwu"; getAddress1(a,username); // ④有参有返回值的方法 double d=getSal(10); System.out.println("d:"+d); }