温州优化网站方法,福建建设信息网站监理企业招聘,制作游戏的平台,工业和信息化部发短信什么意思一、简介描述#xff1a;数组是相同类型数据的有序集合。其中,每一个数据称作一个数组元素#xff0c;每个数组元素可以通过一个下标来访问它们。基本特点#xff1a;数组的长度是确定的。数组一旦被创建#xff0c;它的大小就是不可以改变的。数组元素必须是相同类型…一、简介描述数组是相同类型数据的有序集合。其中,每一个数据称作一个数组元素每个数组元素可以通过一个下标来访问它们。基本特点数组的长度是确定的。数组一旦被创建它的大小就是不可以改变的。数组元素必须是相同类型不允许出现混合类型。数组中的元素可以是任何数据类型包括基本类型和引用类型。数组变量属引用类型数组也可以看成是对象数组中的每个元素相当于该对象的成员变量。数组本身就是对象Java中对象是在堆中的因此数组无论保存基本数据类型还是其他对象类型数组对象本身是在堆中的。二、声明数组语法/* 第一种中括号在数据类型后 */elementType[] arrayVarName/* 第二种中括号在变量名后 */elementType arrayVarName[]描述首先必须声明数组类型的变量才能自如地在程序中使用数组对象。Java中声明数组变量的方式有两种一种中括号在数据类型后另一种中括号在变量名后。注意声明数组变量时开头的数据类型(不带中括号)代表数组中元素的数据类型。声明数组变量的第二种中括号在变量名后的方式来自C/C语言的风格是为了方便C/C程序员在学习Java时能更快上手不建议使用。声明数组的时候并有数组被真正的创建没有实例化任何对象。声明数组时不能指定其长度(数组中元素的个数)只有在创建数组对象时JVM才分配空间这时才与长度有关。示例/* 推荐使用 */int[] intArr1;/* 不建议使用 */int intArr2[];三、创建数组语法动态初始化new elementType[arrayLength]静态初始化{firstElementValue, secondElementValue, thirdElementValue...}描述创建数组有两种方式动态初始化和静态初始化。创建一个数组时必须指定数组的长度动态初始化时在中括号中指定静态初始化时数组长度为大括号中元素的个数。使用动态初始化创建数组对象时会先指定数组的长度并对元素进行默认初始化。使用静态初始化创建数组对象时不仅会指定数组长度和对元素进行默认初始化还会对所有元素赋值。注意数组是引用类型它的元素相当于类的实例变量因此数组一经分配空间其中的每个元素也被按照实例变量同样的方式被隐式初始化。示例/* 动态初始化 */new int[5];/* 静态初始化 */{1, 2, 3, 4, 5};四、使用数组Ⅰ、声明并创建语法/* 声明数组变量并动态初始化 */elementType[] arrayVarName new elementType[arrayLength];/* 声明数组变量并静态初始化 */elementType[] arrayVarName {firstElementValue, secondElementValue, thirdElementValue...};描述数组变量的声明和创建数组可以用一条语句完成通常我们也会这样来多次操作一个数组对象。示例/* 声明数组变量并动态初始化 */int[] intArr1 new int[5];/* 声明数组变量并静态初始化 */int[] intArr2 {1, 2, 3, 4, 5};Ⅱ、数组长度语法arrayObject.length描述数组长度可以通过数组对象直接获得语法如上所示。数组长度在数组对象创建时指定数组对象创建后该数组对象的长度不会改变。示例int[] intArr {1, 2, 3, 4, 5};System.out.println(intArr.length);//5Ⅲ、数组下标语法arrayObject[elementIndex]描述数组的元素是通过下标(索引)访问的。数组下标从0开始总下标个数为数组长度所以下标值依次为从零到数组长度减壹0 ~ arrayObject.length-1注意数组对象的下标在使用时如果下标数值越界例如小于零或者超过数组长度减壹就会报错ArrayIndexOutOfBoundsException(数组下标越界异常)。示例int[] intArr {1, 2, 3, 4, 5};System.out.println(intArr[1]);//2Ⅳ、循环结构遍历数组语法for循环for (int i 0; i arrayObject.length; i) {/* 使用arrayObject[i]遍历操作数组元素 */}foreach循环for (elementType elementVarName : arrayObject) {/* 使用elementVarName遍历操作数组元素 */}描述数组的元素类型和数组的大小都是确定的所以当处理数组元素时候我们通常使用for循环或者foreach循环(增强型for循环)。foreach循环能在不使用下标的情况下遍历数组。示例/* 运行结果为在控制台依次输出1 2 3 4 5 1 2 3 4 5 */public static void main(String[] args) {int[] intArr {1, 2, 3, 4, 5};/* for循环遍历数组 */for (int i 0; i intArr.length; i) {System.out.println(intArr[i]);}/* foreach循环遍历数组 */for (int element : intArr) {System.out.println(element);}}五、二维数组语法声明innerElementType[][] arrayVarName创建/* 动态初始化二维数组 */new elementType[outerArrayLength][innerArrayLength]/* 静态初始化二维数组 */{{innerFirstElementValue, innerSecondElementValue, innerThirdElementValue...},{innerFirstElementValue, innerSecondElementValue, innerThirdElementValue...},{innerFirstElementValue, innerSecondElementValue, innerThirdElementValue...}...}数组长度/* 获取外层数组长度 */arrayObject.length/* 获取指定外层数组下标的内层数组长度 */arrayObject[outerIndex].length数组下标/* 获取指定外层数组下标的元素(一个内层数组) */arrayObject[outerIndex]/* 获取指定外层数组下标的内层数组的指定内层数组下标的元素 */arrayObject[outerIndex][innerIndex]描述二维以上多维数组的语法根据二维数组的语法类推。多维数组可以看成是数组的数组比如二维数组就是一个特殊的一维数组其每一个元素都是一个一维数组。示例/* 运行结果为在控制台依次输出1 2 2 3 3 4 4 5 5 6 */public static void main(String[] args) {int[][] arrayObject {{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}};/* 嵌套foreach循环遍历二维数组 */for (int[] innerArr : arrayObject) {for (int innerElement : innerArr) {System.out.println(innerElement);}}}