java数组,二维数组 多维数组

★ 创建数组的两种方式
① 静态初始化 

★ 格式: 类型[] 数组变量名称 = new 类型[]{元素1,元素2,元素3,..........}; 
★ 常用格式:类型[] 数组变量名称 ={元素1,元素2,元素3,..........};
★ 古老的写法(受C的影响):

类型 数组变量名称[] = new 类型[]{元素1,元素2,元素3,..........};
类型 数组变量名称[] ={元素1,元素2,元素3,..........};
▲数组的长度 格式: 数组变量名称.length
▲ 访问数组的元素 格式: 类型 变量名称 = 数组变量名称[元素位置索引]
▲ 给数组元素赋值 格式: 数组变量名称[元素位置索引] = 值;
▲ 遍历数组: 访问数组的所有元素
        a. for循环
         b. foreach循环
            格式: for(数组中元素的类型 变量 : 需要被遍历的数组){
                            //输出变量
                    }
         c. while循环遍历数组

注意点:
▲什么类型的数组就一定存放什么类型的数据
▲ 静态初始化的数组一旦定义出来,数组的长度就固定了。
▲ 访问数组的时候,访问的索引不能超过数组的大小,超过数组的长度之后,在执行代码的时候会出现一个经典的错误:数组访问越界异常(ArrayIndexOutOfBoundsException)!
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: x

-------------------------------------------------------------------------------------------------


② 动态初始化
★ 格式:类型[] 数组变量名称 = new 类型[数组的长度];
▲ 数组的长度 格式: 数组变量名称.length
▲ 访问数组的元素 格式: 数组变量名称[元素位置索引]
▲ 给数组元素赋值 格式: 数组变量名称[元素位置索引] = 值;
▲ 遍历数组:访问数组的所有元素
a. for循环
b. foreach循环
格式: for(数组中元素的类型 变量 : 需要被遍历的数组){
//输出变量
}
c. while循环遍历数组

注意:
▲ 什么类型的数组就一定要存放什么类型的数据
▲ 动态初始化一旦定义出数组,数组的长度就固定了。
▲ 此时数组中是存在元素的,只是元素是默认的值:
▲ 所有的数值类型默认值都是: 0 或者 0.0
▲ boolean类型数组的默认值是: false
▲ char类型的默认值是:一个空格字符。
▲ 所有的引用类型数组默认值是: null
▲ 访问数组的时候,访问的索引不能超过数组的大小,超过代码在执行
的时候会出现一个经典的错误:数组访问越界异常(ArrayIndexOutOfBoundsException)!
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:

-------------------------------------------------------------------------------------------------

★ 多维数组
在任何已有类型后加上方括号[],又变成一种新类型,这种类型统称为数组类型,所有的数组类型都是引用类型。
int → int[] —— 相当于数组元素为int类型的一维数组。
int[] → int[][] —— 相当于数组元素为int[]类型的二维数组。
int[][] → int[][][] —— 相当于数组元素为int[][]类型的三维数组。

★ 练习:

/**
* @author 罗老师<br>
* 课程《Java零基础至高级应用》提供全套【代码+笔记+相关开发工具+答疑服务】
* <br>
*/
public class ErWeiShuZu_21 {
public static void main(String[] args) {
/*★在任何已有类型后加上方括号[],又变成一种新类型,
这种类型统称为数组类型,所有的数组类型都是引用类型。
int → int[] —— 相当于数组元素为int类型的一维数组。
int[] → int[][] —— 相当于数组元素为int[]类型的二维数组。
int[][] → int[][][] —— 相当于数组元素为int[][]类型的三维数组。*/


/* 在公司中开发时,一维数组是用得比较多的,二维数组极少用,
那么三维等多维数组极少极少使用,了解即可!
二维数组的定义也分成静态初始化 和 动态初始化 */


//通过动态初始化的方式定义二位数组 {{0,0,0,0},{0,0,0,0},{0,0,0,0}}
int[][] arrays = new int[3][4];
System.out.println("数组的长度::"+arrays.length);
//将 {{0,0,0,0},{0,0,0,0},{0,0,0,0}} == 》{{0,0,0,0},{0,3,0,0},{0,0,0,0}}
arrays[1][1] = 3;
//System.out.println("arrays[1][1]:"+arrays[1][1]);
int count = 1;
//使用循环 给数组中每一个元素赋一个值
for(int i=0;i<arrays.length;i++){
for(int j=0;j<arrays[i].length;j++){
arrays[i][j] = count ++;
}
}


// {{1,2,3,4},{5,6,7,8},{9,10,11,12}}
for(int i=0;i<arrays.length;i++){
for(int j=0;j<arrays[i].length;j++){
System.out.println("arrays["+i+"]["+j+"]:"+arrays[i][j]);
}
}
//通过静态初始化的方式定义二位数组
int[][] arr = new int[][]{{10,20},{30,40}};
int[][] arr2 = {{10,20},{30,40}};
System.out.println(arr[0][1]);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值