暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Java萌新修炼手册⑤:数组の千层套路——从"鸽子笼"到"摩天楼"的进阶之路!

🌟【开篇暴击】🌟
"为什么变量只能当单身狗?数组表示不服!"
——某数组对象在内存中发出群体抗议

本掌门今日解锁Java世界的集体宿舍管理秘籍!让你轻松拿捏这群"抱团取暖"的数据小妖精!


🚀 第一重:数组の诞生——程序员的集体宿舍

▌ 开天辟地の声明方式

    // 方式一:先画蓝图再盖楼  
    int[] 鸽子窝;          // 声明一个int数组变量  
    鸽子窝 = new int[5];    // 盖5个格子的小平房  
    // 方式二:拎包入住豪华版  
    String[] 菜鸟驿站 = {"快递1""快递2""快递3"};  
    // 方式三:禁忌のC语言遗风(不推荐!)  
    double 工资池[] = new double[12]; // 能把Java祖师爷气活

    💡冷知识

    • 数组下标从0开始!就像宿舍门牌001-999的强迫症房东

    • new
      关键字是向JVM申请内存的"征地申请书"


    🔨 第二重:核心操作六连击——从青铜到王者

    ▌ 查水表(访问元素)

      int[] 成绩单 = {908559};  
      System.out.println(成绩单[0]); // 输出90(学渣颤抖吧!)  
      成绩单[2] = 60;              // 老师の仁慈补分

      ▌ 人口普查(获取长度)

        System.out.println("宿舍容量:" + 成绩单.length); // 不是length()!

        ▌ 全员体检(遍历数组)

          // 传统老中医把脉式  
          for(int i=0; i<成绩单.length; i++){  
              System.out.println("第"+(i+1)+"位:"+成绩单[i]);  
          }  
          // 现代CT扫描仪(增强for循环)  
          for(int score : 成绩单){  
              System.out.println("扫描结果:" + score);  
          }  

          ▌ 乾坤大挪移(数组复制)

            int[] 备份 = Arrays.copyOf(成绩单, 成绩单.length); // 安全の克隆术  
            int[] 截取 = Arrays.copyOfRange(成绩单, 13);   // 偷梁换柱大法

            ▌ 论资排辈(数组排序)

              Arrays.sort(成绩单); // 学渣の噩梦排序  
              // 输出结果:59, 60, 90(突然泪目)

              ▌ 查无此人(元素搜索)

                int 位置 = Arrays.binarySearch(成绩单, 85);  
                // 返回-1表示:您要找的元素在逃逸中

                🏗️ 第三重:多维数组——程序员的乐高世界

                ▌ 二维数组:Excel表格の代码版

                  // 声明一个3行4列的修仙门派登记表  
                  String[][] 门派花名册 = new String[3][4];  
                  // 塞入数据(九宫格填字游戏)  
                  门派花名册[0] = {"张无忌""男""明教""135xxxx"};  
                  门派花名册[1][2] = "武当派";  // 单独修改某个格子

                  ▌ 三维数组:盗梦空间既视感

                    int[][][] 宇宙坐标 = new int[10][10][10];  
                    宇宙坐标[5][5][5] = 1// 在十维宇宙中标记地球(中二病晚期)

                    🚨避坑指南:数组の十大酷刑

                    1. 越界之刑

                      int[] arr = new int[3];  
                      System.out.println(arr[3]); // 触发ArrayIndexOutOfBoundsException
                      1. 空指针之刑

                        int[] 幽灵数组 = null;  
                        System.out.println(幽灵数组[0]); // NullPointerException警告!
                        1. 长度不变の诅咒

                          int[] arr = {1,2,3};  
                          arr.length = 5; // 编译报错!数组长度从一而终

                          🌈神兵利器:Arrays工具类の七种武器

                          1. toString()
                            :把数组变成可读字符串

                            System.out.println(Arrays.toString(成绩单)); // [59, 60, 90]
                            1. fill()
                              :批量填充工具

                              Arrays.fill(成绩单, 100); // 全员满分の白日梦
                              1. equals()
                                :数组比较

                                Arrays.equals(arr1, arr2); // 深度比较每个元素
                                1. stream()
                                  :Java8炫技操作

                                  Arrays.stream(成绩单)  
                                       .filter(score -> score > 60)  
                                       .forEach(System.out::println); // 学渣过滤术

                                  🎮 课后作业:

                                  1. 创建一个长度为7的数组,存储一周奶茶消费金额

                                  2. 找出最贵的那杯奶茶(使用循环和if判断)

                                  3. 计算一周奶茶总支出(禁止用计算器!)

                                  (提交作业可解锁隐藏章节:《对象数组の修罗场》)


                                  文章转载自让天下没有难学的编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                  评论