数组
数组:是同一种数据类型数据的集合容器。
数组的定义格式:
数据类型[ ] 变量名 = new 数据类型 [长度] ;
分析数组:int[] arr = new int[10]
左边:
int[] arr 声明了一个int类型的数组变量,变量名为arr.
int:表示该数组容器只能存储int类型的数据。
[] :这是一个数组类型。
arr:变量名。
右边:
new int[10]; 创建了一个长度为10的int类型数据。
new: 表示创建数组对象的关键字。
int: 表示该数组对象只能存储int类型数据。
[]:表示是数组类型。
50:该数组的容量。
数组的特点:
1.对分配到数组对象中每一个数据都分配一个编号(索引值,角标,下标),
2.索引值范围从0开始,最大是长度-1.
3.数组中有一个length的属性,能够查看到容量。arr.length
数组的初始化方式:
动态初始化:
数据类型 [ ] 变量名 = new 数据类型[长度];
静态初始化:
数据类型[ ] 变量名 = {元素1,元素2…};
局部变量:如果一个变量是在一个方法(函数)的内部声明的,
那么该变量就是一个局部变量。
成员变量: 成员变量就是定义在方法之外,类之内的
需求1:定义一个函数接收一个int类型的数组对象,找出数组对象中的最大元素返回给调用者。
public class day05_数组 {
public static void main(String[] ages) {
//定义一个函数接收一个int类型的数组对象,
//找出数组对象中的最大元素返回给调用者。
int[] arr = {12,14,5,26,4};
int max = getMax(arr);
System.out.println("最大值:"+max);
}
public static int getMax(int[] arr) {
int max = arr[0];
for(int i =1;i<arr.length;i++) {
if (arr[i]>max) {
max=arr[i];
}
}
return max;
}
}
//运行结果: 最大值:26
需求2:定义一个函数接收一个char类型的数组对象,然后翻转数组中的元素
翻转就是头角标和尾角标进行位置的置换,然后再让头角标自增,尾角标自减。
当头角标<尾角标时,可以进行置换的动作。
package exercise;
import java.util.Arrays;
import java.util.Scanner;
public class 随便试一试 {
public static void main(String[] args) {
//需求:定义一个函数接收一个char类型的数组对象,然后翻转数组中的元素
char[] arr= {'a','b','c','d','e','f'};
reverse(arr);
}
public static void reverse(char[] arr){
for(int startIndex=0,endIndex=arr.length-1;startIndex<endIndex;startIndex++,endIndex--) {
char temp = arr[startIndex];
arr[startIndex]=arr[endIndex];
arr[endIndex]=temp;
}
System.out.print("当前数组元素为:");
for(int k=0;k<arr.length;k++) {
System.out.print(arr[k]+",");
}
}
}
//运行结果: 当前数组元素为:f,e,d,c,b,a,
java – Arrays工具包
1.toString() 的用法 :将数组转换成String类型输出
2.sort()的用法:对一个数组进行排序,并且是按从小到大的顺序。
package exercise;
import java.util.Arrays;
import java.util.Scanner;
public class 随便试一试 {
public static void main(String[] args) {
int [] arr= {2,32,21,12,5};
Arrays.sort(arr);
System.out.print("当前排序为:"+Arrays.toString(arr));
}
}
//当前排序为:[2, 5, 12, 21, 32]
二维数组: 就是数组中的数组
二维数组的定义格式:
数据类型[][] 变量名 = new 数据类型[长度1][长度2];
二维数组的初始化方式:
动态初始化:
数据类型[][] 变量名 =new 数据类型[长度1][长度2];
静态初始化:
数据类型[][] 变量名 ={ {元素1,元素2…},{元素1,元素2…},{元素1,元素2…}…};
数组的特点:
1.数组只能存储同一种数据类型的数据
2.数组是会给存储到数组中的元素分配一个索引值的,索引值从0开始,最大的索引值是length-1.
3.数组一旦初始化,长度固定。
4.数组中的元素与元素之间的内存地址是连续的。