一、方法概述和定义
迄今为止,我们一直用“函数”这个词指代一个已命名的子例程。但在 Java 里,更常用的一个 词却是“方法”,代表“完成某事的途径”。方法的基本组成部分包括名字、参数列表、返回类型以及主体。下面便是它最基本的形式:
[修饰符] 返回类型 方法名( 参数列表) {
方法主体;
}
说明如下:
1、返回类型是指调用方法之后返回的数值类型。
没有返回值: 关键字:void来表示.
有 返回 值: 此时返回值类型就应该是基本数据类型/引用数据类型.
注意: 如果方法有返回值类型,此时在方法体里面,必须使用return关键字,用于返回一个该类型的值;
2、方法名的作用是对具体的方法进行标识和引用。
3、参数列表列出了想传递给方法的数据类型和名称。
参数列表规定了我们传送给方法的是什么信息。参数列表包括:参数的类型,参数的个数,参数的顺序.
形式参数:方法圆括号里面的变量,形式参数可以有多个.
实际参数:调用方法的时候,实际传递的数据,把实际传递的数据传给方法的形式参数.
方法签名:方法签名 = 方法名称 + 参数列表不同的方法的方法签名是不同的.
修饰符,顾名思义,对方法起修饰作用,public表示访问权限等.
二、方法执行流程
三、方法的重载
1、定义:大多数程序设计语言要求我们为每个函数都设定一个独一无二的标识符。所以绝对不能用一个 名为print()的函数来显示整数,再用另一个 print()显示浮点数——每个函数都要求具备唯一的名字。 在Java 里,另一项因素强迫方法名出现重载载情况:例如我要满足下列几个需求:
需求1:求两个int类型的数之和.
public static int getSum1(int a,int b){}
需求2:求两个float类型的数之和.
public static int getSum2(float a,float b){}
需求3:求两个long类型的数之和.
需求4:求两个double类型的数之和.
需求5:求一个int类型的数和一个double类型的数之和.
public static int getSum5(int a,double b){}
我们可以发现当我们寻找自己想要使用的方法是会存在一定的困难,同时这样的代码冗余性非常的高,当我们使用方法的重载就可以解决这一问题。重载方法是在同一个类中,某方法允许存在一个以上的同名方法,但是他们的参数列表一定要不同。
2、方法重载的作用:屏蔽了同一功能的方法由于参数不同所造成的差异。
3、方法重载判断原则: “两同一不同”
两同:同类中,方法名相同;
一不同:方法参数列表不同(参数类型、参数个数、参数顺序);
方法重载解决的问题:解决了,因为功能相同,参数列表不同,而带来的方法名称不同的问题.
注意:方法重载和方法的返回值类型无关,只是一般要求返回值类型一致。
四、数组
1、数组的定义与声明
数组代表一系列对象或者基本数据类型,所有相同的类型都封装到一起,采用一个统一的标识符名称。数组的定义和使用是通过方括号索引运算符进行的([])。为定义一个数组,只需在类型名后简单地跟随一对空方括号即可:
int[] al;
也可以将方括号置于标识符后面,获得完全一致的结果:
int al[];(不推荐);
2、数组的初始化(数组必先初始化后才能使用)
静态初始化:
1、数组名 = new int{元素1,元素2,....};
2、数组名 = {元素1,元素2, ......};
动态初始化:
数组数据类型 数组名 = new int[数组空间大小值];
注意:无论,以哪种方式初始化数组,一旦初始化完成,数组的长度就固定了,不能改变,除非重新初始化,数组是定长的。
3、数组的使用:
例如打印出数组中的元素:
public static void getArray(){
String[] arr= {"A","B","C","D","E"};
//遍历arr中的所有元素
System.out.print("遍历数组:");
for(int i = 0 ; i< arr.length; i++)
{
System.out.print(arr2[i]+" ");
}
System.out.println();
}