一维数组定义:
数据类型 [] 数组名=new 数据类型[数组长度];
int[] array=new int[5];
数据类型[] 数组名={数组内容};
String[] arrays={"zhangsan","lisi","wangwu"};
数组: 在内存中创建一片区域,用来存储长度为10的数组的空间 如果声明了数组空间,则该数组的每一个元素都是该数组类型的“零值”
数组:在内存中创建一篇区域,用来存储长度为10的数组的空间,如果声明了数组空间,则该数组的每一个元素都是该数组类型的“零值”;
例如:
int 的零值 0
double 的零值 0.0
boolean 的零值 false
示例如下:
public class Demo01 { public static void main(String[] args) { int[] array=new int[10]; array[0]=100; for (int i : array) { System.out.print(i+" "); } System.out.println("+++++++++++++++++++"); boolean[] booleans=new boolean[3]; for (boolean aBoolean : booleans) { System.out.println(aBoolean); } System.out.println("++++++++++++++++++++"); double[] array1=new double[10]; array1[0]=99; System.out.println(array1[0]); System.out.println("++++++++++++++++"); } }
产生随机数放到数组当中充当数组的内容:
import java.util.Random; public class Demo02 { public static void main(String[] args) { int[] arrays=new int[10]; for (int i = 0; i < arrays.length; i++) { arrays[i]= new Random().nextInt(10)+1; } /** * 使用增强for循环 */ for (int array : arrays) { System.out.print(array+" "); } } }
数组元素的拷贝和加和运算
public class Demo03 { public static void main(String[] args) { double[] array=new double[9]; double[] array1={3,342,52,23,42,1,34}; for (double v : array) { System.out.print(v+"\t"); } System.out.println(); System.out.println("+++++++++++++++++"); for (double v : array1) { System.out.print(v+"\t"); } /** * 数组的拷贝 */ for (int i = 0; i < array1.length; i++) { array[i]=array1[i]; } System.out.println(); for (double v : array) { System.out.print(v+" "); } /** * 数组元素的加和 */ System.out.println(); int sum=0; for (int i = 0; i < array1.length; i++) { sum+=array1[i]; } System.out.println(sum); System.out.println(); } }
二维数组:
array=new type[][]{值 1,值 2,值 3,…,值 n}; array=new type[][]{new 构造方法(参数列),…}; type[][] array={{第1行第1列的值,第1行第2列的值,…},{第2行第1列的值,第2行第2列的值,…},…};
代码实例如下:
public class Demo04erweiArray { public static void main(String[] args) { int[][] array=new int[][]{{23,34},{3,23},{4,12},{43,48}}; for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { System.out.print(array[i][j]+" "); } System.out.println(); } } }
俄罗斯方块的打印:
package Weeks02.days04_qianfeng; import java.util.Random; public class Demo06 { public static void main(String[] args) { printeluosifangkuai(getshaps()); } public static void printeluosifangkuai(int[][] shapes){ for (int i = 0; i < shapes.length; i++) { for (int j = 0; j < shapes.length; j++) { boolean flag=false; for (int k = 0; k < shapes.length; k++) { if (shapes[k][0]==i && shapes[k][1]==j){ flag=true; break; } } if (flag) System.out.print("■ "); else System.out.print("□ "); } System.out.println(); } } public static int[][] getshaps(){ Random random=new Random(); int shaps = random.nextInt(6); int type = random.nextInt(3); int[][] shap=new int[4][2]; switch (shaps){ case 0://方块 shap=new int[][]{ { 0, 0 }, { 1, 0 }, { 0, 1 }, { 1, 1 } }; break; case 1://横条 switch (type){ case 0: case 2: shap=new int[][]{ { 0, 0 }, { 0, 1 }, { 0, 2 }, { 0, 3 } }; break; default: shap=new int[][]{ { 0, 0 }, { 1, 0 }, { 2, 0 }, { 3, 0 } }; break; } break; case 2://Z switch (type){ case 0: shap=new int[][]{{0,0},{0,1},{1,1},{1,2}}; break; case 1: shap=new int[][]{{0,2},{0,3},{1,1},{1,2}}; break; case 2: shap=new int[][]{{0,0},{1,1},{1,0},{2,1}}; break; default: shap=new int[][]{{2,0},{2,1},{1,1},{3,0}}; break; } break; case 3://L switch (type){ case 0: shap=new int[][]{{0,0},{1,0},{2,0},{2,1}}; break; case 1: shap=new int[][]{{0,0},{0,1},{1,0},{2,0}}; break; case 2: shap=new int[][]{{0,0},{0,1},{1,2},{0,2}}; break; default: shap=new int[][]{{0,0},{0,1},{1,0},{0,2}}; break; } break; default: switch (type){ case 0: shap=new int[][]{ { 0, 0 }, { 0, 1 }, { 0, 2 }, { 1, 1 } }; break; case 1: shap=new int[][]{ { 0, 1 }, { 1, 0 }, { 1, 1 }, { 2, 1 } }; break; case 2: shap=new int[][]{ { 0, 1 }, { 1, 0 }, { 1, 1 }, { 1, 2 } }; break; default: shap=new int[][]{ { 0, 0 }, { 1, 0 }, { 2, 0 }, { 1, 1 } }; break; } break; } return shap; } }