main(args);// Exception in thread "main" java.lang.StackOverflowError
数组的三种声明和创建方式
importjava.util.Arrays;publicclassOld{publicstaticvoidmain(String[] args){// 三种定义数组方法:声明+创建;// 声明数组并初始化:在声明数组时直接为其赋值float[] a ={9.3f,9.9f,9f};// 声明数组并分配内存空间:使用new关键字为数组分配内存空间float[] b =newfloat[]{9.3f,9.9f,9f};// 声明数组、分配内存空间并初始化:在为数组分配内存空间的同时为其赋值float[] c =newfloat[3];
c[0]=1f;
c[1]=2f;
c[2]=3f;System.out.println(Arrays.toString(c));// 输出为:地址!![F@4554617cSystem.out.println(c[1]);// 输出为:数值2f
数组的四个基本特点
数组的边界
值传递和引用传递
差异的原因:数组是在堆里面的;方法是在栈里面的;
使用数组小案例
通过java数组实现电话号码输出
publicclassTest1{publicstaticvoidmain(String[] args){int i =0;int[] arr ={1,9,3,5,0,7,2,3};int[] index ={0,1,1,2,3,4,5,4,6,4,7};String tel =""; for (int i = 0; i < index.length; i++) { tel += arr[index[i]];// }while(i < index.length){
tel += arr[index[i]];
i++;}System.out.println("联系方式:"+ tel);}}