本文主要讲解java中array数组使用,包含堆、栈内存分配及区别

1.动态初始化

package myArray;
/*
* 堆:存储的是new出来的东西,实体,对象
* A 每个对象都有地址值
* B 每个对象的数据都有默认值
* byte,short,int,long 0
* float,double 0.0
* char '\u0000'
* boolean false
* 引用类型 null
* C 使用完毕会在垃圾回收站空闲时被回收
*

* 动态初始化:
* 数据类型[] 数组名 = new 数据类型[数组长度];

* */
public class ArrayTest {
public static void main(String[] args) {
int[] arr = new int[3];//指定数组长度
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println("------------"); arr[0] = 100;
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}

打印结果

2.静态初始化

package myArray;
/*
* 静态初始化的格式:
* 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,...};
*
* 举例:
* int[] arr = new int[]{1,2,3};
*
* 简化格式:
* 数据类型[] 数组名 = {元素1,元素2,元素3,...};
* int[] arr = {1,2,3};
*/
public class ArrayJingTaiChuShiHua {
public static void main(String[] args) {
int[] arr = {,,,};
System.out.println(arr[]);
}
}

结果如下

java中内存分配图

一些名词解释
数组:存储同一种数据类型的多个元素的容器。
数组初始化:
A:所谓的初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始值
B:我们有两种方式可以实现数组的初始化
a:动态初始化 只给出长度,由系统给出初始化值
b:静态初始化 给出初始化值,由系统决定长度
//输出数组名
// System.out.println("arr:"+arr); //[I@104c575
//我们获取数组的地址值是没有意义的,我要的是数组中的元素值,该怎么办呢?
//不用担心,Java已经帮你想好了这个问题
//其实数组中的每个元素都是有编号的,编号从0开始,最大的编号是n-1
//通过数组名和编号的配合使用我们就可以获取指定编号的元素值
//这个编号的专业叫法:索引
//访问格式:数组名[索引]

Java Array数组使用详解的更多相关文章

  1. JavaScript Array数组方法详解

    Array类型是ECMAScript中最常用的引用类型.ECMAScript中的数据与其它大多数语言中的数组有着相当大的区别.虽然ECMAScript中的数据与其它语言中的数组一样都是数据的有序列表, ...

  2. java反射机制深入详解

    java反射机制深入详解  转自:http://www.cnblogs.com/hxsyl/archive/2013/03/23/2977593.html 一.概念 反射就是把Java的各种成分映射成 ...

  3. java之AbstractStringBuilder类详解

    目录 AbstractStringBuilder类 字段 构造器 方法   public abstract String toString() 扩充容量 void  expandCapacity(in ...

  4. (转)java.util.Scanner应用详解

    java.util.Scanner应用详解   java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...

  5. Java输出流FileOutputStream使用详解

    Java输出流FileOutputStream使用详解 http://baijiahao.baidu.com/s?id=1600984799323133994&wfr=spider&f ...

  6. js数组方法详解

    Array对象的方法-25个 /*js数组方法详解 */ /* * 1 concat() 用于连接多个数组或者值-------------- * 2 copyWithin() 方法用于从数组的指定位置 ...

  7. 【Java集合】LinkedList详解前篇

    [Java集合]LinkedList详解前篇 一.背景 最近在看一本<Redis深度历险>的书籍,书中第二节讲了Redis的5种数据结构,其中看到redis的list结构时,作者提到red ...

  8. JavaScript数组方法详解

    JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...

  9. java之Matcher类详解

    在JDK 1.4中,Java增加了对正则表达式的支持. java与正则相关的工具主要在java.util.regex包中:此包中主要有两个类:Pattern.Matcher. Matcher  声明: ...

随机推荐

  1. Event loops秒懂

    Event loops秒懂 简介 JS是一种单线程脚本语言,为什么要设计成单线程? 举例说明,假设JS是多线程脚本语言,A线程修改了DOM,B线程删除了DOM,一旦B线程先执行完,DOM被删除了,A线 ...

  2. 读书笔记——莫提默·J.艾德勒&查尔斯·范多伦(美)《如何阅读一本书》

    第一篇 阅读的层次 第一章 阅读的活力与艺术 阅读的目标:娱乐.获得资讯.增进理解力这本书是为那些想把读书的主要目的当作是增进理解能力的人而写.何谓阅读艺术?这是一个凭借着头脑运作,除了玩味读物中的一 ...

  3. Shell 截取字符串方法

    原文链接 方法1 "${varible##*string}" 从左向右截取最后一个string后的字符串 e.g. exampleString="abc//888//ab ...

  4. 《HelloGitHub》第 48 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  5. 滑动窗口-Moving Stones Until Consecutive II

    2020-02-20 16:34:16 问题描述: 问题求解: public int[] numMovesStonesII(int[] stones) { int n = stones.length; ...

  6. Unity 随机房间地图生成

    无论是在迷宫还是类似于地牢的游戏地图中,利用程序来生成每次都不一样的地图是一件叫人兴奋不已的事. 这时我们需要解决两个非常重要的随机事件: 1.在一定范围内随机出各不相同但又不能互相重叠的房间 2.优 ...

  7. java接口自动化(二) - 接口测试的用例设计

    1.简介 在这篇文章里,我们来学习一下接口测试用例设计,主要是来学习一些用例设计要点.其实说白了,接口用例设计和功能用例设计差不多,照猫画虎即可.不要把它想象的多么高大上,多么的难,其实一样,以前怎么 ...

  8. 大型Java进阶专题(五) 设计模式之单例模式与原型模式

    前言 ​ 今天开始我们专题的第四课了,最近公司项目忙,没时间写,今天抽空继续.上篇文章对工厂模式进行了详细的讲解,想必大家对设计模式合理运用的好处深有感触.本章节将介绍:单例模式与原型模式.本章节参考 ...

  9. 【笔记3-24】Python语言基础

    环境搭建与语法入门 遇到问题解决问题 积累 英语单词 认真听讲,多敲代码 计算机是什么 计算机的组成 计算机的使用方式 TUI文本交互 GUI图形化交互 windows 的命令行 Shell.Term ...

  10. HDU 1754 I hate it 树状数组维护区间最大值

    Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写 ...