JAVA数组

数组概述:

1.数组的定义

数组是一个容器,用来存储一批同种类型的数据。

静态初始化数组,数组的访问

数组的存储原理:

数组的访问:

数组的遍历:

或者用:


    public static void main (String[] args) {
        int[] arrays = {1,2,3,4,5};
        //arrays代表的是一个数组,nt array代表的是每个数组里面的每一个元素,但是取不到下标。
        for (int array: arrays){
            System.out.println(array);
        }
    }

动态初始化数组:

案例:

初始化默认规则:

静态动态区别:

案例:

代码:

package javaa.array;

import java.util.Scanner;

public class arraydemo1 {
    public static void main(String[] args) {
        double Averagescore=0.0;
        double add=0.0;
        double[] array= new double[8];
        for(int i=0;i<8;i++)
        {
            Scanner scanner=new Scanner(System.in);
           System.out.println("第" + i + "位评委打分:");
            double score = scanner.nextDouble();
            add=add+score;
        }
       Averagescore=add/8;
      System.out.println("平均分为" + Averagescore);
    }
}

JAVA内存分布介绍:

数组在计算机中执行原理:

问题总结:

多个变量指向同一个数组时:

数组案例:

案例一:

冒泡排序,升序

package javaa.array;

import java.util.Arrays;

public class array {
    public static void main(String[] args) {
        int[] a ={4,5,22,4,0,6,2,8};
        //调用完我们自己写的排序方法以后返回一个排序后的数组
        int[] test= test(a);
        System.out.println(Arrays.toString(test));
        }
            /*
        冒泡排序:
        1.比较数组中两个相邻的元素,如果第一个比第二个大就交换这两个数之间的顺序。
        2.每一次比较都会产生一个最大的数或者是最小的数。
        3.下一轮则可以少一轮排序。
        4.一次循环,直到结束。
         */
        public static int[] test(int[] arrays){
            int temp = 0;
            //外层循环,判断我们要走多少次
            for (int i = 0; i <arrays.length-1 ; i++) {
                //通过标识为减少不必要的循环
                boolean flag = false;
                //内层循环,比较数组中两个相邻的元素,如果第一个比第二个大就交换这两个数之间的顺序。
                for (int j = 0; j < arrays.length-1; j++) {
                    if (arrays[j+1]<arrays[j]){
                        //需要建立临时变量,进行三变量倒手
                        temp = arrays[j];
                        arrays[j]= arrays[j+1];
                        arrays[j+1]=temp;
                        flag = true;
                    }
                }
                if (flag=false){
                    break;
                }
            }
            return arrays;
        }

}

案例二:

package javaa.array;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class arraydemo2 {
    public static void main(String[] args) {
        int[] arr=new int[5];
        for(int i=0;i<arr.length;i++)
        {
            System.out.print("请输入第"+ i + "位的排名:\n");
            Scanner scanner=new Scanner(System.in);
            arr[i]=scanner.nextInt();
        }
        Random r =new Random();
        for (int i=0;i<arr.length;i++)
        {
            int c = r.nextInt(arr.length);
            int d = arr[i];
            arr[i]=arr[c];
            arr[c]=d;
        }
        System.out.println(Arrays.toString(arr));

    }



}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值