1:创建数组
int[] arr = new int[10];//创建数组,初始化大小为10
2:访问数据数据项
arr[0]=1;//这个是设定她的值
System.out.println(arr[0]);//这个是获取她的值,通过打印的方式
3:数组的初始化
int[] arr2 = new int[]{1,2,3};
二:
面向对象编程方式
1:使用自定义类来封装数组
package SJJG;
public class Myarray {
private long[] array;
//表示有效数据的长度
private int elements;
public Myarray() {
// TODO Auto-generated constructor stub
// 在构造方法里给数组赋值
array = new long[50];
}
//在重构构造方法
public Myarray(int maxSize){
array = new long[maxSize];//这个大小是我的构造方法里传入的
}
//接下来插入数据
public void insert(int values){
//第一次添加是为0的,即values
array[elements]=values;
elements++;//让她递增
//当第二次调用这儿添加的时候,array[elements]里面是为1,然后递增为2
}
//显示数据
public void diplay(){
System.out.print("[");
//用for循环遍历,i=0,下标为0
for (int i = 0; i < elements; i++) {
System.out.print(array[i]+" ");
}
System.out.println("]");
}
//查找数据
//我们是根据什么来查找呢?我们是根据值来查找,返回她的所有值
public int search(long value){
int i;//i在外面进行一个判断,然后在循环里面赋值
// 比如说我查找这个15,arry.insert(15);,那么她的索引是2
//怎么样来查呢?同样也是经过一个循环
for (i = 0; i < elements; i++) {
if (value == array[i]) {//如果值是等于array[i]
// 如果查找到了,就跳出
break;
}
}
if(i==elements){//意思就是说for循环结束了,都查找完还没找到这个元素,就返回-1
return -1;
}else{
return i;
}
}
// 查找数据,根据索引来查
public long get(int index){
//这个时候需要对index进行判断
if(index >=elements || index<0)//如果index大于有效元素,或者小于0
{
//抛出一个异常
throw new ArrayIndexOutOfBoundsException();
}else{
return array[index];
}
}
//删除数据
// 根据index来删除数据
public void delete(int index){
//删除也需要对index进行判断,判断完成后应该怎么样呢?
if(index >=elements || index<0)//如果index大于有效元素,或者小于0
{
//抛出一个异常
throw new ArrayIndexOutOfBoundsException();
}
//假设数组的值分别为1,3,4,5,如果要删除3,那么我们把4的值赋值给array[1],即3就可以了,覆盖她
// 5接着覆盖4,最后把elements减去1;表示有效长度减去1
else{
//i从index开始,小于i++
for (int i = index; i < elements; i++) {
//前面的值等于后面的值
array[index]=array[index+1];
}
//最后还要对有效的长度减1
elements--;
}
}
//更新数据
public void chang(int index,int newValue){
//同样,因为有index,所以需要判断
if(index >=elements || index<0)//如果index大于有效元素,或者小于0
{
//抛出一个异常
throw new ArrayIndexOutOfBoundsException();
}
//思考如何进行更新?
else{
// 只需要把index的值进行一个设置就可以了
array[index]=newValue;
}
}
}
2:添加类的方法来实现数据操作
package SJJG;
public class Test {
public static void main(String[] args) {
//创建类的实例
Myarray arry = new Myarray();
arry.insert(13);//插入数据
arry.insert(12);
arry.insert(15);
// 调用显示方法,会把数组全都打印出来
arry.diplay();
//进行查找
System.out.println(arry.search(12));//打印出1,查找到
System.out.println(arry.search(11));//查找不到,返回-1
//进行索引查找
System.out.println(arry.get(2));//打印出15
// System.out.println(arry.get(4));//抛出异常
// System.err.println(arry.get(-3));//抛出异常
//删除数据
arry.delete(1);
//再进行显示
arry.diplay();
//进行改
arry.chang(0,19);
arry.diplay();//此刻13已经变成19了
}
}