数组是存储多个变量(元素)的东西(容器),这多个变量的数据类型要一致

数组概念

数组是存储同一种数据类型多个元素的容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。

数组的定义格式

格式1:数据类型[] 数组名;    
格式2:数据类型 数组名[];
注意:这两种定义做完了,数组中是没有元素值的.

举例:

int[] arr; 定义一个int类型的数组,数组名是arr(推荐)
int arr[];定义了一个int类型的变量,变量名是arr数组

数组初始化概述:

Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。

数组的初始化方式

动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。

动态初始化

数据类型[] 数组名 = new 数据类型[数组长度];
/*左边:
* int:说明数组中的元素类型是int类型
* []:说明这是个数组
* arr:数组名称
*右边:
* new:为数组申请内存分配,开辟空间
* int:说明数组中的元素类型是int类型
* []:说明这是一个数组
* 3:数组的长度,其实就是数组中元素的个数

访问数组:

数组名[索引]    //索引从零开始

静态初始化

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,......};
数据类型[] 数组名 = {元素1,元素2,元素3,......};
例如:
int[] arr = new int[]{1,2,3};
int[] arr = {1,2,3};

Java中的内存分配

Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

栈 (存储局部变量)
堆 (存储new出来的东西)
方法区
本地方法区 (和系统相关)
寄存器 (给CPU使用)

    栈:存储的是局部变量.局部变量就是定义在方法中的变量.使用完毕,立即回收.

    堆:存储的是new出来的东西,实体,对象.

      A.每一个对象都有地址值

      B.每一个对象的数据都有默认值

        byte,short,int,long   0

        float,double   0.0

        char '\u0000'

        boolean flase

        引用类型 null

      C.使用完毕后,会在垃圾回收器空闲的时候被回收

int[] arr = new int[3];
int[] arr2 = arr;
arr2[0]=100;
arr2[1]=200;
arr2[2]=300;

二维数组

定义格式
数据类型[][] 数组名;
数据类型 数组名[][]; 不推荐
数据类型[] 数组名[]; 不推荐
初始化方式
数据类型[][] 变量名 = new 数据类型[m][n];
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
简化版格式:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};

二维数组配合索引可以获取到每一个一维数组。

每一个一维数组配合索引名可以获取到数组中的元素。

假如二维数组名:arr
获取一维数组:arr[索引]
获取二维素组中的元素: arr[索引][索引]

Java基础-数组(06)的更多相关文章

  1. 061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结

    061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结 本文知识点:一维数组总结 总结 注意点

  2. 060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序

    060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序 本文知识点:冒泡排序 冒泡排序 实际案例分析冒泡排序流程 第1轮比较: 第1轮比较的结果:把最 ...

  3. 059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环

    059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环 本文知识点:增强型for循环 增强型for循环格式 案例练习增强型for循环 数组名字 ...

  4. 058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值

    058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值 本文知识点:求数组元素的最大值 案例:求数组元素的最大值 程序代码及其执行过程 ...

  5. 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和

    057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...

  6. 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用

    056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...

  7. 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念

    055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...

  8. 054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述

    054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述 本文知识点:数组概述 为什么要学习数组? 实际问题: 比如我们要对学生的成绩进行排序,一个班级 ...

  9. Java基础——数组应用之StringBuilder类和StringBuffer类

    接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...

随机推荐

  1. 201521123020《java程序设计》 第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1. ...

  2. Maven第三篇【Maven术语、pom.xml介绍】

    maven术语 在我们上一篇中已经知道了在Intellij idea下是如何使用Maven的了,创建出来的目录结构是这样子的: 上面的目录结构就是Maven所谓的"约定",我们使用 ...

  3. System.getProperty()参数大全

    System.getProperty()获取Java各种配置属性,参数如下: Java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vend ...

  4. 文件的inode号操作

    linux给每个文件生成了一个唯一的inode编号,命令行下操作文件需要输入文件名,如果遇到文件名特别难输入(或者包含特殊符号)的情况,可以用inode号操作文件. 可以用这个命令查看inode号: ...

  5. 基于注解方式实现Aop

    开启注解扫描 <context:component-scan base-package="aopSpring"></context:component-scan& ...

  6. CentOS7下安装MariaDB

    环境:Window10 上建立 VMWare 虚拟机,EasyInstaller 方式安装 CentOS 7 1. “失败”的经历 备份原 repo 文件,并更改 yum 源(方法详见修改yum源)为 ...

  7. [js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具)

    之前,我写了一个arc函数的用法:[js高手之路] html5 canvas系列教程 - arc绘制曲线图形(曲线,弧线,圆形). arcTo: cxt.arcTo( cx, cy, x2, y2, ...

  8. 关于C++中char 型变量的地址输出

    在刚开始学习C/C++过程中,我们希望输出各个变量的地址来窥探一些我们"百思不得其解"的现象,例如搞清函数堆栈相关的程序内部秘密. 先看下面示例: #include<stdi ...

  9. 【Kafka】操作命令

    生产者 ./kafka-console-producer.sh --broker-list --topic norm 消费者 ./kafka-console-consumer.sh --zookeep ...

  10. Mysql的排他锁和共享锁

    今天看代码看到有select name from user where id = 1 for update,有点懵逼,完全没有见过,只能说自己见识少了,那就只能学习一下.先做一下基本知识了解(大部分都 ...