JAVA——数组

一、一维数组

声明数组变量

/**
*dataType[] arrayRefVar;   // 首选的方法
*dataType arrayRefVar[];  // 不推荐
**/
int[] array; 

创建数组

// arrayRefVar = new dataType[arraySize];
  1. 使用 dataType[arraySize] 创建了一个数组。
  2. 把新创建的数组的引用赋值给变量 arrayRefVar。(申请一个空间,赋值地址)
数组变量的声明,和创建数组可以用一条语句完成,如下所示:
//dataType[] arrayRefVar = new dataType[arraySize];
//dataType[] arrayRefVar = {value0, value1, ..., valuek};
int[] myList = new int[5];
int[] array={0,1,2,3,4}

数组的元素是通过索引访问的。
数组索引从 0 开始,所以索引值从 0 到 arrayRefVar.length-1。

处理数组

int[] myList ={0,1,2,3,4}
// 打印所有数组元素
for (int i = 0; i < myList.length; i++) {
        System.out.println(myList[i] + " ");
}

JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。

int[] myList ={0,1,2,3,4}
// 打印所有数组元素
for (int element: myList) {
      System.out.println(element);
}
重点

数组是引用类型,引用数据类型存储的是地址

public static void main(String[] args) {
       int [] arr={1,2,3,4,5};
      //传递的地址
     int [] arr2=arr;
    for(int i=0;i<arr2.length;i++){
       System.out.println(arr2[i]);
  }
   //修改数组中元素的值
  arr2[3]=88;
  //88
 System.out.println(arr2[3]);
//88
  System.out.println(arr[3]);
}

二、二维数组

public static void main(String[] args) {
        int [] [] classes=new int [2][2];
        //第一个班级
        classes[0][0]=80;
        classes[0][1]=75;

        //第二个班级
        classes[1][0]=60;
        classes[1][1]=75;
        
        //classes.length=2(行的个数)
        System.out.println(classes.length);

        //取值
        //循环每个班级
        for(int i=0;i<classes.length;i++){
            int [] stus=classes[i];
            System.out.println("第"+(i+1)+"个班级的成绩:");
            //循环每个学生
            for(int j=0;j<stus.length;j++){
                System.out.print(stus[j]+"\t");
            }
            System.out.println();
        }
    }

三、对象数组

Student[] stus=new Student[3]

数组有两个缺点:

  1. 数据放多了,会报数组越界的异常
  2. 数据少了,如果是对象类型,会报空指针异常
  3. 数组一旦定好了之后,其数组长度就不可发生改变

集合ArrayList

  • 集合是存放多个数据的容器,但是比数组更加方便,其容器的大小是可以随着元素个数的变化而变化
  • 集合可以方便数据的操作,添加,查找,修改,删除
  • 集合中只能存放对象类型
        //创建ArrayList对象
        //在声明的时候要明确集合中存放的是什么对象类型
        ArrayList<Student> list=new ArrayList<Student>();
        //add(E e) ,往集合中添加元素
        Student s1=new Student("jack",20,"男");
        list.add(s1);

        //get(int index)  取出集合中某一个元素
        Student s=list.get(1);
        System.out.println(s.getName()+","+s.getAge()+","+s.getSex());
        //size() 集合的元素个数
        System.out.println("该集合中有:"+list.size()+"个元素");
        
        //set(int index, E element)  修改集合中的某个元素
        Student ss=new Student("obama",40,"男");
        list.set(1,ss);
        s=list.get(1);
        System.out.println(s.getName()+","+s.getAge()+","+s.getSex());

        //remove(int index) 删除某个元素
        list.remove(1);
        
        //遍历集合中的所有元素
        for(int i=0;i<list.size();i++){
            Student stu=list.get(i);
            System.out.println(stu.getName()+"-->"+stu.getAge()+"-->"+stu.getSex());
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值