如何定义Java中的方法:
所谓方法就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下,定义 一个方法的语法是:
访问修饰符 返回值类型 方法名(参数列表)(
方法体;
)
其中:
1,访问修饰符:方法允许被访问的权限范围,可以是public,proteced,private甚至可以省略,其中:
public表示该方法可以被其他任何代码调用。
2,返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为void;
如果方法具有返回值,则需要指定返回值得类型,并且方法体中使用return语句返回值。
3,方法名:定义方法的名字,必须使用合法的标识符
4,参数列表:传递方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数类型和参数名组成,以空格隔开:
根据方法是否带参,是否带返回值,可将方法分为四类:
(1)无参无返回值方法
(2)无参带返回值方法
(3)带参无返回值方法
(4)带参带返回值方法
注意:
(1)如果方法的返回值类型为void,则方法中不能使用return返回值;
(2)方法的返回值最多只能有一个,不能返回多个值
(3)方法返回值得类型必须兼容,例如:如果返回值的类型为int ,则返回String值
一:无参无返回值方法
例如:下面代码定义一个方法名为show,没有参数,且没有返回值的方法:
public void show(){
System.out.println("welcome to imooc");
}
注意:方法体放在一对大括号中,实现特定的操作
方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词的首字母小写,其他的单词首字母大写的形式
调用方法:
当需要调用方法执行某个操作时,可以先成创建类的对象,然后通过 对象.方法名(); 来实现()
例如:在下满代码中我们创建了一个名为hello 的对象,然后通过调用该对象的show()方法输出信息;
public class HelloWorld{
public static void main(String[] args){
//创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
//然后通过对象名.方法名的形式调用方法
hello.show();
}
//定义方法:
public void show(){
System.out.println("Welcome to china")
}
}
输出结果为:Welcome to china
二:java中无参带返回值方法的使用
如果方法不包含参数,但有返回值,我们称为无参带返回值的方法;
例如:下面的代码,定义了一个方法名为calSum,无参数,但返回值为int类型的方法,执行的操作作为计算两个数之和,并返回结果
注意:在calSum()方法中,返回值类型为int类型,因此在方法体中必须使用return返回一个整数值;
调用带返回值得方法是需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时,一般都会
其返回值并进行处理;
public class HelloWorld{
public static void main(String[] args){
//创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
//刁永宁方法并接收方法的返回值,并保存在sum 中
int sum = hello.calSum();
System.out.println("两数之和为"+ sum);
}
//定义方法:
public int calSum(){
int a = 5;
int b = 12;
int sum = a + b;
return sum;
}
}
输出结果为:两数之和为 17
三:Java中带参无返回值方法的调用;
有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。
例如,现实生活中电饭锅可以实现“煮饭的功能”,但前提是我们需要提供食材,如果我们什么都不提供,那
就是真的“巧妇难为无米之炊”。我们可以通过在方法中加入参数列表接收外部传入的数据信息, 参数可以是任意的基本数据类型或者引用数据类型
注意: 参数可以是任意的基本数据类型或者引用数据类型
调用带参方法时,必须保证实参的数量,类型顺序与形参一一对应
当方法参数有多个时,多个参数间以逗号分隔、
public class HelloWorld{
public static void main(String[] args){
//创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
int [] scores = {84,2,24,45,90};
hello.print(scores); // 这里传入的参数为实参,这里是实参为整型数组
}
//定义方法:
public void print(int [] scores){ //这里的参数为形参
System.out.println("传过来的数组数:" +Arrays.toString(scores)); //使用Arrys.toString方法将数组转换为字符串输出
}
}
输出结果为: 传过来的数组数:84,2,24,45,90
四:jav 中带参带返回值方法的使用:
如果方法既包含参数,又带有返回值
public class HelloWorld{
public static void main(String[] args){
//创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
String welcome = hello.show("蒋星灿你好帅");
}
//定义方法:
public String show(String name){ //这里的参数为形参
return "欢迎您,"+name + "!";
}
}
输出结果为: 欢迎您,蒋星灿你好帅
方法的重载:
方法的重载:
定义:如果同一个类中,包含了两个或者两个以上方法名,方法参数的个数,顺序或顺序类型不同的方法,则称为方法的重载;
判断重载的依据:
1,必须在同一个类中;
2,方法名相同
3,方法参数的个数,顺序或类型不同
4,与方法的修饰符或返回值没有关系
如何区分调用的是哪个重载方法?
当调用被重载的方法时,Java会根据参数的个数来判断应该调用哪个重载方法,参数完全匹配的方法将被执行
如下所示:4个方法名称都为show,但方法参数有所不同,因此都属于方法的重载;
public void show(){
System.out.println("welcome");
}
public void show(String name){
System.out.println("welcome"+ name );
}
public void show(String name,int age){
System.out.println("welcome"+name);
System.out.println("age"+age);
}
public void show(int age,String name ){ //这个方法没有相匹配的实参不会被调用
System.out.println("welcome2"+ name);
System.out.println("age2"+age);
}
public static void main(String [] args){
HelloWorld hello = new HelloWorld();
hello.show(); //调用无参的show方法
hello.show("蒋星灿"); //调用带有一个字符串参数的show方法
hello.show("jxc",20); //调用带有字符串参数和整型参数的show方法
}
运行结果:
welcome
welcome:蒋星灿
welcome:jxc
age:20