重新梳理IT知识之java-04数组
一、数组的概述
1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
2.数组的相关概念
数组名
元素
索引
数组的长度:元素的个数
3.数组的特点:
数组是有序排列的
数组属于引用数据类型的变量。数组的元素既可以是基本数据类型,也可以是引用数据类型。
创建数组对象会在内存中开辟一整块连续的空间。
数组的长度一旦确定,就不能修改。
4.数组的分类
按照维数:一维数组、二维数组...
按照数组元素的类型:基本数据元素的数组、引用数据类型元素的数组。
5.一维数组的使用
①一维数组的声明和初始化
②如何调用数组的指定位置的元素
③如何获取数组的长度
④如何遍历数组
⑤数组元素的默认初始化值
⑥数组的内存解析
public class ArrayTest {
public static void main(String[] args) {
//1.一维数组的声明和初始化
int num;//声明
num = 10;//初始化
int id = 1001;//声明+初始化
int[] ids;//声明
//1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行
ids = new int[]{1001,1002,1003,1004};
//1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行
String[] names = new String[5];
//总结:数组一旦初始化完成,其长度就确定了。
//2.通过索引的方式调用数组的指定位置元素。
//数组的索引从0开始,到数组的长度-1结束
names[0] = "小明";
names[1] = "小明1";
names[2] = "小明2";
names[3] = "小明3";
names[4] = "小明4";
//3.如何获取数组的长度。
//属性:length
System.out.println(names.length);//5
System.out.println(ids.length);
//4.如何遍历数组元素,
for(int i = 0;i < names.length;i++){
System.out.println(names[i]);
}
/*5.数组元素的默认初始化值
*①数组元素是整型:0
*②数组元素是浮点、double型:0.0
*③数组元素是char型:0或'\u0000'
*④数组元素是boolean型:false
*
*数组元素是引用类型时:null
*/
}
}
一维数组的内存解析

6.多维数组的使用
二维数组的理解:可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。从数组底层的运行机制来看,其实并没有多维数组。
public class ArrayTest {
public static void main(String[] args) {
//1.二维数组的静态初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};
//二维数组的动态初始化
String[][] arr2 = new String[3][2];//3个数组元素,每个数组元素有两个元素
//2.通过索引的方式调用数组的指定位置元素。
System.out.println(arr1[0][1]);//2
//3.如何获取数组的长度。
//属性:length
System.out.println(arr1.length);//3
System.out.println(arr1[1].length);//2
//4.如何遍历数组元素
for(int i = 0;i < arr1.length;i++){
for(int j = 0;j < arr1[i].length;j++){
System.out.print(arr1[i][j] + " ");
}
System.out.println();
}
//5.数组元素的默认初始化值
/*规定:二维数组分为外层数组的元素,内层数组的元素。
* int[][] arr = new int[4][3];
* 外层元素:arr[0],arr[1]等
* 内层元素:arr[0][0],arr[1][1]等
*
* 针对于初始化方式一:比如String[][] arr2 = new String[3][2];
* 外层元素初始化值:地址值
* 内层元素初始化值:与一维数组初始化情况相同
*
* 针对于初始化方式二:比如int[][] arr3 = new int[4][];
* 外层元素初始化值:null
* 内层元素初始化值:不能调用,否则报错
*/
System.out.println(arr2[0]);//@15db9742 地址池
System.out.println(arr2[0][0]);//null
System.out.println(arr2);//@6d06d69c
}
}
二维数组的内存解析:

重新梳理IT知识之java-04数组的更多相关文章
- Java开发知识之Java数组
Java开发知识之Java数组 一丶数组简介 首先,不管是Java 还是 C++ 还是其它语言.都有数组. (有可能叫法不同) 数组简而言之就是存储一段连续相同数据类型的数据结构 在Java中数组可以 ...
- Java-Runoob-高级教程-实例-数组:04. Java 实例 – 数组反转
ylbtech-Java-Runoob-高级教程-实例-数组:04. Java 实例 – 数组反转 1.返回顶部 1. Java 实例 - 数组反转 Java 实例 以下实例中我们使用 Collec ...
- 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和
057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...
- java中数组的相关知识
1. 2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages; ages=new int[5]; 3)int[]ags={1,2,3,4,5}; 4)int[ ...
- Java开发知识之Java字符串类
Java开发知识之Java字符串类 一丶简介 任何语言中.字符串都是很重要的.都涉及到字符串的处理. 例如C++中. 字符串使用内存. 并提供相应的函数进行处理 strcmp strcat strcp ...
- JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...
- Java开发知识之Java中的集合Set接口以及子类应用
---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...
- Java开发知识之Java中的集合上List接口以及子类讲解.
Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...
- Java开发知识之Java中的泛型
Java开发知识之Java中的泛型 一丶简介什么是泛型. 泛型就是指泛指任何数据类型. 就是把数据类型用泛型替代了. 这样是可以的. 二丶Java中的泛型 Java中,所有类的父类都是Object类. ...
- Java开发知识之Java的枚举
Java开发知识之Java的枚举 一丶什么是枚举 枚举可以理解为就是常量,在Java中我们定义常量.都是用 final语句. C++中都是用const关键字. 枚举跟C++概念都是一样的.就是特定的常 ...
随机推荐
- Iris项目结构
- Ad Hoc类问题
__________________________________ Ad Hoc类问题的方法:(1)机理分析法.分析题目描述,推出算法. (2)统计分析法.追寻最终的数学模型. Problem 1: ...
- STL顺序容器用法自我总结
顺序容器类型:vector.deque.list.forward_list.string.array. queue(单向队列)底层也是用deque(双端队列)实现的 a.swap(b); swap(a ...
- map-apply-applymap
In [1]: import warnings import math import pandas as pd import numpy as np import matplotlib warning ...
- C++11 新特性学习
在Linux下编译C++11 #include<typeinfo> int main() { auto a=; cout<<typeid(a).name()<<en ...
- C语言 time、rand、srand
C语言 time.rand.srand #include <time.h> time_t time(time_t *t); 功能:获取当前系统时间 参数:常设置为NULL 返回值:当前系统 ...
- 一个c程序的执行是从什么开始的?
一个C语言的执行是从本程序的main函数开始,到main函数结束,但需要注意的是,也是有特殊情况的,若是代码中出现了exit函数,则直接结束程序,对于这一点还是需要了解的. 关于c语言需要了解的是,C ...
- PHP基础学习笔记1
一.基本语法 1.1 形式 PHP 脚本以 <?php 开始,以 ?> 结束: <?php //php代码 ?> 1.2 注释 单行注释 //这是单行注释 多行注释 /* 这是 ...
- Unity 鼠标旋转物体360展示
PC端 using UnityEngine; using System.Collections; public class DragRound : MonoBehaviour { public Tra ...
- CF1208G Polygons 数论
题目链接:https://codeforces.com/contest/1208/problem/G 题意:给定两个正整数\(n\)和\(k\),询问在一个圆上你最少需要几个点,才能在这些点上构造出\ ...