狂神说JAVA 数组、三种初始化和内存分析
声明数组变量
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 数组、三种初始化和内存分析相关推荐
- 数组,三种初始化和内存分析
数组,三种初始化和内存分析 Java内存分析: 堆:存放new的对象和数组 可以被所有的线程共享,不会存放别的对象引用 栈:存放基本变量类型(会包含这个基本类型的具体数值) 引用对象的变量(会 ...
- 数组:三种初始化及内存分析
java内存分析: 1.堆:存放new的对象和数组 2.栈:存放进本变量类型 3.方法区:class.static package com.wuming.struct; public class De ...
- Java-数组 三种初始化及内存分析
声明的时候数组并不存在,创建的时候数组才真正的存在 数组初始化 除了八大基本类型,其他都是引用类型 public class ArrayDemo02 {public static void main( ...
- java二维数组三种初始化方法(实例)
初始化方法: 1.使用大括号直接赋值,适合已经确定知道数组元素的情况 2.给定二维数组的大小 3.数组第二维的长度可变化,未改变 代码举例如下: public class NewArray {publ ...
- Java数组—三种创建方式与区别
Java创建数组有三种方式 1. 第一种方式 int arr [ ] = new int [5] ; 属于动态创建,声明并创建内存空间,等待赋值. //创建数组的第一种方式 //属于动态创建,声明并 ...
- java二维数组的赋值_java二维数组三种初始化方法(实例)
初始化方法: 1.使用大括号直接赋值,适合已经确定知道数组元素的情况 2.给定二维数组的大小 3.数组第二维的长度可变化,未改变 代码举例如下: public class NewArray { pub ...
- Java数组三种输出方式
1.模仿Arrays.toString()方法 Array.toString输出内容为 [a1, a2, a3,...] 最外一层中括号[ ],每个元素后有逗号,逗号后跟一空格,最后一个元素后无逗号 ...
- Java数组01:数组的基本概念以及内存分析
文章目录 1.数组的定义 2.数组的声明创建 3.三种初始化及内存分析 4.内存分析 4.1 堆 4.2 栈 4.3 方法区 4.4 画图分析内存 5.数组的四个基本特点 6.数组边界 1.数组的定义 ...
- java二维数组两种初始化方法
写这篇博客的原因是因为从大一学习c语言开始 就对二维数组的声明 和初始化 一直没有搞懂....直到学到了Java依旧搞得不是很清楚. 先看一道Java的基础题 这道题 错误的选项 是 B. 二维数组的 ...
最新文章
- 发布我的第一个flex作品
- .NET实现之(自动更新)
- hutool读取和导出excel_Java编程第44讲——非常好用的hutool工具介绍
- SQL基础【十八、事物】(sql事物慎用,还是写业务逻辑代码好一些,入伙涉及到更换数据啥的很麻烦!)
- 15个创意示例教您如何自定义 404 错误页面
- oc引导win方法_[OC更新]机械革命8代、9代标压稳定版更新
- Python3网络爬虫开发实战,IP代理池的维护
- Java接口中的成员变量为什么必须是public static final?
- python 异步 生产者 消费者_python 生产者消费者模式 - 刘江的python教程
- Lesson 002 —— 网络七层模型
- 牛顿法和梯度下降法的效率对比
- Word排版打印1寸照片
- 4x4矩阵键盘c语言程序,C语言矩阵键盘程序
- 数据库及对应数据文件使用查询
- win7还原关闭计算机,怎么关闭系统还原,教您win7怎么关闭系统还原
- AUTOSAR NvMFee Configuration
- 如何使用outlook配置qq邮箱
- ffmpeg 视频抽取音频,音频分离 方法大全 你长知识了吗?
- 跨考哈工程计算机考研科目,2021二战跨考哈工程电子信息初试经验
- 计算机科学与运用 未来,计算机科学与技术的应用现状与未来趋势分析