文章目录

  • 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);
}