05 - JavaSE之数组
一维数组
java中的数组是引用类型,分配在堆空间上。
一维数组的声明方式:
type var[];
type[] var;
java中声明数组时不能指定其长度,如下,因为java中的数组是分配在堆空间的,需要new出来。
int[] a = new int[5];
动态初始化
- 数组定义与为数组元素分配空间和赋值的操作分开进行。
int a[];
a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
静态初始化
- 在定义数组的时候就为数组元素分配空间并赋值。
int a[] = {1, 2, 3};
Date days[] = {
new Date(1, 4, 2004);
new Date(2, 4, 2004);
new Date(3, 4, 2004);
}
数组元素的默认初始化
- 数组是引用类型,他的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化了。
int a[] = new int[3];
Date days = new Date[3];
// 则a中元素值为0;days中的元素值为null
二维数组
- java中多维数组的声明和初始化按照从多维到高维的顺序进行。
// 例如
int a[][] = new int [3][];
a[0] = new int[3];
a[1] = new int[4];
a[2] = new int[5];
// int t[][] = new int[][3]; // 错误
二维数组初始化
- 静态初始化
int A[][] = {{1,2}, {3,4}, {5,6,7}};
// 错误 int B[3][2] = {{1,2}, {3,4}, {5,6}};
// 错误 int B[][2] = {{1,2}, {3,4}, {5,6}};
// 错误 int B[3][] = {{1,2}, {3,4}, {5,6}};
- 动态初始化
int a[][] = new int[2][3];
// 或者
int b[][] = new int[2][];
b[0] = new int[3];
b[1] = new int[4];
数组的拷贝
- 使用 java.lang.System 类的静态方法
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
可以用于数组 src 从第 srcPos 项元素开始的 length 个元素拷贝到目标数组dest 的从 destPos 项开始的 length 个位置。
如果源数据数目超过目标数组边界会抛出 IndexOutOfBoundsException 异常。
public class TestArrayCopy {
public static void main(String args[]) {
String[] s =
{"Mircosoft","IBM","Sun","Oracle","Apple"};
String[] sBak = new String[6];
System.arraycopy(s,0,sBak,0,s.length);
for(int i=0;i<sBak.length;i++){
System.out.print(sBak[i]+" ");
}
System.out.println();
int[][] intArray = {{1,2},{1,2,3},{3,4}};
int[][] intArrayBak = new int[3][];
System.arraycopy
(intArray,0,intArrayBak,0,intArray.length);
intArrayBak[2][1] = 100;
for(int i = 0;i<intArray.length;i++){
for(int j =0;j<intArray[i].length;j++){
System.out.print(intArray[i][j]+" ");
}
System.out.println();
}
}
}
05 - JavaSE之数组的更多相关文章
- Java-Runoob-高级教程-实例-数组:05. Java 实例 – 数组输出
ylbtech-Java-Runoob-高级教程-实例-数组:05. Java 实例 – 数组输出 1.返回顶部 1. Java 实例 - 数组输出 Java 实例 以下实例演示了如何通过循环输出数 ...
- 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现
073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...
- 「JavaSE 重新出发」05.02 泛型数组列表、包装类
泛型数组列表 ArrayList 是一个采用类型参数(type parameter)的泛型类(generic class). java ArrayList<Employee> staff ...
- 【C语言学习】-05 二维数组、字符串数组、多维数组
⼆二维数组.字符串数组.多维数组
- 05 方法与数组笔记【JAVA】
---恢复内容开始--- 1:方法(掌握) (1)方法:就是完成特定功能的代码块. 注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法. (2)格式: 修饰符 返回值类型 方法名(参数类 ...
- java学习第05天(数组常见操作、数组中的数组)
(4)数组常见操作 a.遍历取值 class ArrayDemo3 { public static void main(String[] args) { //System.out.println(&q ...
- Java 基础入门随笔(6) JavaSE版——数组操作
1.数组 概念:同一种类型数据的集合.其实就是数组就是一个容器. 好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式: ①. 元素类型[] 数组名 = new 元素类型[元素个数或数组 ...
- JAVASE(八) 数组: 一维数组、二维数组、动态数组、静态数组
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.一维数组 1.1 数组的声明和初始化声明方式: String str[]; //不建议使用 Stri ...
- JavaSE学习总结第06天_Java语言基础2 & 面向对象1
06.01 二维数组概述和格式1的讲解 二维数组概述:二维数组其实就是一个元素为一维数组的数组 格式1:数据类型[][] 变量名 = new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...
随机推荐
- vue+大文件分片上传
最近公司在使用vue做工程项目,实现大文件分片上传. 网上找了一天,发现网上很多代码都存在很多问题,最后终于找到了一个符合要求的项目. 工程如下: 对项目的大文件上传功能做出分析,怎么实现大文件分片上 ...
- Visual C++实现局域网IP多播
//////////////////////////////////////////////////////////////////////////////////////////////////// ...
- Video Processing and Communications:(视频处理和通信)
https://max.book118.com/html/2017/1010/136711526.shtm Application of (GAN) of AI faceswap in Music V ...
- Using Spring.net in console application
Download Spring.net in http://www.springframework.net/ Install Spring.NET.exe Create a console appli ...
- UNIGUI接收普通消息和被动回复用户消息
接收普通消息和被动回复用户消息 用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复 ...
- cxGrid的FilterRow默认自动匹配左边%而不是右边%
/==============================================================================// 修改cxGrid的FilterRow ...
- RocketMQ概述
概述 ApacheRocketMQ是一个低延时.高性能.可靠.海量并且灵活扩展性的分布式消息和流平台,于2017年9月25日成为Apache基金会顶级开源项目.它由4个部分组成:name server ...
- C#调用接口注意要点
在用C#调用接口的时候,遇到需要通过调用登录接口才能调用其他的接口,因为在其他的接口需要在登录的状态下保存Cookie值才能有权限调用, 所以首先需要通过调用登录接口来保存cookie值,再进行其他接 ...
- ASP.NET MVC 实现有论坛功能的网站(有iis发布网站)
ASP.NET MVC. M 为Model模型层, V 为View视图层, C 为Controller控制层.要想使用MVC框架来写网站就需要了解M V C 的作用分别为哪些.给大家简单的介绍一下: ...
- AJPFX:外汇的价格图表类型和技术指标类型
AJPFX:价格图表的类型 柱状图 它是反映价格行为的一种最基本的图表.每一根柱代表一段时间——最短为1分钟,最长为数年.随着时间的推移,柱状图反映出不同的价格形态. 蜡烛图 不同于简单的柱状图,蜡烛 ...