Java基础 数组+变量

1.数组

1.1概述

数组Array是用于储存多个相同类型数据的集合。
想要获取数组中的元素值,可以通过元素的下标来获取,下标是从0开始的。

1.2创建数组

一般分为静态初始化和动态初始化
动态初始化:int[] a = new int[5];
  1. 新建int[],长度是5
  2. 刚创建好的数组都是默认值0,int类型的数据默认值是0
  3. 把数组的地址值给变量a保存
静态初始化1:int[] a = {1,2,3,4,5};
静态初始化2:int[] a = new int[]{1,2,3,4,5};

1.3练习:数组中存入hello

public class Test{
       public static void main(String[] args) {
              System.out.println("test...");
              f1();
       }
       private static void f1() {
           int[] i = new int[]{1,2,3,4,5};
              System.out.println(Arrays.toString(i));
              char[] a = new char[5];
              a[0]='h';
              a[1]='e';
              a[2]='l';
              a[3]='l';
              a[4]='o';
              System.out.println(Arrays.toString(a));

       }  
}

数组的长度

  1. length属性获取数组长度
  2. 数组一旦创建,长度不可变
  3. 允许0长度的数组

1.4数组的遍历

1.4.1遍历数组,存入1到10

public class Test{
       public static void main(String[] args) {
              f1();
       }
     private static void f1() {
              int[] arr=new int[10];
              for (int i = 0; i < arr.length; i++) {
                     arr[i]=i+1;
             }
System.out.println(Arrays.toString(arr));
       }
}

1.4.2创建随机数组:获取100以内随机值的数组

public class t {
       public static void main(String[] args) {
              f();
     }
     private static void f() {
             int[] a = new int[5];
         for (int i = 0; i < a.length; i++) {
                     a[i]=1+new Random().nextInt(100);
              }
              System.out.println(Arrays.toString(a));
		}
}

1.5数组工具类Arrays

1.5.1Arrays.toString

把数组里的数据,用逗号连接成一个字符串。
格式:[12,35,56,75,36]

1.5.2Arrays.sort

对数组排序,对于基本类型的数组使用优化后的快速排序算法,效率高。
对引用类型数组,使用优化后的合并排序算法。

1.5.3Arrays.copyOf

把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并增加位置。–数组的扩容
新数组长度小于原数组,相当于截取前一部分数据。–数组的缩容

1.5.4 测试

int[] a = Arrays.copyOf(arr,10);//数组的复制,大于原来长度相当于扩容
System.out.println(Arrays.toString(a));//[12, 30, 20, 90, 34, 0, 0, 0, 0, 0]
System.out.println(a.length);//10       
int[] a2 = Arrays.copyOf(arr, 3);//数组的复制,小于原来长度相当于截取前几个数据
System.out.println(Arrays.toString(a2));//[12, 30, 20]
System.out.println(a2.length);//10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值