定义:数组(array)是一种用于存储多个相同类型数据的存储模型。
格式一:数据类型 [ ] 变量名
范例: int[ ] arr
定义了一个int类型的数组,数组名是arr。
格式二:数据类型 变量名[ ]
范例: int arr[ ]
定义了一个int类型的变量,变量名是arr数组。
初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
动态初始化抽象的说就是赋予数组长度,由系统赋予数组数值。
格式:数据类型 [ ] 变量名 = new 数据类型[数组长度];
范例: int [ ] arr = new int[3];
public class Demo3 {
public static void main(String[] args) throws IOException {
//1.创建随机数对象
Random r = new Random();
//2.定义长度为6的数组
int[] arr = new int[6];
//3.循环给数组赋值
for (int i = 0; i < arr.length; i++) {
int num = r.nextInt(101);
arr[i] = num;
}
//4.定义求和变量
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
//5.打印结果
System.out.println("和是" + sum);
}
}
静态初始化
就与动态初始化相反,赋予数组数数值,由系统赋予数组长度。
格式:数据类型 [ ] 变量名 = { 数据1 , 数据2 , 数据3 , ……} ;
范例: int [ ] arr = { 1 , 2 , 3 } ;
索引索引是数组中数据的编号方式。
作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名。
特征①:索引从0开始;
特征②:索引是连续的;
特征③:索引逐一增加,每次加1。
数组在初始化时,系统会为为存储空间默认赋值
整数:默认值0
浮点数:默认值0.0
布尔值:默认值false
字符:默认值是空字符
引用数据类型:默认值是null
数组操作的两个常见小问题
索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题。
空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常。
null:空值,引用数据类型的默认值,表示不指向任何有效对象。
数组的遍历
int[] arr = {……};
for(int x=0; xlength; x++) {
arr[x]
}
是将具有独立的代码组织成一个集体,使其具有特殊功能的代码集。
注意事项要先定义后调用,方法创建后并不是直接运行,还要手动输入才执行,这过程称为方法调用。
方法不能嵌套定义。
void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据。
定义格式: 方法名 ( ) ;
范例: isEvenNumber( ) ;
注意:
方法必须先定义后调用,否则程序将报错
格式: public static void 方法名 ( 参数 ) { … … }
格式(单个参数): public static void 方法名 ( 数据类型 变量名 ) { … … }
范例(单个参数): public static void isEvenNumber( int number) { … … }
格式(多个参数): public static void 方法名 ( 数据类型 变量名1 ,数据类型 变量名2 ,…… ) { … … }
范例(多个参数): public static void getMax( int number1 , int number2 ) { … … }
注意:
方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错。
方法定义时,多个参数之间使用逗号( ,)分隔。
方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错。
形参:方法定义中的参数
等同于变量定义格式,例如:int number
实参:方法调用中的参数
等同于使用变量或常量,例如: 10 number
带返回值方法定义 l 格式: public static 数据类型 方法名 ( 参数 ) {return 数据 ;
}
带返回值方法调用
格式1: 方法名 ( 参数 ) ;
范例: isEvenNumber ( 5 ) ;
格式2: 数据类型 变量名 = 方法名 ( 参数 ) ;
范例: boolean flag = isEvenNumber ( 5 );
注意:
方法的返回值通常会使用变量接收,否则该返回值将无意义。
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入行数");
int m = sc.nextInt();
System.out.println("请输入列数");
int n = sc.nextInt();
int area = method(m,n);
method(m,n);
System.out.println("面积为"+area);
}
public static int method(int m,int n) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print("*");
}
System.out.println();
}
return m*n;
}
}
方法重载
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载:
多个方法在同一个类中。
多个方法具有相同的方法名。
多个方法的参数不相同,类型不同或者数量不同。



