1.声明数组:
有两种方式,一是[]在数组名后,如float boy[];二是[]在数组名前,如int [] a。
特别的是[]在前的方式,一次声明多个一维数组时,如:int [] a,b;一次声明多个二维数组时,如:
int [] a,b[]。其中a是一维数组,b是二维数组。我认为括号在前是各数组共享的第一个括号。
还有就是声明数组时的[]中不允许指定数组元素个数,int a[2]语法错误。
2.创建数组:
数组名 = new 数组元素的类型[数组元素的个数];
如 boy = new float[4];
也可以声明和创建同时完成
如 int boy = new float[4];
二维数组 int a[][]=new int [3][4]; 指的是有3个长度为4的一维数组。
length的使用:
“数组名.length”表示一维数组的元素个数或二维数组中一维数组的个数。
如:int a[] =new int[12]; a.length的值为12
注意:int b[][]= new int [3][6]; b.length的值为3
3.数组的初始化:
与c没什么不同。
4.数组的引用:
指的应该就是数组首元素的地址。
5.实例:
public class Example2_4
{
public static void main(String args[])
{
int a[] = {1,2,3,4};
int b[] = {100,200,300};
System.out.println("数组a的元素个数="+a.length);
System.out.println("数组b的元素个数="+b.length);
System.out.println("数组a的引用="+a);
System.out.println("数组b的引用="+b);
a=b;
System.out.println("数组a的元素个数="+a.length);
System.out.println("数组b的元素个数="+b.length);
System.out.println(a[0]+a[1]+a[2]);
System.out.println(b[0]+b[1]+b[2]);
System.out.println(""+b[0]+""+b[1]+""+b[2]);
//System.out.println(b[]);
}
}
运行结果:
对于int型数组,System.out.println(a);输出结果就是首元素地址。
System.out.println(""+b[0]+""+b[1]+""+b[2]);这样输出结果是数组对应序号的元素值;
但是System.out.println(b[0]+b[1]+b[2]);输出的结果居然是b[0] b[1] b[2]三者之和。
我想试试有没有其他方法输出各元素的值,然后
System.out.println(b[0],b[1],b[2]);不行
System.out.println("%d%d%d",b[0],b[1],b[2]);也不行
System.out.println(b);输出的还是引用。
结果还是没找到别的方法,等有了再改。
明白了,改变输出格式也行,如:System.out.printf("%d,%d,%d",b[0],b[1],b[2]);
之前System.out.println("%d%d%d",b[0],b[1],b[2])是println的问题,要把println改成printf才可以用c语言的输出。
要么单个输出或循环,System.out.println(b[0]);System.out.println(b[1]);System.out.println(b[2])
要注意println和printf的区别,以后学多了再总结。
但是对于char数组,
char c[] = {'你','好'};
System.out.println(c);
System.out.println(c.length);
System.out.println(""+c);
结果是 :
你好
2
[C@53d8d10a
我:???
输出各元素和int数组一样格式的System.out.println(""+c[0]+""c[1]);居然又不行了,反而是和c语言一样了。
书上说的是:如果想输出char数组的引用,必须让数组c和字符串做并置运算,
如:System.out.println(""+c);
我想合着char数组并置是引用,int数组并置是输出各元素咯。然而我试了一下,特么int数组只并置数组名也是引用,我是真的服了,为什么不都写出来啊。
6.总结:
输出int数组各元素值:System.out.println(""+b[0]+""+b[1]+""+b[2])
输出int数组引用:System.out.println(b)或System.out.println(""+b)
输出char数组各元素值:System.out.println(c)
输出char数组引用:System.out.println(""+c)
//更新
用for输出int数组各元素值:for(int i : b)System.out.println(i);//i是循环变量,b是需要循环的数组,i和b同类型.
或for(int i =0;i<b.length;i++){System.out.println(b[i]);}
用for输出char数组各元素值:for(char a:c)System.out.println(c);
或for(int i =0;i<c.length;i++){System.out.println(c[i]);}