美文网首页
数组的白话讲解

数组的白话讲解

作者: OpenCoder | 来源:发表于2018-12-20 15:35 被阅读0次

【传智播客.黑马程序员训练营成都中心】

本文章作为数组的入门讲解,通俗易懂,很适合Java零基础的朋友们阅读。

Java中的数组到底是什么,该怎么使用,这些问题时常困扰着初学Java语言的朋友,殊不知其实数组是非常简单的一个小知识,朋友们在学习数组的时候,能把下列的三点弄明白,就可以入门了,接下来咱们就快速学习一下数组吧。

  • 1、什么是数组
    Java中的数组到底是什么呢?其实很多人在学完整个Java基础的时候都没有搞清楚,认为数组就是一个数组,就是一个Java中的基础知识,一个Java中的专业术语。确实,数组是一个Java语言中的专业术语,但是如果大家按照这个概念去学习的话,学起来会很困哪,并且难以攻破它。
    不知道朋友们对Java世界了解多少,说到Java世界,咱们先来了解一下咱们所生活的现实世界,正如我之前写的关于面向对象的文章一样,其实Java源于生活,生活映射Java。在我们现实生活中,大家想一个问题,如果我们的生活用品很多,多到有的时候可能找不到一些想要的东西的时候,该怎么办?你平时的物品比如牙刷会放到哪里,衣服会收到哪里,袜子会放到哪里,年轻时候写的情书和收到的情书会放到哪里?其实这个问题很好回答,有的朋友会说,牙刷会放到杯子中,衣服会收到衣柜中。一些袜子,小件会收到箱子中。没错,回答的很好。细心的朋友们会发现,我其实这么问是在强调一个东西,这个东西就是具有储存功能的箱子,衣柜等,那我们可以把这些具备存储功能的东西合在一起称为容器。
    朋友们可以好好想一想,在我们的生活中,这些容器是不是随处可见,而且对于我们的生活来说是必不可少的,如果在这个世界上没有容器的话,相信我们都没法好好生存了吧。那映射到Java世界中的话也是一样的,在Java中,如果没有容器存在的话,也是不好过的,比如说在Java中,需要很多很多的数据,但是数据多了,就不方便去管理,更不方便去操作这些数据,很乱很麻烦。但是如果Java中一旦有了容器这种东西,那是不是会变得很方便了。
    说到这里,咱们回归正题,那到底什么是数组呢?其实,数组就是容器,只不过在Java中容器有很多,如果有学过集合的朋友,那就应该知道,集合也是一个容器,但是这两个容器的特点都不一样。就好比一个实验室,有很多很多的玻璃瓶,可是每一种玻璃瓶的样子和特点也不一样。再或者说,衣柜和书柜也都是容器,那特点也不一样。所以数组容器和集合容器的特点就不一样了,在Java中针对不同的需求,也给我们提供了不同的容器让我们选择使用。
    那数组这个容器的特点是什么样子呢?数组容器比较有意思,它可以装东西,而且是可以装各种不一样的东西,但是同一个数组容器里面只能装同一种类型的东西,比如说要装水就都装水,要装果汁就都装果汁,而且数组容器的长度是一旦创建出来就不可以改变的,大家想想,我们平时喝水的杯子,一旦工厂生产出来了之后,杯子的容器就不可能发生改变了吧,数组容器就是这个道理。

  • 2、怎么写一个数组
    刚才大家也都大概的清楚的知道了,其实Java中的数组就是所谓的容器,和我们现实生活中的容器是一样的东西。我们什么时候需要使用数组容器呢,很简单,当我们想要将众多的数据好好的管理起来的时候,我们就需要数组容器将这些众多的数据存储起来,方便去使用。接下来我们就来看看数组容器是怎么在我们Java中创建出来的呢?

      /*
      创建数组一共有三种格式
      格式一:元素的数据类型[] 数组的名字 = new 元素的数据类型[数组的长度];
      变形:元素的数据类型 数组的名字[] = new 元素的数据类型[数组的长度];
      说明:
        元素:是指数组容器中存储的每一个数据,就是一个个元素
        元素的数据类型:就是存储数据的数据类型
        数组的名字:是我们自己起的
        new:在堆内存中开辟空间,就要使用new
        数组的长度:就是数组容器中存储了多少个数据的个数
      */
      int[] arr = new int[5];
      String[] strs = new String[5];
      Person[] persons = new Person[5];
      /*
      格式二:元素的数据类型[] 数组的名字 = new 元素的数据类型[]{元素1,元素2,......};
      注:对于创建数组容器的格式二来说,第一个中括号[]和第二个中括号[]里都不要写东西
      */
      int[] arr = new int[]{1,2,3,4,5};
      String[] strs = new String[]{"aaa","bbb","ccc"};
      Person[] persons = new Person[]{new Person(),new Person(),new Person()};
      /*
      格式三:元素的数据类型 数组的名字 = {元素1,元素2,......};
      */
      int[] arr = {1,2,3,4,5};
      String[] strs = {"aaa","bbb","ccc"};
      Person[] persons = {new Person(), new Person(), new Person()};
  • 3.怎么使用一个数组
    在我们现实生活中,其实使用容器无非就是往容器里面装东西,或者将东西从容器中拿出来,在Java中也是如此,当一个数组容器存在的时候,我们就需要向容器里面存储一点东西了,这些东西在Java中就是各种数据,怎么存呢?咱们来看一下。
      /*
      向数组容器中装东西,要使用数组的索引,索引是从0开始的
      */
      int[] arr = new int[5];
      arr[0] = 2;
      arr[1] = 5;
      arr[2] = 1;
      arr[3] = 4;
      arr[4] = 3;

