java中数组的定义和使用

数组的本质:一串连续的的内存空间。

数组的第一种定义语法:

数据类型[] 数组名 = new 数据类型[整数];

整数:数组的长度

我们通过数组的变量名(数组的整地址)加上数组的下标或者索引可以对数组的每一个值进行操作

获得数组的长度使用数组的属性lenth

例如:

public static void main(String[] args) {
    //定义一个5个长度整数类型的数组
  int[] arr = new int[5];
    System.out.println(arr[0]);
    System.out.println(arr[1]);
    System.out.println(arr[2]);
    System.out.println(arr[3]);
    System.out.println(arr[4]);
    //给每一项存值
    arr[0] = 10;
    arr[1] = 20;
    arr[2] = 30;
    arr[3] = 40;
    arr[4] = 50;
    //输出每一项
    System.out.println(arr[0]);
    System.out.println(arr[1]);
    System.out.println(arr[2]);
    System.out.println(arr[3]);
    System.out.println(arr[4]);
    //获得数组的长度
    int length = arr.length;
    System.out.println("数组的长度是:" + length);
}

结果:

我们通过数组的下标来操作数组,如果你超出下标,就会报下标越界的错误

数组的第二种定义语法:

数据类型[] 数组变量名 = {值1,值2,....}

例如:

public static void main(String[] args) {
//数组的长度由value的数量来决定
  int[] arr = {20,30,40,50};
  System.out.println("数组的长度" + arr.length);

  //用循环遍历数组里所有的数据
  for (int i = 0;i<arr.length;i++){
      System.out.println(arr[i]);
  }
}

结果是:

数组的第三种定义语法:

数据类型[] 数组变量名 = new 数据类型[]{值1,值2,值3,....}

例如:

public static void main(String[] args) {
    //定义一个字符类型的数组
char[] arr = new char[]{'a','b','c'};
  //用循环遍历数组里所有的数据
  for (int i = 0;i<arr.length;i++){
      System.out.println(arr[i]);
  }
}

结果:

案例1:计算方差

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入5个数");
    int a = sc.nextInt();
    int b = sc.nextInt();
    int c = sc.nextInt();
    int d = sc.nextInt();
    int e = sc.nextInt();
    double sum = (a+b+c+d+e)/5;
    double avg = 0;
    avg+= (a-sum)*(a-sum);
    avg+= (b-sum)*(b-sum);
    avg+= (c-sum)*(c-sum);
    avg+= (d-sum)*(d-sum);
    avg+= (e-sum)*(e-sum);
    avg = avg/5;
    System.out.println(avg);

}

这种方法十分死板,如果是十个数,一百个数,定义的变量会特别的多,代码会一直的重复。

案例2:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int[]a = new int[5];
    int sum = 0;

  for (int i = 0;i<a.length;i++){
      a[i] = sc.nextInt();
        sum+=a[i];
  }

  double avg = sum/5;
    double vari = 0;
    for (int i =0;i<a.length;i++){
        vari +=((a[i]-avg)*(a[i]-avg));
    }

    vari = vari/5;
    System.out.println(vari);
}

数组和循环的配合,可以使解题方法更为灵活,且不需要定义过多的变量。

 

二维数组:二维数组就是集合中套集合。

数据类型[][] 数组名 = new 数据类型[整数][]

二维数组的第一维必须指定

注意:必须明确外围数组名

数据类型[][] 数组名 = {{值1,值2,值3},{值4,值5,值6},.....}

例子:

int[][] array = new int[3][4];

int[][] arr = {{1,2,3},{4,5,6},{7,8,9},.....}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值