一维数组:
未赋值 数据类型 [数组长度] 名字 ; int[] 名字;
赋值 int [ ] 名字 = new int [ ]{ 1,2,3,4 };或int [4] 名字 ={1,2,3,4};静态
int [ ] 名字 = new int [4]; //声明一个能存放4个int的数组 动态定义数组长度
元素下标 :从左到右 从0开始
数组名字.length 方法 指数组的长度
数字类型数组元素的初始化:0
对象类型的初始化是 null
数组赋值: 名字 [ 下标 ] = _____ ;
多维数组:有多少个[ ] 就是多少维数组
如:二维数组:
第一个[ ]代表 第一维的长度是2,也就是有多少个一维数组
第二个[ ]代表 一维数组中的长度最长有多少个
int [][] a =new int [2] [3]{
{1,2,3}//二维数 组 0
{6,7,8}//二维数组 1
}
内部嵌套的括号是可选的,下面的初始化与上面是等同的:
int [2][3]={1,2,3,6,7,8}
括号里的括号是二维数组{ {} }
三维数组{ { {} } }
怎么获取元素呢?
System.out.print(a[1][0]); => 6
System.out.print(a[0][2]); => 3
/**
* 数组相加
* */
package com.company;
public class demo {
public static void main(String[] args) {
int[] [] arr = new int [] []{
{3,8,2},
{2,2,6,7,8},
{9,0,1,6},
};
//----------------------------------------------------------
int long1 = arr.length;//第一维数组长度
for(int i = 0; i<long1;i++)
{
int[] arr0 = arr [i]; //存放二维数组
//System.out.println(arr0[i]); // 3 2 1 拿的是第几数组的第几位
int long2 =arr0.length;//二维数组长度
//System.out.println(long2); // 3 5 4
for (int j = 0;j<long2;j++){ //i=0 => int[] arr0=arr [0]; 所有数
//System.out.println(arr0[j]); //输出二维数组 3 8 2 2 2 6 7 8 9 0 1 6
}
}
//方法二
int man=0;
for (int z=0;z<arr.length;z++) // arr[z][] arr.length先获取有多少个二维数组,z第几个二维数组
{
// System.out.println("\n");
for(int j1=0;j1<arr[z].length;j1++) { //arr[z][j] arr[z]./length先获取z里面有多长,再获取第z个二维数组里的第几位数
//System.out.print(arr[z][j1]);
man=arr[z][j1]+man;
}
}
System.out.print(man);
}
}
/*数组排序*/
package com.company;
public class demo {
public static void main(String[] args) {
//正序,从大到小
//4,7,3,1
//4,3,1,7第一轮得到一个最大的数字,放在倒数第一位
//3,1,4,7第二轮得到除最后一个数字之外的最大数字,放在倒数第二位
//1,3,4,7第三轮得到除最后两个个数字之外的最大数字,放在倒数第三位
int[] arr = new int[]{2,56,33,1,8,5,64,34};
int temp = 0;
for(int i = 0; i < arr.length - 1; i++){//外层循环是循环轮次,轮次循环的次数是数字长度-1
for(int j = 0; j < arr.length - 1 - i; j++){//每一轮次的数字对比排序,每轮次的循环依次4,3,2,轮次长度-1-i
if(arr[j] > arr[j + 1]){//如果要是两个相邻的元素,前面的大于后面的,前后两个值交换
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i]);
if(i!= arr.length-1) System.out.print(",");
}
System.out.println("\n");
for(int i = 0; i < arr.length - 1; i++){//外层循环是循环轮次,轮次循环的次数是数字长度-1
for(int j = 0; j < arr.length - 1 - i; j++){//每一轮次的数字对比排序,每轮次的循环依次4,3,2,轮次长度-1-i
if(arr[j] < arr[j + 1]){//如果要是两个相邻的元素,前面的大于后面的,前后两个值交换
//正序与倒序排序,其他的都是一致的,在判断两个相邻的元素在声明情况下做交换不一样
//如果是正序,前面的大于后面,交换
//如果是倒序,前面的小于后面,交换
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i]);
if(i!= arr.length-1) System.out.print(",");
}
}
}
友情提示,多维数组基本上是用不着的,因为有更好的解决方法。JSON或者集合、数据量大的话,就得用数据库,分表查询操作了。这多维数组就用来解决特定的问题。问题忘记了,哈哈哈哈!有看到再补回来