须知少时凌云志,曾许人间第一流

坚持!

敲了几天记事本 换个idea  JDK1.8最好   IDEA  版本自己随意   我放个路径你们可以参考
        https://blog.csdn.net/zxy15974062965/article/details/121824561?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164588400016780271948134%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164588400016780271948134&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-9-121824561.pc_search_result_cache&utm_term=IDEA%E7%A0%B4%E8%A7%A3%E7%89%88%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187
        网址是真的长
        安装好了 就开始今天的
        数组
        数组是什么?
        数组是一个容器,用来存储同种数据得值,需要结合数据类型来考虑,变量之能存储一个数据
        定义数组格式
        格式一:数据类型[] 变量名
        范例:int[] array
        格式二:数据类型 数据名[]
        int array[]
        //array 为数组得英文  起变量名应该遵循见名知义
        int  array;
        System.out.printIn(array);//错误,虽然定义了一个数组 ,但也仅仅是一个数组类型得变量,数组没有进行初始化这就是错误原因
        
        数组的动态初始化
        Java中的数组必须先初始化然后使用
        所谓初始化:就是在内存中,为数组开辟空间,并将数据存入容器中的过程
        动态初始化:初始化时只指定数组长度,有系统默认分配初始值
        格式:数据类型[] 变量名=new 数据类型[数组长度];
        范例: int[]  array=new int[9];//9可以是任意数字 除了负数
        得到结果为:System.out.println(array);  =>>[I@299a06ac  内存地址  这个变量就是村内存得地址  @就是分隔符  [:表示当前空间是一个数组类型   I:就是当前数据得数据类型   299a06ac:十六进制内存地址
        数据得访问
        访问数组得内存地址:System.out.println(数组名);格式:数组名
        数组内部保存得数据得访问方式
        格式:数组名[索引]
        索引:数组容器中得空间编号 特征1:索引从0开始  特征2:索引是连续得  特征3:索引逐一增加,每次加一。
        作用:访问数组容器中得空间位置
         int[] arr=new int[3];
        System.out.println(arr);  //数组得内存地址
        System.out.println(arr[0]);  //0  系统分配得初始化值
        System.out.println(arr[1]);  //0  系统分配得初始化值
        System.out.println(arr[2]);  //0  系统分配得初始化值
        即使没有赋值,也可以取出,取出得数据都是默认初始化值
        int[] arr=new int[3];
        arr[0]=11;
        arr[1]=22;
        arr[2]=33;
        System.out.println(arr);  //数组得内存地址
        System.out.println(arr[0]);  //11  咋门添加得值
        System.out.println(arr[1]);  //22  添加得值
        System.out.println(arr[2]);  //33
        注意事项:数组访问得索引不可以大于等于所赋长度,否则会爆出索引越界  例如我上边定义得数组元素为3  就只有0,1,2 ,3得话就会报错
        对数组了解得透一点就要了解java内存分配了
        Java程序运行时,需要在内存中分配空间,为了提高效率,就对空间进行了不同区域得划分,每一篇区域都有特定的处理数据方式和内存管理方式
        Java内存分为五块
        栈内存:方法运行时,进入的内存,局部变量都存放于这块内存当中
        堆内存:new出来的内容都会进入堆内存,并且会存在地址值
        方法区:字节码文件(.class)加载时进入的内存
        本地方法栈:调用操作系统相关资源
        寄存器:交给CPU去使用的
        至于太详细的我不太明白  你们可以自行去搜索一下
        :https://blog.csdn.net/lin20044140410/article/details/79060053?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164588781716781685324303%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164588781716781685324303&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-79060053.pc_search_result_cache&utm_term=java%E5%86%85%E5%AD%98%E5%88%86%E9%85%8D&spm=1018.2226.3001.4187
        整数类型数组默认值:0
        浮点数数组默认值:0.0
        布尔类型数组默认值:false
        字符类型数组默认值:空字符
        引用数据类型数组默认值:null
        可以自行尝试去写代码测试一下
        两个数组操作同一个地址值的时候  第二个索引的值会覆盖第一个索引的值
        int arr1=new int[2];
        arr1[0]=11;
        arr1[1]=22;
        int[] arr2=arr1;
        arr2[0]=33;
        System.out.println(arr1[0]);//33
        System.out.println(arr1[1]);//22
        System.out.println(arr2[0]);//33
        System.out.println(arr2[1]);//22
        静态初始化数组:初始化时,就可以指定数组要存储的元素,系统还会自动计算出该数组长度
        格式:数据类型[] 变量名= new 数据类型[]{数据1,数据2,数据3,....};
        范例:int[] array=new int[]{1,2,3};
        简化格式:数据类型[] 变量名={数据1,数据2,数据3,....};
        范例:int[] array={1,2,3};
        int[] arr1=new int[]{1,2,3,4};
        System.out.println(arr1);
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);
        System.out.println(arr1[3]);
        int[] arr={1,2,3};//省略了new  但还是会开辟一个内存空间
        System.out.println(arr);
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        使用场景:
        动态初始化:只确定元素个数不明确元素值
        静态初始化:需求中确定了明确的值
        空指针异常:null值赋给了堆内存的空间  意思就是访问的数组已经不再只想堆内存的数据,造成空指针异常
        null值:空值,引用数据类型默认值,表示不知想任何有效对象
        数组的常见操作
        获取最大值
        定义一个变量 用于保存最大值(或最小值)
        取数组中第一个数据作为变量的初始值
        于数组中剩余的个数逐个对比
         int[] arr={1,2,3,4,5,6,7,8,9};
        int max=arr[0];
        for (int i = 0; i < arr.length; i++) {
            if (max<arr[i]){
                max=arr[i];
            }
        }
        System.out.println(max);
        数组元素求和  
        需求:键盘录入的五个数据,并进行求和
         Scanner sc=new Scanner(System.in);
        System.out.println("请输入五个数");
        int[] arr=new int[5];
        int  sum=0;
        for (int i = 0; i < arr.length; i++) {
            arr[i]=sc.nextInt();
        }
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        System.out.println(sum);
        简化版:
         Scanner sc=new Scanner(System.in);
        System.out.println("请输入五个数");
        int[] arr=new int[5];
        int  sum=0;
        for (int i = 0; i < arr.length; i++) {
            arr[i]=sc.nextInt();
            sum+=arr[i];
        }
        
        System.out.println(sum);
        数组的基本查找
        需求:一个数组array={1,2,3,4,5,6,7},键盘录入一个数据,查找该数据在数组中的索引,并在控制台输出找到索引
        代码:
        Scanner sc=new Scanner(System.in);;
        System.out.println("请输入一个数据");
        int[] arr={1,2,3,4,5,6,7};
        int a = sc.nextInt();
        //定义一个不存在的索引 默认为-1
        int index=-1;
        for (int i = 0; i < arr.length; i++) {
            if (a==arr[i]){
                index=i;
                break;
            }
        }
        System.out.println(index);
        
        案例:
        在比赛中,有五个评委给选手打分,分数为0-10的整数  选手总得分为,去掉最大值,去掉最小值,剩余三个评委的平均值
        明天附答案

加油加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值