Java开发——4.数组

简介: 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。

数组:

数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。


格式一:

数据类型[] 数组名;

示例:

int[] arr;        

double[] arr;      

char[] arr;


格式二:

数据类型数组名[];

示例:

intarr[];

doublearr[];

chararr[];


动态数组初始化:

数组动态初始化就是只给定数组的长度,由系统给出默认初始化

int[] arr=newint[3];
System.out.println(arr);//[I@1540e19d//访问数组元素格式System.out.println(arr[0]);//0System.out.println(arr[1]);//0System.out.println(arr[2]);//0



静态数组初始化:

在创建数组时,直接将元素确定,由系统计算出数组的长度。

标准定义格式:

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};


简写定义格式:

数据类型[] 数组名 ={元素1,元素2,...};


publicclassArrayDemo {
publicstaticvoidmain(String[] args) {
//定义数组int[] arr= {1, 2, 3};
//输出数组名System.out.println(arr);
//输出数组中的元素System.out.println(arr[0]);//1System.out.println(arr[1]);//2System.out.println(arr[2]);//3      }
  }


数据元素的访问——索引:


每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。

这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。


publicclassArrayDemo {
publicstaticvoidmain(String[] args) {
int[] arr=newint[3];
//输出数组名System.out.println(arr); //此处输出的是:数组名的地址值[I@880ec60//输出数组中的元素//数组名[索引值]System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
    }
}


遍历输出数组中的内容:


//普通的遍历的形式publicclassArrayTest01 {
publicstaticvoidmain(String[] args) {
int[] arr= { 1, 2, 3, 4, 5 };
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
  }
}
//利用循环进行数组遍历,注意数组下标是从0开始的,所以最大索引值为 数组长度-1//数组的最大长度可以用 数组名.length 获取数组的最大长度publicclassArrayTest01 {
publicstaticvoidmain(String[] args) {
//定义数组int[] arr= {11, 22, 33, 44, 55};
//使用通用的遍历格式for(intx=0; x<arr.length; x++) {
System.out.println(arr[x]);
        }
    }
}


案例:实现数组中的内容对称:

原数组:{1,2,3,4,5}


对称后:{5,4,3,2,1}

注:中间的数不变,下标为0的位置与下标为length-1位置的数值进行互换;

下标为1的位置与下标为length-2位置的数值进行互换...


publicclassDemo{
publicstaticvoidmain(String[] args) {
int[] arr= {1,2,3,4,5};
for(intx=0;x<arr.length/2;x++){
inttemp=arr[x];
arr[x] =arr[arr.length-1-x];
arr[arr.length-1-x] =temp;
    }
//输出反转后的数组for(intx=0;x<arr.length;x++){
if(x==arr.length-1){
System.out.println(arr[x]);
        }else{
System.out.print(arr[x]+",");
        }
    }
  }
}


二维数组


二维数组其实就是这个二维数组中有 多少个 一维数组。

格式一:

数据类型[][] 变量名 = new 数据类型[m][n];

m表示这个二维数组有多少个一维数组

n表示每一个一维数组的元素个数


格式二:

数据类型[][] 变量名 = new 数据类型[m][];

m表示这个二维数组有多少个一维数组
这一次没有直接给出一维数组的元素个数,可以动态的给出


格式三:

标准版:

数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};

简化版:

数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};


例子:

简化版:int[][] arr =  { {1,2,3} , {4,5} , {6} };


遍历二维数组:


publicclassArrayCase {
publicstaticvoidmain(String[] args) {
// 定义二维数组int[][] arr= {{22, 66, 44}, {77, 33, 88}, {25, 45, 65}};
//遍历第一个一维数组for(intx=0; x<arr[0].length; x++){
System.out.println(arr[0][x]);
        }
System.out.println("=====================");
//遍历第二个一维数组for(intx=0; x<arr[1].length; x++){
System.out.println(arr[1][x]);
        }
System.out.println("=====================");
//遍历第三个一维数组for(intx=0; x<arr[2].length; x++){
System.out.println(arr[2][x]);
        }
System.out.println("=====================");
//用户循环改进yfor (inty=0; y<arr.length ; y++) {
for(intx=0; x<arr[y].length; x++){
System.out.println(arr[y][x]);
            }
System.out.println();
        }
    }
}


相关文章
|
2天前
|
Java 数据安全/隐私保护 Spring
Java 中 Spring Boot 框架下的 Email 开发
Java 中 Spring Boot 框架下的 Email 开发
28 2
|
17小时前
|
XML 监控 Dubbo
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
|
21小时前
|
存储 Java 测试技术
滚雪球学Java(32):如何理解和实现稀疏数组
【5月更文挑战第7天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
8 1
滚雪球学Java(32):如何理解和实现稀疏数组
|
1天前
|
IDE Java 程序员
Java程序员必备的21个核心技术,你都掌握了哪些?,深入浅出Java开发
Java程序员必备的21个核心技术,你都掌握了哪些?,深入浅出Java开发
|
2天前
|
搜索推荐 算法 Java
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
【5月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
11 0
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
|
2天前
|
存储 Java
滚雪球学Java(28):轻松掌握数组:访问和遍历技巧
【5月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
11 2
滚雪球学Java(28):轻松掌握数组:访问和遍历技巧
|
2天前
|
存储 Java 索引
【Java开发指南 | 第十六篇】Java数组及Arrays类
【Java开发指南 | 第十六篇】Java数组及Arrays类
10 3
|
2天前
|
存储 算法 搜索推荐
滚雪球学Java(27):从零开始学习数组:定义和初始化
【5月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
10 3
|
2天前
|
Java 索引
Java中数组详解
Java中数组详解
45 19
|
2天前
|
Java
解析java中的数组
解析java中的数组
15 3