ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数组(array)

2022-07-06 14:02:16  阅读:126  来源: 互联网

标签:初始化 int System length 数组 类型 array


数组(array)

 

单词

 

length 长度 | array 数组 | explain 解释 | index 索引;指数 | bound 界限;肯定的

 


 

程序

 

创建数组

 1 public class ArrayExplain {
 2 ​
 3     public static void main(String[] args) {
 4 ​
 5         int[] a;//声明一个数组(栈:存储指向堆的地址)
 6         a = new int[10];//创建一个数组(堆)
 7         
 8         int[] b = {1,2,3,4,5,6}; //静态初始化
 9         int[] b = new int[10]; //动态初始化,包含了默认初始化
10 ​
11         //为数组元素赋值,不初始化就为默认值
12         for (int i=0; i<a.length; i++) {
13             a[i] = i;
14         }
15     }
16 }

数组的定义

  • 相同类型数据的有序集合

  • 通过下标来访问数组中的元素

四个基本特点
  1. 创建后长度固定。(越界报:ArrayIndexOutofBounds)

  2. 其中元素必须是相同类型。

  3. 数组中元素可以是任何类型,包括基本类型和引用类型。

  4. 数组变量属引用类型,数组可以看成对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中的对象是在堆中的,因此数组无论是保存原始类型还是其他类型,数组对象本身是在堆中的。

java内存

  1. · 存放new的对象和数组

    ·可以被所有的线程共享,不会存放别的对象引用

  2. ·存放基本变量类型(包含这个基本类型的数值)

    ·引用对象的变量(存放引用在堆里面的地址)

  3. 方法区

    ·可以被所有的线程共享

    ·包含了所有的class和static变量

image-20220706104427137

 

数组的初始化

  • 数组是引用类型,元素相当与类的实例变量,所以一分配空间就会被隐式初始化。

 

多维数组

 

程序演示

 1 public class TwoArray {
 2 ​
 3     public static void main(String[] args) {
 4 ​
 5         int[][] a = {{1,2},{2,3},{3,4},{4,5,6}};
 6 ​
 7         System.out.println(a[3][0]);
 8         System.out.println(a.length);//显示的是有几个模块
 9         System.out.println(a[2].length);
10         System.out.println(a[3].length);//模块中有几个元素
11 ​
12         for (int i = 0; i < a.length; i++) {
13             for (int j = 0; j < a[i].length; j++) {
14                 System.out.print(a[i][j]+"\t");
15             }
16         }
17     }
18 }

 

注意点

  • lengthlength()的区别

    1. length(属性)计算数组(array)的长度。

    2. length() (方法)计算字符(String)的长度。 

标签:初始化,int,System,length,数组,类型,array
来源: https://www.cnblogs.com/WaZiShare/p/16450545.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有