方法的定义:方法就是完成特定功能的代码块(在很多语言,如javascript中都有函数的定义,函数在java中被称为方法)
格式:
权限修饰符 返回值类型 方法名(数据类型1 参数名1,数据类型2 参数名2……){
方法体;
return 返回值;
}
具体解释:
权限修饰符:public + static(静态修饰)
返回值类型:用于限定返回值的数据类型结果是什么数据类型,就用该该类型去接收结果
方法名:就是给这个功能的代码块起名(方便调用)命名规则:一个单词字母全小写;多个单词:第一个单词小写,第二个单词开始首字母大写
形式参数列表:(数据类型1 参数名1,数据类型2 参数名2……)
方法体:完成功能的代码
return:结束方法以及返回方法指定类型的值
返回值:程序被return带回的结果,返回给调用者
定义方法的注意事项:
- 方法和方法是平级关系,不能将一个方法写到main主程序入口里面
- 方法不调用不执行
- 在main方中去调用其他方法的时候,实际参数不用再给数据类型了,否则报错
- 定义方法的时候:形式参数必须带上数据类型,否则报错
- 方法定义完毕:(有返回值类型的方法:返回具体的结果:否则不写return:编译不通过)
- 定义方法:有左大括号的地方不能有分号,有分号的地方不能有做大括号
方法调用
a.有明确返回值的方法调用:
单独调用,没有任何意义,没有输出
输出调用,虽然可以得到一个结果,但是不够好,不能对结果进行下一步操作
赋值调用,可以对结果下一步操作
public class Demo {
public static void main(String[] args){
//定义实际参数
int a = 10;
int b = 20;
//单独调用,没有意义,不输出
sum(a,b);
//输出调用
System.out.println("输出调用:"+sum(a,b));
//赋值调用
int result = sum(a,b);
System.out.print("赋值调用:"+result);
}
//求和的方法
public static int sum(int a,int b){
return a+b;
}
}
b.无明确返回值的方法调用:(即void类型方法的调用)
只能单独调用
public class Demo2 {
public static void main(String[] args){
//单独调用方法输出四行五列的*
printXing();
}
//输出*的方法
public static void printXing(){
for(int i = 1;i <= 4;i++){
for(int j = 1;j <= 5;j++){
System.out.print("*");
}
System.out.println();
}
}
}
5. 方法重载(Overload):
a.定义:在同一个类中,出现相同的方法名,它们的参数列表不同 (即:参数数据类型和参数个数不同)
b.特点:与返回值类型无关,只看方法名和参数列表
public class Demo1 {
public static void main(String[] args){
System.out.println(sum(10,20));
System.out.println(sum(10,20,30));
System.out.println(sum(10f,20f));
}
//求和方法重载,参数列表不同
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
public static float sum(float a,float b){
return a+b;
}
}