
Array:数组,里面一种数据结构,储存相同的元素类型。
package Collection;
public class ArrayExpression {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个数组
String[] str1;
str1=new String[]{"a","ab","abc","abcd"};
String[] str2;
str2=new String[5];
for(String string : str1)
{
System.out.println(string);
/*
* a
ab
abc
abcd
*/
}
for(int i=0;i<str1.length;i++)
{
System.out.println(str1[i]);
/*
* a
ab
abc
abcd
*/
//foreach 与 for循环对比可以发现:1 foreach后面type类型加上一个变量值,打印各个数据时候不需要索引
}
for(String sr:str2)
{
System.out.println(sr);
/*
* null
null
null
null
null
*/
}
}
}
有关Array的堆(heap)内存和栈(stack)内存的影响。
package Collection;
public class Arrayexpression1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] int1=new int[]{5,5,2,6,3,2};
int[] int2=new int[]{5,3,6,9,22,44,33,88,54};
for(int i :int1)
{
System.out.println(i);
}
for(int j:int2)
{
System.out.println(j);
}
System.out.println("int1.length:"+int1.length);
System.out.println("int2.length:"+int2.length);
int1=int2;
System.out.println(int1.length);
System.out.println(int2.length);
}
}
二维数组打印:
package Collection;
public class ErWeiArray {
public static void main(String[] args) {
int[][] int1=new int[5][8];
int1[0][2]=78;
//此处int1.length的长度基本确定为5
for(int i=0,len=int1.length;i<len;i++){
//此处int[j].length是表示数组元素int[j]处的长度
for(int j=0,k=int1[j].length;j<k;j++)
{
System.out.print(int1[i][j]);
}
System.out.println("/");
/*
* 007800000/
00000000/
00000000/
00000000/
00000000/
*/
}
}
}
Arrays:
操作数组的类。
package Collection;
import java.util.Arrays;
public class Arraysbinary {
public static void main(String[] args) {
int[] a=new int[6];
a[0]=1;
a[1]=5;
a[2]=89;
a[3]=12;
a[4]=55;
a[5]=66;
for(int i=0;i<a.length;i++)
{
System.out.println(a[i]);
}
// Arrays.sort(a); //Arrays类下的排序方法
int c=Arrays.binarySearch(a,55); //Arrays下的二分查找要求返回type,其中要求数组是已经排序的
System.out.println(c);
//java.lang.ArrayIndexOutOfBoundsException: 0 数组索引越界
// int[] a=new int[]{};
// a[0]=1;
// a[1]=5;
// a[2]=89;
// a[3]=12;
// a[4]=55;
// a[5]=66;
// 这里的意思很明确数组越界,为什么会越界,我的想法是在数组在静态初始化的过程中必须赋值,我在a[0]处下面的代码是动态赋值的过程,此时的数组已经初始化成功了
//改进过程就是:int[] a=new int[6];或者 int[ ] a=new int[]{1,5,89,12,55,66};
System.out.println(Arrays.toString(a));
//[1, 5, 89, 12, 55, 66]
} }
浙公网安备 33010602011771号