数组
数组代表一系列对象或者基本数据类型,所有相同的类型都封装到一起—— 采用一个统一的标识符名称。数组的定义和使用是通过方括号索引运算符进行的( [ ])。
在学习数组之前,还需要了解一些数组的相关概念
- 数组名:数组的名字(标识符)
- 数组的长度:数组中元素的个数
- 数组的索引
数组的特点:
- 数组是按序排列的
- 数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
- 创建数组对象会在内存中开辟一整块连续的空间
- 数组的长度一旦确定,就不能修改
数组类型:
- 一维数组、二维数组、……、n维数组
- 基础类型元素数组、引用类型元素数组
数组定义:
1. 为定义一个数组,只需在类型名后简单地跟随一对空方括号即可:
int[ ] arr;
2. 也可以将方括号置于标识符后面,获得完全一致的结果:
int arr[ ];
一维数组
public static void main(String[] args){
//静态初始化
int[] arr = {1,2,3}; //定义一个数组,并且给定了元素
int arr2[] = {2,3,4,5}; //定义一个数组,并且给定了元素
//动态初始化
int num = 3; // 确定数组元素的个数
int[] arr3 = new int[num];
System.out.println(arr.length); //输出结果是3
System.out.println(arr.length); //输出结果是4
/*
数组的是从0开始的。例如:有一个数组{1,2,3}
索引与元素对应关系如下:
索引 数组元素
0 1
1 2
2 3
*/
System.out.println(arr[0]); //输出结果为1
System.out.println(arr[1]); //输出结果为2
System.out.println(arr[2]); //输出结果为3
//遍历数组,也就是依次打印出数组中的所有元素,可以通过for循环实现
for(int i = 0;i < arr.length;i++){
System.out.println(arr[i]); //输出数组内所有元素
}
}
二维数组
public static void main(String[] args){
//静态初始化
int[][] arr = {{1,2,3},{4,5,6,7}};
//动态初始化
int num = 3;
int num2 = 4;
int[][] arr2 = new int[num][num2];
//打印二维数组中每一个数组的长度
System.out.println(arr[0].length); //输出结果是3
System.out.println(arr[1].length); //输出结果是4
//遍历数组
for(int i = 0;i < arr.length;i++){
for(int j = 0;j < arr[i].length;j++){
System.out.println(arr[i][j]);//输出了数组内所有元素
}
}
}
方法
方法(method)是将具有独立功能的代码块组成的一个整体,使其具有特殊功能的代码集。
注意:
- 方法必须先创建才能使用,该过程为方法定义
- 方法创建之后并不是直接运行,需要手动使用后才执行,该过程称为方法调用
修饰符
修饰符的访问权限
修饰符 | 当前包 | 相同包 | 子类 | 其他包 |
---|---|---|---|---|
public | √ | √ | √ | √ |
private | √ | × | × | × |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
这四个修饰词代表的含义分别是:公共的、私有的、受保护的、默认的,现在只学习了public 其他的将会在后面进行学习 |
方法定义
格式:
不带参数
修饰符 返回值类型 方法名(){
方法体;
return 结果;
}
方法调用:方法名();
带参数
修饰符 返回值类型 方法名(数据类型 变量名){
方法体;
return 结果;
}
方法调用:方法名(参数1,参数2,...);
注意:
- 参数中数据类型和变量名都不能少,少一个会报错
- 有多个参数时,使用“,”隔开
public static void main(String[] args){
Love();//输出“我爱你”
int c = getmax(1,2);//调用带参构造方法
System.out.println(c);//输出结果为2
}
//无参构造方法
public static void Love(){
System.out.print("我爱你");
}
//带参构造方法
public static void Love(){
System.out.print("我爱你");
}
//无参构造方法
public static int getmax(int a, int b){
if(a > b) {
return a;
}else if(a < b){
return b;
}
}
方法重载
同一个类中,方法名相同,方法参数不同
注意:
- 参数列表的不同包括,参数个数不同,参数数据类型不同,参数顺序不同
- 方法的重载与方法的修饰符和返回值没有任何关系
public static void main(Strig[] args){
show(3); //输出 int类型:3
show("b"); //输出 String类型:b
}
public static void show(int a) {
System.out.println("int类型:"+a);
}
public static void show(String b) {
System.out.println("String类型:"+b);
}
练习
- 使用方法遍历数组
- 使用方法求数组的最大值
- 使用方法对数组进行倒序
- 使用方法对数组进行从小到大排序
- 调用方法求数组的所有元素和