Java学习第一阶段05

Java学习第一阶段

数组:是一种数据类型(引用类型),相同数据类型元素的集合
  1. 定义

    //声明一个整型数组,长度为10
            int[] arr = new int[10];
    
  2. 初始化

    • 静态声明

      int[] arr = {1,2,3,4,5};//在声明的同时赋值(初始化)
      int[] arr = new int[]{1,2,3,4,5};
      
    • 动态声明

      int[] arr = new int[5];//先声明,在赋值
          arr[0] = 1;//下标从0开始
          arr[1] = 2;
          arr[2] = 3;
          arr[3] = 4;
          arr[4] = 5;
      
  3. 访问:访问的是数组中的元素

    • 通过数组名.length来获取数组的长度(元素的个数)

      int[] arr = new int[]{1,2,3,4,5};
              System.out.println(arr.length);//5
      
    • 通过数组下标来访问数组的元素

      int[] arr = new int[5];
             arr[0] = 1;
             arr[1] = 2;
             arr[2] = 3;
             arr[3] = 4;
             arr[4] = 5;
              System.out.println(arr.length-1);//输出数组最后一个元素的值
      
  4. 遍历:通过循环(三种皆可,一般用for)从头到尾挨个走一遍

    int[] arr = new int[10];
            for (int i = 0; i < arr.length; i++) {
                arr[i] = i;//把每个元素的下标赋值给它
            }
    

    补充数组元素的默认值:整形:0;浮点型:0.0;布尔型:false;字符串型(引用类型):null

    异常:ArrayIndexOutOfBoundsException:数组下标越界异常

    数组元素下标从0到长度减一,超出则报异常

  5. 数组的复制与扩容

    • 复制

      int[] arr = new int[10];
              for (int i = 0; i < arr.length; i++) {
                  arr[i] = i;//把每个元素的下标赋值给它
              }
              int[] b = new int[8];
              System.arraycopy(arr,4,b,0,5);
      System.out.println(Arrays.toString(b));//打印b数组
      //[4, 5, 6, 7, 8, 0, 0, 0]
      
      //arraycopy(arr,4,b,0,5);
      //第一个元素:arr  代表原数组
      //第二个元素:4    代表原数组下标,意为从这个下标代表的元素开始复制
      //第三个元素:b    代表目标数组
      //第四个元素:0    代表目标数组下标,意为在这个下标代表的元素开始复制
      //第五个元素:5    复制长度如上例长度为5,即4,5,6,7,8五个元素 如果长度超过目标数组
      //ArrayIndexOutOfBoundsException:数组下标越界异常
      
      
      int[] arr = new int[10];
              for (int i = 0; i < arr.length; i++) {
                  arr[i] = i;//把每个元素的下标赋值给它
              }
       int[] b = Arrays.copyOf(arr,8);//把arr从第一个元素开始,以目标长度8为界,复制为b数组
              System.out.println(Arrays.toString(b));
      //和第一种比,好处为不会报异常,但是不够灵活
      
      
      
    • 扩容

      int[] arr = new int[10];
      for (int i = 0; i < arr.length; i++) {
                  arr[i] = i;//把每个元素的下标赋值给它
              }
      arr = Arrays.copyOf(arr,arr.length+1);//创建了一个新数组,长度为原长度加一(数组一旦创建不能改变)
      
  6. 数组的排序

    Arrays.sort(arr);//系统自带排序,默认为升序(从小到大)
    
扫描器:scanner的使用
  1. 导入扫描仪import java.util.Scanner;
  2. 新建一个扫描仪叫scan Scanner scan = new Scanner(System.in);
  3. 用扫描仪扫描一个整数赋值给age int age = scan.nextInt();
  4. 一般会关掉扫描仪scan.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值