java数组如何使用以及方法

数组

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

  • 案例1
public static void main(String[] args) {
        System.out.println("请输入五个整数");
        Scanner scanner = new Scanner(System.in);
        int n1 = scanner.nextInt();
        int n2 = scanner.nextInt();
        int n3 = scanner.nextInt();
        int n4 = scanner.nextInt();
        int n5 = scanner.nextInt();

        double avg = (n1+n2+n3+n4+n5)/5;
        double vari = 0;
        vari += (n1-avg)*(n1-avg);
        vari += (n2-avg)*(n2-avg);
        vari += (n3-avg)*(n3-avg);
        vari += (n4-avg)*(n4-avg);
        vari += (n5-avg)*(n5-avg);
        vari = vari/5;
    }

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

  • 案例2:

      

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

        int sum =0;
        for (int i = 0;i<a.length;i++){
        a[i] = scanner.nextInt();
        sum += a[i];
        }
        double avg = sum/5.0;
        int vari = 0;
        for (int i = 0;i<a.length;i++){
        vari += (a[i] -avg)*(a[i]-avg);
         }
        vari = vari/5;
        System.out.println("方差是"+vari);
    }

}

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


数组的遍历

数组的遍历:访问到数组中的每一个元素,并且可以对每一个元素进行一系列的操作:

方法一:
package 课件案例;

 public static void main(String[] args) {
 int[] a = {2,4,6,8,10};

 for (int i =0;i<a.length;i++){
 System.out.printf(a[i]+"");
        }
    }

数组的遍历 foreach方法二:

 for (int i : a){
 System.out.printf(i+"");
  }
  

方法二可以不用去理解。他就相当于方法一的简化写法,但是两者有一定的区别,方法一可以控制遍历的区间和步长,而方法二只能将所有的元素都进行遍历。

 常见的查找方法:

1.顺序查找,也就是按顺序一位一位的查找。

  public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  int num = sc.nextInt();
  int[] arr = {2, 4, 6, 8, 10, 12, 14, 16};
  int index = find(arr,num);
  if (index == -1){
  System.out.println("找不到");
   }else {
  System.out.println(index);
   }
    }

    /**
     * 查找数组中的下标
     * @param arr
     * @param num
     * @return
     */
    public static int find(int[] arr, int num) {
    int count = 0;
    for (int i : arr) {
    if (i == num) {
    return  count;
     }
     count++;
      }
     return -1;
    } 

 弊端:数据量大的时候。在最差的情况 下。计算机的负载也非常的大,效率低。

折半查找:(二分查找):优化了查找的效率。

 数组的排序

方法一:冒泡排序

方法二:选择排序

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值