Java学习(四)-------数组
数组概念
数组就是一些相同类型数据的有序集合,其中每个数组的数据元素都可以通过其下标来访问它们
j
数组的创建
数组创建有两种方法,都是用new操作符来进行创建
- 可以用new来进行声明,这两种方法都是等价的,不过第一种更加专业,int代表类型,也可以是其他的数据类型,例如boolean
int[] Arrays;
int Arrays[];
- 声明数组意味着内存当中有了一个数组的内存地址,其次需要数组的创建,其中number代表数组的大小或下标的边界
int[] Arrays=new int[number]
这种数组是不可变的,一旦创建,便不可改变,不过可以对其进行赋值,但不可改变数组的大小
- 若需要对数组进行赋值,可以如下操作
Arrays[insert]=value;
其中insert就是下标,且下标的范围是从零开始的,最大的下标就是数组长度减一,数组长度可以通过Arrasy.length();方法来获取
- 数组下标越界会直接报错ArrayIndexOutofBounds
- 如果需要创建list类型的数组,那么需要用ArraysList类来创建子类对象达成
数组的初始化
数组的对象会放在本身会放在数据堆中,而引用对象则会放在数据桟当中,数组的初始化有三种:
- 静态初始化:数组可以在被创建的时候就直接int[] arrays={};通过这种方式来初始化,如此一来数据最开始就被创建好了,而内存也就分配好了
- 动态初始化:数组可以先声明,然后用上文的方法来创建数组,不过这种方法只是先创造了一个数组的雏形,具体的数组还需要去动态的赋值
- 默认初始化:数组的元素都是可以默认的,int类型默认为0,string类型默认为null,boolean类型默认是False
数组的使用
数组可以用for-each 循环来进行输出
int[] num={91,8,67,56,56,78}; for (int x:num){ System.out.println(x); }
其中x代表着数组的元素,这串代码表示将num数组的元素给遍历出来,且打印出来
- 数组可以作为参数导入方法,也可以作为返回值返回
- 二维数组:数组本身也可以作为一个元素放到数组当中,即多维数组,如int【】【】 num;,这个num数组就是代表一个二维数组,调用时可以在第一个【】当中输入所需的内部数组的下标,第二个在内部数组的下标
Arrays类的方法
- toString方法:可以将数组的元素作为字符串输出
- sort方法: 可以将数组的元素按照升序排序
- fill方法:可以将数组的内部元素进行批量填充
- equals方法可以将数组的元素比较是否相等
冒泡算法
直接附上代码
import java.util.Arrays;
public class sortdemo {
public static void main(String[] args) {
//冒泡排序
int num=0;
int[] a={98,444,67,9865,8,4000};
for (int i = 1; i<=a.length-1; i++) {
for (int j = 0; j <a.length-i; j++) {
num=a[j+1];
if (a[j]>a[j+1]){
a[j+1]=a[j];
a[j]=num;
}
}
}
System.out.println(Arrays.toString(a));
}
}
大家自己理解一下吧,真的很简单!