声明数组变量

dataType[] arrayRefVar;   // 首选的方法或
dataType arrayRefVar[];  // 效果相同,但不是首选方法

dataType[] arrayRefVar = NEW dataType[arraySize];

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

2、数组元素必须是相同类型,不允许出现混合类型。

3、数组中的元素可以是任何类型,包含基本类型和引用类型。

4、数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该变量的成员变量。数组本身就是对象,Java中数组是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

5、数组的元素是通过索引访问的,数组索引从0开始。

多维数组

int[][] = new int[2][2];

内存分析实例

step 1 声明数组int array【】 = null

step 2 创建数组array = new int【10】

step 3 给数组元素中赋值

静态初始化

创建+赋值

int[] a ={1,2,3}
Mans[] mans = {new Man(1,1), new Man(2,2)}

动态初始化

先创建,后赋值,不赋值,即 默认初始化

int[] a = new int[2];
a[0]=1;
s[1]=2;

默认初始化

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

For-Each 循环

JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。

语法格式如下:

for(type element: array)
{System.out.println(element);
}

将数组作方法入参

数组作返回值

示列

package Kuang;import java.lang.reflect.Array;public class reverseArray {public static void main(String[] args) {int[] nums = new int[10];nums[0] = 1;nums[1] = 2;nums[2] = 3;nums[3] = 4;nums[4] = 5;nums[5] = 6;nums[6] = 7;nums[7] = 8;nums[8] = 9;nums[9] = 10;printArray(nums);System.out.println("=====华丽的分割线=====");printArray(reverseArr(nums));}public static void printArray(int[] arg) {for (int i : arg) {System.out.println(i);}}public static int[] reverseArr(int[] arg) {int[] result = new int[arg.length];for (int i = 0, j = arg.length - 1; i < arg.length; i++, j--) {result[i]=arg[j];}return result;}
}

狂神说JAVA 数组、三种初始化和内存分析相关推荐

  1. 数组,三种初始化和内存分析

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

  2. 数组:三种初始化及内存分析

    java内存分析: 1.堆:存放new的对象和数组 2.栈:存放进本变量类型 3.方法区:class.static package com.wuming.struct; public class De ...

  3. Java-数组 三种初始化及内存分析

    声明的时候数组并不存在,创建的时候数组才真正的存在 数组初始化 除了八大基本类型,其他都是引用类型 public class ArrayDemo02 {public static void main( ...

  4. java二维数组三种初始化方法(实例)

    初始化方法: 1.使用大括号直接赋值,适合已经确定知道数组元素的情况 2.给定二维数组的大小 3.数组第二维的长度可变化,未改变 代码举例如下: public class NewArray {publ ...

  5. Java数组—三种创建方式与区别

    Java创建数组有三种方式 1. 第一种方式 int arr [ ]  = new int [5] ; 属于动态创建,声明并创建内存空间,等待赋值. //创建数组的第一种方式 //属于动态创建,声明并 ...

  6. java二维数组的赋值_java二维数组三种初始化方法(实例)

    初始化方法: 1.使用大括号直接赋值,适合已经确定知道数组元素的情况 2.给定二维数组的大小 3.数组第二维的长度可变化,未改变 代码举例如下: public class NewArray { pub ...

  7. Java数组三种输出方式

    1.模仿Arrays.toString()方法 Array.toString输出内容为  [a1, a2, a3,...] 最外一层中括号[ ],每个元素后有逗号,逗号后跟一空格,最后一个元素后无逗号 ...

  8. Java数组01:数组的基本概念以及内存分析

    文章目录 1.数组的定义 2.数组的声明创建 3.三种初始化及内存分析 4.内存分析 4.1 堆 4.2 栈 4.3 方法区 4.4 画图分析内存 5.数组的四个基本特点 6.数组边界 1.数组的定义 ...

  9. java二维数组两种初始化方法

    写这篇博客的原因是因为从大一学习c语言开始 就对二维数组的声明 和初始化 一直没有搞懂....直到学到了Java依旧搞得不是很清楚. 先看一道Java的基础题 这道题 错误的选项 是 B. 二维数组的 ...

最新文章

  1. 发布我的第一个flex作品
  2. .NET实现之(自动更新)
  3. hutool读取和导出excel_Java编程第44讲——非常好用的hutool工具介绍
  4. SQL基础【十八、事物】(sql事物慎用,还是写业务逻辑代码好一些,入伙涉及到更换数据啥的很麻烦!)
  5. 15个创意示例教您如何自定义 404 错误页面
  6. oc引导win方法_[OC更新]机械革命8代、9代标压稳定版更新
  7. Python3网络爬虫开发实战,IP代理池的维护
  8. Java接口中的成员变量为什么必须是public static final?
  9. python 异步 生产者 消费者_python 生产者消费者模式 - 刘江的python教程
  10. Lesson 002 —— 网络七层模型
  11. 牛顿法和梯度下降法的效率对比
  12. Word排版打印1寸照片
  13. 4x4矩阵键盘c语言程序,C语言矩阵键盘程序
  14. 数据库及对应数据文件使用查询
  15. win7还原关闭计算机,怎么关闭系统还原,教您win7怎么关闭系统还原
  16. AUTOSAR NvMFee Configuration
  17. 如何使用outlook配置qq邮箱
  18. ffmpeg 视频抽取音频,音频分离 方法大全 你长知识了吗?
  19. 跨考哈工程计算机考研科目,2021二战跨考哈工程电子信息初试经验
  20. 计算机科学与运用 未来,计算机科学与技术的应用现状与未来趋势分析

热门文章

  1. Linux系统各发行版镜像下载
  2. 如何让生活充满充实感
  3. java窗体 个人信心_帮忙写下代码java swing,个人信息实例
  4. 2017第二届上海DAC体验
  5. excel数据核对技巧:如何用函数公式标识输入正误
  6. Vue项目中出现Loading chunk {n} failed问题的解决方法
  7. DbVisualizer解决中文乱码问题
  8. 【Python爬虫案例教学】采集某网站壁纸,实现壁纸自由
  9. 好嗨游戏:TapTap9.9分,《鸡你太美》这到底是什么魔鬼游戏?
  10. 谁是鱼谁是饵?红队视角下蜜罐识别方式汇总