首先数组有两种声明方法:
dataType[] arraryRefvar; 首选 java dataType arrayRefvar[]; 获取数组长度:arrays.length 避免下标越界的情况。
package base4;
public class Demo1 {
public static void main(String[] args) {
int [] nums;
nums = new int[10];//这里面可以存放10个int类型数字
//int[] nums=new int [10]; 这样简写声明创建在一块
// 3.给数组元素中赋值
nums[0] = 1;
nums[1] = 2; //不赋值。int默认0 string默认null
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
nums[5] = 6;
nums[6] = 7;
nums[7] = 8;
nums[8] = 9;
System.out.println(nums[9]);
//所有元素的和
int sum = 0;
for ( int i =0; i< nums.length ; i++){
sum =sum + nums[i];
}
System.out.println("总和为:"+sum);
}
}
输出:
0
总和为:45
同时数组创建和赋值一起进行,例如:
int [] a ={1,2,3,4,5,6,7,8};
例:
package base4;
//增强for循环
public class Demo4 {
public static void main(String[] args) {
int [] arrays ={1,2,3,4,5};
//JDK1.5,没有下标
for (int array : arrays) { //array.for自动生成
// 数组里的每一个元素 数组
System.out.println(array);
}
printArray(arrays); //打印数组元素
System.out.println("=====================");
int[] reverse =reverse(arrays);
printArray(reverse);
}
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.println(arrays[i]+" ");
}
}
//反转数组
public static int[] reverse(int[] arrays){
int[] result =new int[arrays.length];
//反转的操作
for (int i = 0,j=result.length-1; i < arrays.length; i++,j--) {
result[j] = arrays[i];
}
return result;
}
}
输出:
1
2
3
4
5
1
2
3
4
5
=====================
5
4
3
2
1
多维数组
多维数组和一维数组差别不大例如:
array[i].length代表的是对应行的长度
package base4;
//多维数组
//int a[][] =new int[2][5;]
public class Demo5 {
public static void main(String[] args) {
int[][] array = {{6,1},{7,2},{8,3},{9,4}};
// System.out.println(array[1][1]);
System.out.println(array.length); //4行
System.out.println(array[0].length); //!!!代表里面的2列
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println(array[i][j]);
}
}
}
}
输出:
4
2
6
1
7
2
8
3
9
4
使用Arrays,顶部出现:
打印数组元素Arrays.toString
import java.util.Arrays;
package base4;
import java.util.Arrays; //引用了这个。所以方便,先在下面打一个Arrays就行了然后就出来这个
public class Demo6Arrays {
public static void main(String[] args) {
int [] a = {1,2,3,4,5,43543543,32,342,34};//[I@1b6d3586
System.out.println(a);
//打印数组元素Arrays.toString
System.out.println(Arrays.toString(a)); //把数组打印出来
print(a); //下面自己写的打印程序
Arrays.sort(a); //数组进行排序:升序
System.out.println(Arrays.toString(a));
// Arrays.fill(a,0); //数组填充:里面全是0
//System.out.println(Arrays.toString(a));
Arrays.fill(a,2,4,0); //数组填充:第2个和第四个被0填充 输入a,2,4,0就都出来了。
System.out.println(Arrays.toString(a));
}
//自己写一个把数组打印出来
public static void print(int[] a){ //static方便调用
for (int i = 0; i < a.length; i++) {
if(i==0){
System.out.print("[");
}
if(i==a.length-1){
System.out.print(a[i]+"]");
}else
System.out.print(a[i]+", ");
}
}
}