简单来讲就是相同类型数据的集合。java
数组是一种用一个名字来标识一组有序且类型相同的数据组成的派生数据类型,它占有一片连续的内存空间。数组
数组做为一个总体有如下几个特征:code
基本语法结构:视频
数据类型 数组名[ ]; 或者 数据类型[ ] 数组名;(首选)blog
如:int Height[ ];索引
分配内存的格式:内存
数组名 = new 数据类型[个数];get
如:Height = new int[40];io
注:数组声明建立首先必须声明数组变量,才能在程序中使用数组。class
数组的元素是经过索引访问的,数组索引从0开始。当获取数组长度时为:arrays.length.
java语言使用new操做符来建立数组,语法以下
dataType[ ] arrayRefVar = new dataType[arraySize];
初始化分为静态初始化和动态初始化。
静态初始化是在声明数组的同时赋值。
动态初始化是在声明数组后对其赋值。
数组求和代码示例
package Array; public class arrayDemo01 { public static void main(String[] args) { int[] nums;//声明一个数组 nums = new int[10];//建立一个数组 //以上两句等同于==》int[] nums = new int[10]; //给数组赋值 nums[0]= 1;//下标从0开始 nums[1]= 2; nums[2]= 3; nums[3]= 4; nums[4]= 5; nums[5]= 6; nums[6]= 7; nums[7]= 8; nums[8]= 9; nums[9]= 10; //计算全部元素的和 int sum = 0; for (int i = 0; i < nums.length; i++) { //搞清楚数组的长度。 sum = sum + nums[i]; } System.out.println("总和为" +sum); } }
java数组内存简单分析
在使用数组时,必定要注意下标越界的问题
下标的合法区间:[0,length-1]
越界则会报错:ArrayIndexOutOfBoundsException:数组下标越界异常
(基于IDEA)
一维数组的简单使用:
package Array; public class arrayDemo02 { public static void main(String[] args) { int [] arrays = {1,2,3,4,5}; //打印数组的所有元素 for (int i = 0; i < arrays.length; i++) { System.out.println(arrays[i]); } System.out.println("==========="); //计算全部元素的和 int sum = 0; for (int i = 0; i < arrays.length; i++) { sum = sum+ arrays[i]; } System.out.println("总和为 "+sum); System.out.println("==========="); //找出最大值 int max= arrays[0]; for (int i = 1; i < arrays.length; i++) { if(arrays[i]>arrays[0]); max = arrays[i]; } System.out.println("max= "+max); System.out.println("============"); int[]reverse = reverse(arrays); System.out.println(); } //反转数组 public static int [] reverse(int[] arrays){ int[] result = new int [arrays.length];//从新找一个新的数组 //反转的操做 for (int i = 0,j= arrays.length-1; i < arrays.length; i++,j--) { result[j]= arrays[i];//把反转的数放入新的数组中 } return result; } }
二维数组就是一个特殊的一维数组,其每个元素都是一个一维数组。
元素类型【】【】数组变量;
首先声明与分配内存的格式以下
数据类型 数组名【】【】=null;
数组名 = new 数据类型【行的个数】【列的个数】
动态初始化:
int a 【】【】= new int【2】【5】;
静态初始化:
数据类型 数组名【】【】= {{第0行初始值},{第一行初始值},....{第n行初始值}};
int intArray【】【】 = {{1,2},{2,3},{3,4,5}}
简单使用代码示例:
package Array; //打印数组元素 public class arrayDemo03 { public static void main(String[] args) { int[][] array= {{1,2},{2,3},{3,4},{4,5}};//定义一个二维数组 /* 1,2 array[0]-->array[0][0]=1,array[0][1]=2; 2,3 array[1]-->array[1][0]=2,array[1][1]=3; 3,4 array[2]-->array[2][0]=3,array[2][1]=4; 4,5 array[3]-->array[3][0]=4,array[3][1]=5 for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { System.out.println(array[i][j]); } } } }
二维数组的引用格式以下
arrayName【index】【index】
对二维数组中的每一个元素引用时
arrayName【index1】【index2】
如:num【1】【2】;
画图分析二维数组:
详细可见视频狂神说java