数组的定义
1.数组的定义
相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。
2.数组的声明和创建
-
变量类型 变量名称 = 变量的值 int[] numbers = {1,2}; int numbers2[]={2,3};
-
Java语言使用new操作符来创建数组,语法如下:int[] numbers3; numbers3 = new int[10];
public class ArrayDemo01 {
public static void main(String[] args) {
int[] numbers = {1,2};
int numbers2[]={2,3};
int[] numbers3;
numbers3 = new int[10]; //10代表10个数,10个空间大小
for(int i= 0;i<numbers3.length;i++){
numbers3[i]=i;
System.out.println(numbers3[i]+":"+numbers3);
}
System.out.println(numbers3[2]);
System.out.println(numbers[0]);
}
}
3.内存分析
public class ArrayDemo02 {
public static void main(String[] args) {
// 静态初始化
int[] a= {1,2,3,4,5,6,7,8};
System.out.println(a[0]);
// 动态初始化 包含静态初始化
int[] b =new int[10];
b[0]=10;
b[1]=10;
System.out.println(b[0]);
System.out.println(b[1]);
}
}
4.数组的四个基本特点
-
长度确定,数组一旦被创建,大小不可变。
-
元素必须是相同类型,不可以出现混合类型。
-
元素可以是任何类型,包括基本类型和引用类型。
-
数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
5.数组边界
合法区间:【0,arr.leng-1】
6.数组的使用
public class ArrayDemo03 {
public static void main(String[] args) {
int[] arrays={1,2,3,4,5};
//打印全部数组元素
for (int i=0;i<arrays.length;i++){
System.out.println(arrays[i]);
}
// 计算总和
int sum=0;
for (int i=0;i<arrays.length;i++){
sum = sum +arrays[i];
}
System.out.println(sum);
// 查找最大元素
int max = arrays[0];
for (int i=0;i<arrays.length;i++){
if(arrays[i]>max) {
max = arrays[i];
}
}
System.out.println(max);
}
}
public class ArrayDemo04 {
public static void main(String[] args) {
int[] arrays={1,2,3,4,5};
for (int array:arrays){
System.out.println(array);
}
// 打印数组
printArray(arrays);
int[] reverse = reverrse(arrays);
// 打印数组
printArray(reverse);
}
//打印数组元素
public static void printArray(int[] arrays){
for (int i=0;i<arrays.length;i++){
System.out.println(arrays[i]+"");
}
}
// 反转数组
public static int[] reverrse(int[] array){
int[] result = new int[array.length];
for (int i = 0,j=result.length-1; i < array.length; i++,j--) {
result[j]=array[i];
}
return result;
}
}
7.多维数组
-
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一堆数组,其每一个元素都是一个一维数组。
-
二维数组:
int a[][] = new int[2][5];
int [][] array={{1,2},{3,4}};
8.Arrays类讲解
数组的工具类java.util.Arrays
常用功能以下:
-
给数组赋值:通过fill方法。
-
对数组排序:通过sort方法,按升序。
-
比较数组:通过equals方法比较数组中元素值是否相等。
-
查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。
9.冒泡排序
public class ArrayDemo07 {标签:JAVA,int,System,数组,println,array,public From: https://www.cnblogs.com/yuan947022015/p/17648554.html
// 冒泡排序:比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位罩
// 每一次比较,都会产生出一个最大,或者最小的数字:下一轮则可以少一次排序!
// 依次循环。直到结束!
public static void main(String[] args) {
int[] a={1,3,45,213,412,5,31};
int[] sort=sort(a);
System.out.println(Arrays.toString(sort));
}
public static int[] sort(int[] array){
//临时变量
int temp=0;
// 外层循环,判断要走多少次
for (int i = 0; i < array.length-1; i++) {
boolean flag=false;
// 内循环,判断两个数,如果第一个数比第二个数大,则交换位置
for (int j = 0; j < array.length-1; j++) {
if(array[j+1]<array[j]){
temp = array[j];
array[j]=array[j+1];
array[j+1]=temp;
flag=true;
}
}
if(flag==false){
break;
}
}
return array;
}
}