数据的索引从0开始,到“数组长度-1”结束
如果访问数组元素的时候,索引编号并不存在,就会发生数组索引边界异常ArrayIndexOutOfBoundsException
package demo01; /* 数据的索引从0开始,到“数组长度-1”结束 如果访问数组元素的时候,索引编号并不存在,就会发生数组索引边界异常ArrayIndexOutOfBoundsException */ public class demo10Array { public static void main(String[] args) { int[] ArrayA={10,20,30}; //索引编号并不存在,会发生数据索引边界异常的报错 System.out.println(ArrayA[5]);//ArrayIndexOutOfBoundsException } }
所有的引用类型的变量,都可以赋值为一个null值,代表其中什么都没有
数组必须进行new创建初始化才能使用其中的元素
如果只是赋值了一个null,没有进行new创建,将发生空指针异常NullPointerException
package demo01; /* 所有的引用类型的变量,都可以赋值为一个null值,代表其中什么都没有 数组必须进行new创建初始化才能使用其中的元素 如果只是赋值了一个null,没有进行new创建,将发生空指针异常NullPointerException */ public class demo11Array { public static void main(String[] args) { int[] ArrayA=null; //数组并未进行new创建 System.out.println(ArrayA[5]);//NullPointerException } }
如何获取数据长度,格式:
数组名称.length
结果将会得到一个int型数字,代表数组的长度
数组一旦创建,程序运行期间,长度不可以改变
package demo01; import com.sun.prism.shader.Solid_ImagePattern_Loader; import java.sql.SQLOutput; /* 如何获取数据长度,格式: 数组名称.length 结果将会得到一个int型数字,代表数组的长度 数组一旦创建,程序运行期间,长度不可以改变 */ public class demo12ArrayLength { public static void main(String[] args) { int[] ArrayA=new int[3]; int len=ArrayA.length; System.out.println(len); System.out.println(ArrayA);//[I@1540e19d ArrayA=new int[5];//重新创建了一个数组,数组的变量名称和上一个数组的相同 int len1=ArrayA.length; System.out.println(len1); System.out.println(ArrayA);//因为是重新创建所以重新开辟了内存空间,内存地址哈希值会发生变化([I@1540e19d) } }
遍历数组,说的是对数组当中的每一个元素进行逐一、挨个处理,默认的处理方式是打印输出
package demo01; /* 遍历数组,说的是对数组当中的每一个元素进行逐一、挨个处理,默认的处理方式是打印输出 */ public class demo13ArratLength { public static void main(String[] args) { int[] ArrayA=new int[]{1,2,3,4,5,6,7,8,9,10}; //获取数组的长度 int len=ArrayA.length; //使用for循环,循环的次数就是数组的长度 for(int i=0;i<len;i++){ System.out.println(ArrayA[i]); } } }
package demo01; public class demo14Assay { public static void main(String[] args) { int[] ArrayA=new int[]{3000,3500,3001,4000,2000,8000,6000,1000}; //输出数组中的最小值 int max=ArrayA[0]; for(int i=1;i<ArrayA.length;i++){ if(ArrayA[i]>max){ max=ArrayA[i]; } } System.out.println("最大值是"+max); //输出数组中的最小值 int min=ArrayA[0]; for(int i=1;i<ArrayA.length;i++){ if(ArrayA[i]<min){ min=ArrayA[i]; } } System.out.println("最大值是"+min); } }
package demo01; //题目:将数组中元素的顺序反转 public class demo15 { public static void main(String[] args) { int[] ArrayA={9,8,7,6,5,4,3,2,1,0}; //利用临时变量交换数据 for(int min=0,max=ArrayA.length-1;min<max;min++,max--){ int temp=ArrayA[min]; ArrayA[min]=ArrayA[max]; ArrayA[max]=temp; } //遍历数组 for(int i=0;i<=ArrayA.length-1;i++){ System.out.println(ArrayA[i]); } } }
package demo01; //数组方法的传递 //调用数组方法时,传递的参数实际上是数组的内存地址的哈希值 public class demo16 { public static void main(String[] args) { //调用printArray方法 int[] ArrayA={10,20,30,40,50}; printArray(ArrayA);//调用时,传递的参数实际上是数组的内存地址的哈希值 } //定义方法 public static void printArray(int[] ArrayA){ for(int i=0;i<ArrayA.length;i++){ System.out.println(ArrayA[i]); } } }
package demo01; /* 一个方法可以有0或1或多个参数,但是只能有0或1个返回值 如果想有多个返回值,可以将多个返回值以一个数组的形式返回 数组作为方法的参数,传递进去的是数组的内存地址的哈希值 数组作为方法返回值,返回的也是数组的内存地址的哈希值 */ public class demo17 { public static void main(String[] args) { int[] suanfa={10,20,30}; System.out.println(suanfa[0]); } public static int[] suanfa(int a,int b,int c){ int sum=a+b+c; int avg=sum/3; int[] ArrayA={sum,avg}; return ArrayA; } }
原文:https://www.cnblogs.com/jingdenghuakai/p/12347363.html