那我们怎么能拿到数组容器中的东西呢?咱们来看一下。

      /*
      想要获取数组容器中的东西,也要使用索引
      */
      int[] arr = {1,2,3,4,5};
      int i1 = arr[0];
      System.out.println(i1);
      int i2 = arr[1];
      System.out.println(arr[2]);
      System.out.println(arr[3]);
      System.out.println(arr[4]);
      
      /*
      通过以上的方式是完全可以取出容器中的东西,但是对于咱们这么懒的人,会感觉到麻烦,那就换一种简单的方式就可以获取一个数组容器中所有的东西的方法。
      */
      //length是数组的属性,直接数组名字就可以调用,功能是得到数组的长度
      for(int i = 0; i < arr.length; i++) {
        System.out.println(arr[i]);
      }

之前的例子都是存储int基本数据类型,接下来看一看如何使用数组装引用数据类型对象

      class Person {
        pirvate String name;
        private int age;
      
        public Person() {}
      
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
      
        public void setName(String name) {
            this.name = name;
        }
      
        public String getName() {
            return this.name;
        }
      
        public void setAge(int age) {
            this.age = age;
        }
      
        public int getAge() {
            return this.age;
        }
      }
      class Demo {
        public static void main(String[] args) {
            Person[] persons = new Person[3];
            Person p1 = new Person("张三", 18);
            Person p2 = new Person("李四", 19);
            Person p3 = new Person("王五","20");
            persons[0] = p1;
            persons[1] = p2;
            persons[2] = p3;
            for(int i = 0; i < persons.length; i++) {
                Person p = persons[i];
                System.out.println(p.getName() + "..." + p.getAge());
            }
        }
      } 

如果朋友们能把以上的内容掌握的话,那就算是数组入门成功了,剩下的其实只是针对一些关于数组的练习题,朋友们自己多练习练习就可以了。

以上内容就是本章要给大家讲解的知识点,内容不多,但可以帮助大家尤其是零基础的朋友们学好Java基础中的数组,最后祝愿每一位学习Java的朋友们马到成功,更上一层楼。

相关文章

  • 数组的白话讲解

    【传智播客.黑马程序员训练营成都中心】 本文章作为数组的入门讲解,通俗易懂,很适合Java零基础的朋友们阅读。 J...

  • 对Java中BitSet的理解

    参考:大白话讲解 BitSet内部维护一个long数组;存储下标的true、false。size()方法显示lon...

  • 大白话讲解Promise(一)

    大白话讲解Promise(一)

  • 集合的白话讲解

    【传智播客.黑马程序员训练营成都中心】 本文章作为集合的入门讲解,通俗易懂,很适合Java零基础的朋友们阅读。 J...

  • 集合的白话讲解

    本文章作为集合的入门讲解,通俗易懂,很适合Java零基础的朋友们阅读。 Java中的集合到底是什么,该怎么使用,这...

  • 白话讲解JavaScript继承

    首先我们要知道继承是要做什么的, 是为了节省内存消耗, 避免重复调用问题 warning本篇文章建立在已经有所了解...

  • 多维数组的讲解

    多维数组 数组是具有相同数据类型且按一定次序排列的一组变量的集合体。构成一个数组的所有变量称为数组元素,数组的名字...

  • Java数组---栈内存与堆内存的区别(通过数组讲解)

    Java数组 在进入讲解主题“-栈内存与堆内存的区别”之前,先来讲解一下数组,所谓数组,就是若干个相同数据类型的元...

  • 类和对象的白话讲解

    【传智播客.黑马程序员训练营成都中心】 转载请注明出处作者: 成都校区.皓月当空 类和对象的白话讲解 本文章作为类...

  • 大白话讲解Promise

    ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性...

网友评论

      本文标题:数组的白话讲解

      本文链接:https://www.haomeiwen.com/subject/xsiykqtx.html