资讯专栏INFORMATION COLUMN

java中的数组

Vicky / 2590人阅读

摘要:概念数组,就是容器,只能存放相同类型的数据数组的格式数据类型数组名数据类型数组的容量数组声明缩写数组中元素的存取给数组第一个元素赋值给数组第二个元素赋值给数组第三个元素赋值打印赋值结果总结数组元素的存放和取出,都是通过数组的索引实现的数组的

概念

数组,就是容器,只能存放相同类型的数据;

数组的格式

数据类型[] 数组名 = new 数据类型 [数组的容量];

double[] scores = new double[100];
数组声明缩写
int[] arr={1,2,3,4};
数组中元素的存取
                int[] arr = new int[3];
                arr[0] = 1; // 给数组第一个元素赋值
        arr[1] = 2; // 给数组第二个元素赋值
        arr[2] = 3; // 给数组第三个元素赋值

        // 打印赋值结果
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

总结:数组元素的存放和取出,都是通过数组的索引实现的;

数组的遍历
class test_数组的遍历 {
    public static void main(String[] args) {
            int[] array = {1, 2, 3, 4, 5, 6, 7};
            // 通过访问length属性获取数组的长度
        // 格式: 数组名.length
        System.out.println(array.length);
        // i从0开始, 因为数组下标从0开始
        // 循环判断条件: i < 数组的长度
        // 循环变量增量: 每次循环结束索引值+1: i++
        for(int i = 0; i < array.length; i++){
            System.out.println(array[i]);
                }
    }
}
java的内存组成


堆:new 出的对象在堆上

java栈:java程序、线程运行数据、内存数据

每个方法都有自己的栈、运行时需要的数据存在自己的栈中

每个线程对立的是图中浅蓝色的部分(java栈、本地方法栈、程序计数器)

堆和方法区是所有线程共享的

java栈会对调用的每个方法生成一个栈帧

数组的内存图解

一维数组内存图解


二维数组内存图解

引用传递和按值传递
public class reference{
    public static void main( String[] args){
        int[] arr=new int[3];
        int[] array=arr;
        array[0]=2;
        System.out.println(arr[0]);//2 引用传递
        int a=10;
        int b=a;
        b=20;
        System.out.println(a);//10  值传递
    }
}

引用类型的变量进行传参,实际传递的是保存在变量中指向堆中空间的地址,这种传参情况叫做引用传递;

如果一个引用改变了空间中的值,对所有指向这个空间的引用都有影响;

基本类型的变量进行传参,实际传递的保存在变量中的常量值,这种情况叫做值传递;
如果改变一个变量的值,对其他的变量没有影响;

数组的特点

数组,是一个容器,可以存放相同类型的数据;

数组有容量大小,使用length属性可以获取,方法是:数组名.length;

数组一旦创建,容量大小就固定不变;

数组中的元素都有索引,对数组元素的操作就是通过索引实现的;

索引的特点是,从0开始,连续递增,最大值是数组容量减一;

什么时候使用数组?

1.在数据量比较多,而且还是相同类型的;

2.数据量是确定的,不确定,就不知道该创建多大的数组装;

3.数据可以有顺序的,可以通过索引来操作的;

不满足以上条件,但是同样数据量比较大,该怎么办呢?使用集合;

二维数组

声明一个二维数组:使用符合[][]表示;

数据类型[][] 数组名=new 数据类型二维数组的容量

int [] [] array = new int[3][2];

声明时可直接赋值

int [] [] array = new int[][]{{1,2},{3,4,5},null};
开源地址

开源项目地址:https://github.com/371854496/...

java学习资料:https://github.com/371854496/...

各位觉得还阔以的话,点下Star,分享不易,thank you!

公众号 全战开花

获取更多技术干货

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75967.html

相关文章

  • JAVA中堆和栈的区别

    摘要:堆内存主要作用是存放运行时创建的对象。堆内存用来存放由创建的对象和数组,在堆中分配的内存,由虚拟机的自动垃圾回收器来管理。这也是比较占内存的原因,实际上,栈中的变量指向堆内存中的变量,这就是中的指针 堆:(对象) 引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据类型常量),需要通过new等方式来创建。 堆内存主要作用是存放运行时创建(new)的对象。(主要用于存放对象,...

    RyanQ 评论0 收藏0
  • JAVA学习之路 (二) 数组

    摘要:数组声明一个数组数据类型数组名数据类型数组名分配空间数组名数据类型数组长度长度为的整数数组合并为一起赋值另一种创建数组的方法定义一个数组,保存五名学生的成绩等价于输出数组中的第二个成绩数组中的第个成绩为遍历数组定义一个长度为的字符串数组,并 数组 声明一个数组 数据类型[ ] 数组名; 数据类型 数组名[ ] int scores []; int [] scores; showImg...

    seal_de 评论0 收藏0
  • Java 性能调优指南之 Java 集合概览

    摘要:单线程集合本部分将重点介绍非线程安全集合。非线程安全集合框架的最新成员是自起推出的。这是标准的单线程阵营中唯一的有序集合。该功能能有效防止运行时造型。检查个集合之间不存在共同的元素。基于自然排序或找出集合中的最大或最小元素。 【编者按】本文作者为拥有十年金融软件开发经验的 Mikhail Vorontsov,文章主要概览了所有标准 Java 集合类型。文章系国内 ITOM 管理平台 O...

    gnehc 评论0 收藏0
  • Java™ 教程(变量)

    变量 正如你在上一课中所了解到的,对象将其状态存储在字段中。 int cadence = 0; int speed = 0; int gear = 1; 什么是对象?讨论向你介绍了字段,但你可能还有一些问题,例如:命名字段的规则和约定是什么?除了int之外,还有哪些其他数据类型?在声明字段时是否必须初始化字段?如果未明确初始化字段,是否为字段分配了默认值?我们将在本课中探讨这些问题的答案,但在我们...

    elina 评论0 收藏0

发表评论

0条评论

Vicky

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<