12数组

数组可存储多个类型一致的元素

引用类型和基本数据类型的区别

基本数据类型创建时,变量就在栈区和常量区占据了位置(如果常量已有,则使用栈存常量地址来引用)

而引用数据类型呢(数组也是引用数据类型),声明时只在栈开辟地址(根据操作系统,32位的内存地址是4字节,64位是8字节),初始化赋值后在堆或方法区赋值

new出来的对象放在堆里,程序运行的常量放在方法区里

所有局部变量都存放在栈里面


数组初始化

声明  类型[] 数组名      或       类型  数组名[]

数组没有初始化是无法使用的,初始化一般是直接赋值,如果开始声明又不明确内容,可以先赋值null

如赋值初始化必须给出数组的长度

int[] shuzu = new int[3];    指定长度3     (此式和第二个式子new不能省略)

int[] shuzu = new int[]{1,2,3};      长度默认跟大括号元素个数决定

int[] shuzu = {1,2,3};                  此式为上式的简化。即数组默认长度是3 

当我们使用第一种方式初始化数组时,int对应元素是0,float是0.0,boolean是false,引用类型是null


访问数组元素

数组名[索引]        索引值0到数组长度-1   (和python不一样,不支持负索引)

数组的长度  数组名.length        (和字符串不一样,没有括号) 数组为null时无法访问

数组赋值,如果是数组整个赋值给另一个数组,其赋值的效果是将栈地址内容的引用复制给另一个,导致他们内容使用同一个区域,修改一个,另一个跟着变化 ,如下图,修改a[0],b[0]也跟着变

插图1

数组相关类java.util.Arrays里面有很多关于数组的函数

举几个例子,Array.fill(a,100);将int数组a的每个元素填充为100

常见数组遍历

for(int i=0;i<a.length;i++){ }   按索引遍历

for(int i:a){ } 按元素遍历


定义二维数组

声明

数据类型[][] 数组名   或        数据类型  数组名[][]

初始化

数据类型[][] 数组名 = new 数据类型[m][n]  定义m行n列数组,也可以理解为建立数组m个元素,每个元素又是n个元素的数组

数组各行允许长度不一样,如int[][] array={{1,2},{2,3,4},{3,4}};   1,2,3行长度分别为2,3,2

初始化只给行维度,列维度为空,这是一维数组每个元素是null,可以在稍后赋值

数据类型[][] 数组名= new 数据类型[m][ ]

需要注意的是如果你这么定义了,int[][] arr = new int[10][];

arr[0] = {1,2,3};赋值会报错

而arr[0]=new int[3];和arr[0]=new int[]{1,2,3}不会报错


遍历二维数组

方法1,按索引

for(int i=0;i<arr.length;i++){

    for(int j=0;j<arr[i].length;j++){

        System.out.println(arr[i][j]);

}

}

方法2,按元素

for(int[] i:arr){   

    for(int j:i){

        System.out.println(arr[i][j]);

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,682评论 0 9
  • 数组(二) 一、 数组的应用 (一) 冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较...
    拾起_518阅读 321评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,053评论 0 2
  • DAY 05 1、 public classArrayDemo { public static void mai...
    周书达阅读 833评论 0 0
  • 李: 最近一个人闲在家里的时候偶尔会坐在地板上,开始像个老年人一样一点一滴回想过去这些年里发生的所有事,想把所有细...
    小九九九诶阅读 215评论 0 0

友情链接更多精彩内容