数组的定义

  • 数组是相同类型数据的有序集合
  • 数组描述的是相同类型的若干数据,按照一定先后次序排序组合而成
  • 其中,每一个数据称作一个数组元素,每个数组元素可以通过下标访问它们

1.数组声明和创建

声明

dataType[] arr; //首选
dataType arr[]; //效果相同,但不是首选

创建

dataType[] arr = new dataType[arrSize];      //int[] nums=new int[10]
  • 获取数组长度:arrays.length
int[] nums; //1.声明一个数组
nums = new int[3]; //2.创建一个数组
//3.给数组元素赋值
nums[0]=1;
nums[1]=2;
nums[2]=3;
for (int num : nums) { //打印数组所有元素
System.out.println(num);
}

2.数组的三种初始化

  • 静态初始化
//静态初始化:创建+赋值
int[] a={1,2,3};
Man[] mans={new Man(1,1),new Man(2,2)}
  • 动态初始化
//包含默认初始化
int[] a=new int[2]; //默认值为0
a[0]=1;
a[1]=2;
  • 默认初始化

    数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

3.数组的基本特点

  • 其长度是确定的,数组一旦被创建,它的大小就是不可改变的。

  • 其元素必须是相同类型,不允许出现混合类型。

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

  • 数组变量属于引用类型,数组也可以看作对象,其中每个元素相当于该对象的成员变量。

  • 数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,

  • 数组本身是在堆中的。


4.数组边界


5.内存分析



Java(数组声明创建、初始化、特点、内存分析、边界)的更多相关文章

  1. Java数组之三种初始化及内存分析

    内存分析 Java内存 堆: 1.存放new的对象和数组 2.可以被所有的线程共享,不会存放别的对象引用 栈: 1.存放基本变量类型(会包含这个基本类型的具体数值) 2.引用对象的变量(会存放这个引用 ...

  2. Java数组声明创建和使用以及多维数组、Arrays类、稀疏数组

    目录 数组概述 数组声明创建 内存分析 java内存分析 堆 栈 方法区 三种初始化 静态初始化 动态初始化 数组的默认初始化 数组的四个基本特点 数组边界 小结: 数组使用 数组基础使用 For E ...

  3. Java基础系列(36)- 数组三种初始化及内存分析

    内存分析 数组三种初始化 静态初始化 int[] a = {1,2,3}; Man[] mans = {new Man(1,1),new Man(2,2)} 动态初始化 int[] a = new i ...

  4. Java 数组声明与初始化

    引言 学习了好久的java,每次要写数组的声明和初始化代码,总是理不清.最近又碰到了一次这种情况.这次拿出<Thinking In Java>好好总结一翻. 数组声明 对于数组的声明其实都 ...

  5. Java数组声明、初始化

    维数组的声明方式:type var[]; 或type[] var; 声明数组时不能指定其长度(数组中元素的个数), Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 ...

  6. Java基础系列(35)- 数组声明创建

    数组声明创建 首先必须声明数组变量,才能在程序中使用数组.下面是声明数组变量的语法: dataType[] arrayRefVar; //首选的方法 或 dataType arrayRefVar[]; ...

  7. Day008 三种初始化及内存分析

    三种初始化和内存分析 Java内存分析: 堆: 存放new的对象和数组. 可以被所有的线程共享,不会存放别的对象引用. 栈: 存放基本变量类型(会包含这个基本类型的具体数值). 引用对象的变量(会存放 ...

  8. Java数组一定要初始化才能使用吗?

    数组是大多数编程语言提供的一种复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组.Java语言的数组变量是引用类型的变量,因此具有Java独有的特性. 在正常的Java开发中,使用Ja ...

  9. Java数组声明与拷贝的几种方式

    Java数组声明的三种方式 第一种(声明并初始化):          数据类型[] 数组名={值,值,...};          例:int[] a = {1,2,3,4,5,6,7,8};    ...

  10. Java数组02——三种初始化及内存分析

    内存分析 三种初始化 例子  package array; ​ public class ArrayDemon02 {     public static void main(String[] arg ...

随机推荐

  1. Java面试——写一个生产者与消费者

    更多内容,前往个人博客 一.通过synchronize 中的 wait 和 notify 实现 [1]我们可以将生产者和消费者需要的方法写在公共类中 1 package com.yintong.con ...

  2. Kafka 集群调优

    更多内容,前往 IT-BLOG 单个 kafka服务器足以满足本地开发或 POC要求,使用集群的最大好处是可以跨服务器进行负载均衡,再则就是可以使用复制功能来避免因单点故障造成的数据丢失.在维护 Ka ...

  3. 罗技GHUB怎么写入板载内存

    本文以自用罗技MX518复刻版鼠标作为例子,让大家怎么学会把logitech G HUB的设置写入鼠标板载内存,并且一键切换各组板载设置. 首先点击最下方的启用,让软件设置鼠标各项设定 启用软件的设定 ...

  4. 设置Mysql sort_buffer_size参数

    按照官网的解释:Each session that must perform a sort allocates a buffer of this size. sort_buffer_size is n ...

  5. ByteHouse MaterializedMySQL 增强优化

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 前言 社区版 ClickHouse 推出了MaterializedMySQL数据库引擎,用于将 MySQL 中的表 ...

  6. 安装 Metrics server

    安装 Metrics server Metrics Server 是 Kubernetes 内置自动缩放管道的可扩展.高效的容器资源指标来源. Metrics Server 从 Kubelets 收集 ...

  7. [Linux]常用命令之【history】#查看历史操作#

    1 历史记录: history history命令就是历史记录. 它显示了在终端中所执行过的所有命令的历史. history //显示终端执行过的命令 history 10 //显示最近10条终端执行 ...

  8. Java设计模式 —— 原型模式

    7 原型模式 7.1 原型模式概述 Prototype Pattern:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象. 原型模式的工作原理:将一个原型对象传给创建者,该创建者通 ...

  9. vue表单绑定v-model

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. c/c++快乐算法第二天

    c/c++感受算法乐趣(2) 开始时间2023-04-15 22:26:49 结束时间2023-04-16 00:18:16 前言:首先我们来回忆一下昨天接触了些什么算法题,1.1百钱百鸡问题,1.2 ...