🌟【开篇暴击】🌟
"为什么变量只能当单身狗?数组表示不服!"
——某数组对象在内存中发出群体抗议
本掌门今日解锁Java世界的集体宿舍管理秘籍!让你轻松拿捏这群"抱团取暖"的数据小妖精!
🚀 第一重:数组の诞生——程序员的集体宿舍
▌ 开天辟地の声明方式
// 方式一:先画蓝图再盖楼int[] 鸽子窝; // 声明一个int数组变量鸽子窝 = new int[5]; // 盖5个格子的小平房// 方式二:拎包入住豪华版String[] 菜鸟驿站 = {"快递1", "快递2", "快递3"};// 方式三:禁忌のC语言遗风(不推荐!)double 工资池[] = new double[12]; // 能把Java祖师爷气活
💡冷知识:
数组下标从0开始!就像宿舍门牌001-999的强迫症房东
new
关键字是向JVM申请内存的"征地申请书"
🔨 第二重:核心操作六连击——从青铜到王者
▌ 查水表(访问元素)
int[] 成绩单 = {90, 85, 59};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(成绩单, 1, 3); // 偷梁换柱大法
▌ 论资排辈(数组排序)
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; // 在十维宇宙中标记地球(中二病晚期)
🚨避坑指南:数组の十大酷刑
越界之刑
int[] arr = new int[3];System.out.println(arr[3]); // 触发ArrayIndexOutOfBoundsException
空指针之刑
int[] 幽灵数组 = null;System.out.println(幽灵数组[0]); // NullPointerException警告!
长度不变の诅咒
int[] arr = {1,2,3};arr.length = 5; // 编译报错!数组长度从一而终
🌈神兵利器:Arrays工具类の七种武器
toString()
:把数组变成可读字符串
System.out.println(Arrays.toString(成绩单)); // [59, 60, 90]
fill()
:批量填充工具
Arrays.fill(成绩单, 100); // 全员满分の白日梦
equals()
:数组比较
Arrays.equals(arr1, arr2); // 深度比较每个元素
stream()
:Java8炫技操作
Arrays.stream(成绩单).filter(score -> score > 60).forEach(System.out::println); // 学渣过滤术
🎮 课后作业:
创建一个长度为7的数组,存储一周奶茶消费金额
找出最贵的那杯奶茶(使用循环和if判断)
计算一周奶茶总支出(禁止用计算器!)
(提交作业可解锁隐藏章节:《对象数组の修罗场》)
文章转载自让天下没有难学的编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




