数组是相同类型数据的集合:索引从0开始
1、声明数组语法:声明的时候,数组并不存在,只有创建后才存在。
? ? ? ? dataType[ ]? ? ? ? arrayRefVar? ? ? ? //首选方法
? ? ? ? dataType? ? ? ? ? ? arrayRefVar[ ]? ? ? ? //效果相同,不是首选
2、创建数组语法:
? ? ? ? dataType[ ] arrayRefVar = new dataType[ arraySize ]? ? ? ? //new 操作符创建数组
- 数组长度不变,一旦创建,不可改变:array.length
- 数组报错:ArrayIndexOutOfBoundsException? ? 数组越界? [? 0? ,? length - 1 ]
package array;
public class Demo01 {
public static void main(String[] args) {
int[] nums; //1。声明一个数组
int nums2[]; //第二种写法,为了c程序员过渡使用
int[] nums3=new int[10];
nums=new int[10]; //2。创建一个数组
nums[0] = 1; //3。给数组元素赋值
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
nums[5] = 6;
nums[6] = 7;
nums[7] = 8;
nums[8] = 9;
nums[9] = 10;
int sum=0;
for(int i=0;i<nums.length;i++){
sum=sum+nums[i];
}
System.out.println("sum: "+sum);
System.out.println("=======================");
for(int num:nums){
System.out.println(num);
}
}
}
3、初始化数组:
????????静态初始化
? ? ? ????????? int[]? a={1,2,3} ;
? ? ? ????????? Man[] mans = {new Man(1,1) , new Man(2,2)};
????????动态初始化
? ? ? ????????? int[]? a = new int[2];
? ? ? ? ????????a[0]=1;
? ? ? ????????? a[1]=2;
package array;
public class Demo02 {
public static void main(String[] args) {
//静态初始化:创建+赋值
int[] a ={1,2,3,4,5,6};
System.out.println(a[0]);
// Man[] mans={new Man(),new Man()};
// mans[0].toString();
//动态初始化:包含默认初始化
int[] b =new int[10];
b[0] = 10;
System.out.println(b[0]);
System.out.println(b[1]);
System.out.println(b[2]);
}
}
package array;
public class Demo03 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
for (int i=0;i<arrays.length;i++) {
System.out.println(arrays[i]);
}
int sum=0;
for(int i=0;i<arrays.length;i++){
sum+=arrays[i];
}
System.out.println("sum: "+sum);
int max=arrays[0];
for(int i=0;i<arrays.length;i++){
if (arrays[i] > max) {
max=arrays[i];
}
}
System.out.println("max: "+max);
// for (int array : arrays) {
// System.out.println(array);
// }
//printArray(arrays);
reverseArray(arrays);
printArray(reverseArray(arrays));
}
public static void printArray(int[] arrays){
for (int array : arrays) {
System.out.print(array+"\t");
}
}
public static int[] reverseArray(int[] arrays){
int[] result = new int[arrays.length];
// for(int i=0;i<arrays.length;i++) {
// result[i] = arrays[arrays.length - i - 1];
// }
for(int i=0,j=arrays.length- 1;i<arrays.length;i++,j--) {
result[j] = arrays[i];
}
return result;
}
}
|