java数组(随堂笔记)

  1. 数组的理解:数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理;
  2. 数组相关的概念:
  • 数组名
  • 元素
  • 角标、下标、索引
  • 数组的长度:元素的个数
  1. 数组的特点
  • 数组是序排列的;
  • 数组属于引用数据类型的变量,数组的元素,既可以是基本数据类型,也可以是引用数据类型;
  • 创建数组对象会在内存中开辟一整块连续的空间;
  1. 数组的分类
  • 按照维数:一维数组、二维数组、多维数组;
  • 按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组;
  1. 写出一维数组初始化的两种方式;
int[] arr = new int[5];//动态初始化
String[] arr1 = new String[]("Tom","Jerry","Jim"); 静态初始化

数组一旦初始化,其长度就是确定的。arr.length

数组长度一旦确定确定,就不可修改;

  1. 写出二维数组初始化的两种方式;
int[][] arr = new int [4][3];//动态初始化1
int[][] arr1 = new int [4][];//动态初始化2

int[][] arr2 = nwe int[][]{{1,2,3},{4,5,6},{7,8,9}};//静态初始化
  1. 如何遍历如下的二维数组 ;
int[][] arr2 = nwe int[][]{{1,2,3},{4,5},{6,7,8}};

for(int i = 0; i < arr.length ; i++){
    for(int j = 0 ; j < arr[i].length ; j++){
        System.out.print(arr[i][j]+"\t");
    }
    System.out.println();
}
  1. 使用冒泡排序,实现如下的数组从小到大排序;
int[] arr = new int[]{34,5,-98,6,-76,0,-3}

for(int i = 0 ; i < arr.length-1 ; i++){
    for(int j = 0 ; j < arr.length-i-1 ; j++){
        if(arr[j]>arr[j+1]){
            int temp = arr[j];
            arr[j] = arr[j+1];
            a[j+1] = temp;
        }
    }
}
  1. 如何反转上面的数组,请代码实现;
int[] arr = new int[]{34,5,-98,6,-76,0,-3}

for(int i = 0 ; i < arr.length-1 ; i++){
    for(int j = 0 ; j < arr.length-i-1 ; j++){
        if(arr[j]<arr[j+1]){
            int temp = arr[j];
            arr[j] = arr[j+1];
            a[j+1] = temp;
        }
    }
}
  1. 使用线性查找,从上述数组中查找22是否存在。存在,返回所在位置的索引,不存在,输出错误信息;
int dest = 22;
boolean isFlag = true;
for(int i = 0 ; i < arr.length ; i++){
    if( dest == arr[i] ){
        System.out.print(i);
        break;
    }
    if(isFlag){
        System.out.print("未找到")}
}
  1. 数组中常见的异常有哪些?
  • ArrayIndexOutOfBoundsException:数组角标越界异常;

​ 合理范围:[ 0,arr.length-1 ];

​ 越界:arr[ -1 ],arr [ arr.length ];

  • NullPointerException:空指针异常;

    int [ ]arr = null;

    arr[0];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值