1. 方法(Method)
方法是一组为了实现特定功能的代码块的集合,主要功能有:
⑴ 结构化代码:将代码按照功能进行组织,是代码的结构比较清晰,容易阅读和修改,也就是程序的可维护性强。
⑵ 减少代码重复
一个固定的功能,可能在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。
总结:一段可重复使用的代码段,在程序中完成独立功能的一段代码的集合。
2. 方法的语法:
[修饰符] 返回值类型 方法名([参数类型 形式参数1,参数类型 形式参数2,……])
{
执行语句; [return 返回值;]//需要的话
}
3. 方法中属性详解
访问控制符:访问控制符限定方法的可见范围,或者说是方法被调用的范围。方法的访问控制符有四种,按可见范围从大到小依次是:public、protected,无访问控制符,private。其中无访问控制符不书写关键字即可。
形式参数:在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法在执行完毕后返还给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回类型 void。
方法的调用方法:对象名.方法名(参数列表)此处的参数列表就是实际参数,实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。
Return语句终止方法的运行并指定要返回的数据。
4. 方法的特点
可以将功能代码进行封装,提高代码的复用性,只有被调用才会执行,必须定义在类里,方法结束后方法里的对象失去引用。
如何定义一个函数?
⑴ 先明确该功能的函数的运算结果(函数的返回值类型)
⑵ 明确在定义该功能的过程中,是否需要未知的内容参与运算,确定参数列表。
5. 函数(方法)的重载
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或参数顺序不同即可。
什么情况使用重载?
当定义的功能相同,但参与运算的未知内容不同,这时就定义一个函数名称表示该功能,方便阅读,而通过参数列表的不同采取分多个同名函数。
特点:与返回值类型无关,只看参数列表。方法名相同,但是参数列表不一致。
6. 可变参数
方法中可以接受的参数不再是固定个数的,而是随具体需求传递的多少来决定的。
语法:
返回值类型 方法名(参数类型 ... 形式参数){ }
可变参数的特点:
只能出现在参数列表的最后;
... 位于变量类型和变量名之间,前后有无空格都可以;
调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
7. 数组简介:
数组(Array)是Java 语言中内置的一种基本数据存储结构,通俗的理解,就是一组数的集合,目的是用来一次存储多个数据。
数组的好处:数组里的每个元素都有编号,编号从0开始,并且依次递增,方便操作这些元素;
使用Java数组:必须先声明数组,再给该数组分配内存;
数组对应在内存中一段连续空间。
数组元素必须是相同数据类型,也可以是引用数据类型,但是同一个数组中的元素必须是同一类数据类型。
8. 一维数组的声明与初始化:
一维数组:可以理解为一列多行、类型相同的数据,其中每个数据被称为数组元素;
一维数组的声明方式:
type varName[]; 或 type[]varName;(推荐)
如:int age[]; int []age;
数组的长度一旦确定,就不能改变,也就数组是定长的;
初始化:
Java中的数组必先初始化才可以使用,所谓初始化就是为数组的数组元素分配内存,并为每个数组元素赋值;
数组初始化的两种方式:
静态初始化:初始化时由我们自己指定每个数组元素的初始值,由系统决定需要的数组长度;
格式:数组名 = new 数组类型[]{元素1,元素2,元素3...元素n};
简化语法:数组名 = {元素1,元素2,元素3...元素n};
动态初始化:初始化时由我们指定数组的长度,由系统为数组元素分配初始值;
格式:数组名 = new 数组类型[数组长度];
总结:
不能静态和动态初始化同时使用:
也就是说不能同时指定数组的长度和元素;
/**
* 声明数组及初始化
*/
public class Demo3 {
public static voidmain(String[] args) {
int [] arr = newint[10];
//动态初始化
for (int i= 0; i < arr.length; i++) {
arr[i]= i;
System.out.print(arr[i]+" ");
}
}
}
输出:0 1 2 3 4 5 6 7 8 9
9. 数组的使用:
Java语言的数组索引是从0开始的,也就是说数组里的第一个元素的索引是0,第二个元素的索引是1,依次可以类推。
常见操作:
给数组元素赋值
数组名[索引] = 数组类型的值 ;
访问数组元素
数组类型 变量 = 数组名[索引];
得到数组的长度
int len = 数组名.length; //length是数组的属性
遍历数组(备注:length 属性和循环语句)
数组元素的索引范围(0,长度—1)