文章目录
- Java函数(方法)和变量
- 函数
- 什么是函数
- 函数的特点
- 函数的格式
- 无参无返回值方法
- 无参带返回值方法
- 带参无返回值方法
- 带参带返回值方法
- 重载
Java函数(方法)和变量
函数
什么是函数
在Java中习惯将函数叫做方法,就是定义在类中的具有特定功能的一段独立的代码块。
函数的特点
- 提高代码的复用性。
- 函数只有被调用的时候才会执行。
- 函数都是在栈内存中运行。
- 运行的函数处在栈顶。
函数的格式
//[]中的参数是可选项,即参数不是必须的
修饰符 返回值类型 函数名([参数类型1 参数名1, 参数类型2 参数名2 ....]){
执行语句
//返回值得类型必须与返回值类型一致
return 返回值;
}格式解析:
修饰符:可以是访问修饰符(public、protected、private),也可以是函数修饰符(abstract、final、static、synchronized),甚至可以省略。
返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为void;若方法具有返回值,则需要指定返回值类型,并且在方法体中使用return语句返回值。
方法名:定义的方法的名字,必须使用合法的标识符,一般都是第一个单词首字母小写,其他单词首字母大写。
参数列表:传递给方法的参数列表,参数可以有多个,多个参数用逗号间隔,每个参数由参数类型和参数名组成,以空格隔开。
根据方法是否带参数和是否带返回值,可将方法分为四类:
无参无返回值方法;
无参带返回值方法;
有参无返回值方法;
有参有返回值防范;
无参无返回值方法
介绍:
方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
实例:
public void functionTest(){
//这里是方法体,实现特定的操作
System.out.println("无参无返回值方法");
}上面的实例中,方法名是functionTest,遵循方法命名规范,但是没有参数;访问修饰符是public,可以被其他任何代码调用;返回值类型是void,就是没有返回值;方法体是在{}中的内容,编写特定的操作。
调用:
public class FunctionClass(){
private String name= "小明";
public String name(){
System.out.println();
}
public static void main(String[] args){
//创建一个对象
FunctionClass functionClass = new FunctionClass();
//通过对象名.方法名()的形式调用方法
functionClass.functionTest();
}
//定义的方法
public void functionTest(){
System.out.println("无参无返回值方法");
}
}
运行结果为:
无参无返回值方法无参带返回值方法
介绍:
方法不包含参数,但有返回值,我们称为无参带返回值的方法。
实例:
public int functionTest(){
int variable1 = 1;
int variable2 = 3;
int sum = variable1 + variable2;
return sum;
}上面的实例中,方法名是FunctionTest,遵循方法命名规范,但是没有参数;访问修饰符是public,可以被任何其他代码调用;返回值类型是int数值类型,因为存在具体的返回值类型,所以需要返回,并要用到return返回值;
注意:
方法的返回值只能有一个,而且返回值的类型必须与方法中返回值类型一致。
调用:
public class FunctionClass(){
public static void main(String[] args){
//创建一个对象
FunctionClass functionClass = new FunctionClass();
//调用方法并接受方法的返回值
int sum = functionClass.functionTest();
//控制台输出接收的返回值
System.out.println("无参带返回值方法" + ",返回的和sum为:"+sum);
}
public int functionTest(){
int variable1 = 1;
int variable2 = 3;
int sum = variable1 + variable2;
return sum;
}
}
运行结果为:
4带参无返回值方法
介绍:
方法中带有参数,但没有返回值,我们称为带参数无返回值的方法。
实例:
public void functionTest(String name){
System.out.println(name+"是新来的同学,大家欢迎!!!");
}上面的实例中,方法名是functionTest,遵循方法的命名规范,但是有参数;访问修饰符是public,可以被任何其他代码调用;返回值类型是void,就是没有返回值;
注意:
1、定义方法时的参数叫做形参,目的是用来定义方法需要传入的参数的个数和类型;调用方法时的参数叫做实参,是传递给方法真正被处理的值。
2、带参方法被调用时,必须保证实参的数量、类型、顺序和形参一一对应。
3、多个参数时以逗号间隔。
4、参数类型可以是基本类型中的int、double等,也可以是引用类型string、数组等。
5、调用方法的时候实参就不需要指定数据类型了。
调用:
public class FunctionClass(){
public static void main(String[] args){
//创建一个对象
FunctionClass functionClass = new FunctionClass();
//调用带参方法
functionClass.functionTest("小明",25);
}
public void functiontest(String name,int age){
System.out.println(name + "今年" + age + "岁了。");
}
}
运行结果为:
小明今年25岁了。带参带返回值方法
介绍:
方法既包含参数,又带有返回值,我们称为带参带返回值的方法。
实例:
public String functionTest(String name){
String str = "欢迎新同学"+name;
return str;
}上面的实例中,functionTest是方法名,遵循方法名命名规范,且带有参数;访问修饰符是public,可以被其他任意代码调用;返回值类型是String,那么就要结合return来返回值。
调用:
public class FunctionClass(){
public static void main(String[] args){
//创建一个对象
FunctionClass functionClass = new FunctionClass();
//调用对象中的方法
functionClass.functionTest("小明");
}
public String functionTest(String name){
System.out.println("欢迎新同学" + name);
}
}
运行结果为:
欢迎新同学小明重载
什么是重载?
同一个类中包含两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,就称为方法的重载,也可以说方法被重载了。
与方法的修饰符和返回值没有关系。当调用被重载的方法时,Java会根据参数的个数和类型来判断调用哪个重载方法,参数完全匹配的方法将被执行。
实例:
//无参方法
public void functionTest(){
System.out.println("无参方法");
}
//一个参方法
public void functionTest(String name){
System.out.println("一个参方法");
System.out.println("name" + name);
}
//两个参方法
public void functionTest(String name,int age){
System.out.println("两个参方法");
System.out.println("name" + name);
System.out.println("age" + age);
}
//两个参顺序不同
public void functionTest(int age,String name){
System.out.println("两个参顺序不同");
System.out.println("name" + name);
System.out.println("age" + age);
}
















