java数组的学习

一维数组的创建
数组名 = new 数据元素类型[ 元素个数 ]

数组的内存模型
数组是存储多个相同类型变量的对象。数组的所有元素保存在堆内存中。
•创建一个数组就是在堆中创建一个数组对象。
•数组创建后立即拥有默认值。
•索引从0开始。
•连续分配

数组的初始化
在创建数组的同时就为数组元素分配空间并赋值
int a[ ] = {1,2,3,4,5} ;
数组类型 数组名[ ] = {元素1,元素2,…}
int a[ ] = new int[]{1,2,3,4,5} ;
数组类型 数组名[ ] = new 数据类型[ ]{元素1,元素2,…}

数组元素的访问
Java中,数组元素的下标从0开始
元素的下标可以是整型常量或整型表达式
数组名[元素下标] = 元素值;

int a[ ] ;
a = new int[5] ;
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;

数组元素的访问
循环遍历字符串数组{“red”,”orange”,”yellow”,“green”,“blue”,”purple”},并将其打印
String color[] = { "red", "orange", "yellow", "green", "blue", "purple" };
for (String c: color) {
System.out.println(c);
}

数组中的常见异常
// 异常一:数组没有创建
int a[] = null;
a[0] = 1;
System.out.println(a[0]);
// 异常二:下标越界
int a[] = { 1, 2, 3 };
System.out.println(a[3]);

多维数组

多维数组的声明
二维数组的声明
数组类型 数组名 [ ] [ ]
数组类型[ ] [ ] 数组名
数组类型[ ] 数组名 [ ]
int a[ ] [ ] ;
int[ ][ ] b ;
int[ ] c[ ] ;
二维数组的创建
数组名 = new 数据元素类型[ 行数 ] [ 列数 ] ;
数组名 = new 数据元素类型[ 行数 ] [ ] ;
a = new int [3][4] ;
a = new int [3][ ] ;
a = new int [ ][4] ; //非法
必须声明行的个数

多维数组的初始化
数组类型 数组名[ ][ ] = { {元素11,元素12,…} , {元素21,元素22,… } }
数组类型 数组名[ ][ ] = new 数据类型[ ][ ] { {元素11,元素12,…} , {元素21,… } }
int a[ ][ ] = { {1,2,3}, {4,5}, {7} } ;
int a[ ][ ] = new int[ ][ ]{ {1,2,3}, {4,5}, {7} } ;

int[ ][ ] a = new int[3][ ];
a[0] = new int[2];
a[1] = new int[3];
a[2] = new int[4];
a[0][0] = 1;
a[0][1] = 2;

多维数组的内存表示
int a[ ][ ] = { {1,2,3}, {4,5}, {7} } ;

 多维数组的访问

int[][] a = {{1, 2}, {3, 4, 5, 6}};
// for
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.println(a[i][j]);
}
}
// for/each
for (int[] t: a) {
for (int e: t) {
System.out.println(e);
}
}

原文地址:https://www.cnblogs.com/konglxblog/p/10396679.html

时间: 2024-10-20 12:06:50

java数组的学习的相关文章

Java数组定义学习的一些随笔

//一维数组的定义 int[] arr1 = new int[3];//arr1 = {1,2,3}: 错误 int[] arr2 = new int[]{1,2,3};//int[] arr2 = new int[3]{1,2,3}; 错误 int arr3[] = {4,5,6}; //二维数组的定义 //二维数组中一维数组长度一致的数组 int[][] arr4 = new int[2][3]; //二维数组中一维数组长度不一致的数组 2个一维数组 一个长度2 一个长度3 int[][]

【java开发】数组基本学习

一维数组 定义:具有相同数据类型的一组数据. 声明:int []a=new int[3];    释义:该数组的数据类型为int型,该数组长度为3,有3个元素 可采用如下方式为元素赋值:a[0]=1;a[1]=2;a[2]=3; 总结:元素的长度为3,但是数组的下标从0开始,但是最大值由此可看出为2,即长度比下标大1,java中用length表示长度,即a.length=3; 还有一种常见的数组声明方式:int []a={1,2,3};效用和上面等同 为了验证上述数组基本属性,可写一个简单测试:

Java数组合并方法学习。

参考博客: https://blog.csdn.net/liu_005/article/details/72760392 https://blog.csdn.net/jaycee110905/article/details/9179227 在做一道算法题的时候用到数组合并,并且有性能要求,这里对Java数组合并进行学习总结. 分析可以得出,因为数组是定长的,所以解决方法,构造一个新数组,将需要合并的数组放到新数组里面. 使用Arrays.copyOf来构造一个合并之后长度的数组,并将其中一个数组

Java 数组学习笔记

数组的简单认识 简单理解java数组,就是可以创建并组装它们,通过使用整型索引值访问它们的元素,并且它们的尺寸不能改变,这里的它们就是数组. 数组的特殊性 在java中有很多方式去持有对象,那么数组的与众不同点在哪里? 数组与其他种类的容器区别有三个方面:效率.类型和保存基本类型的能力. 在java中,数组是一种效率最高的存储和随机访问对象引用序列的方式.数组就是一个简单的线性序列,这使得元素访问非常迅速.但是为之付出的代价就是数组对象的大小被固定,并且在其生命周期中不可改变. 在泛型之前,其他

java数组学习

1. java数组的静态特性:          java是静态语言,java中数组的长度是固定的.还有,数组元素的类型也是在定义时指定了的. 2. java数组里的关键词:          数组变量 : 引用变量 , 不过这个引用的类型是数组类型.数组类型很奇特,不需要程序员来设计类的属性和方法,只要在已知的引用类型(类,接口,还有数组)后加一个[], JVM就自动生成了这样的新类型.         作为一个变量,它是存在于栈空间中的.不过由于其是一个引用变量,其所指向的内容(保存的值)是

java数组学习笔记

发现自己基础知识学的不够扎实,慢慢回顾下! 数组创建: 方式一:type[] 变量名 = new type[元素个数];  ——如:int[] a = new int[10]; 方式二:type 变量名[] = new type[元素个数];  ——如:int a[] = nwe int[10]; 方式三:type[] a= new type[]{初始化值,逗号分隔} ——如:int[] a=new int[]{1,2,3} 初始化时,不能同时定义维和初始化值  ——例如 :int[] a=ne

java中反射学习整理

转载请注明:http://blog.csdn.net/j903829182/article/details/38405735 反射主要是指程序可以访问,检测和修改它本身的状态或行为的一种能力. java中反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装载,无须在组件之间进行链接.反射允许在编写与执行时,使程序能够接入到jvm中的类的内部信息,而不是源代码中选定的类协作的代码.这使反射成为构建灵活应用代码的主要工具.需要注意的是,如果使用不当,反射的成本会很高. package

JAVA数组的定义及用法

数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; 当中类型(type)能够为Java中随意的数据类型,包含简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量. 另外一种形式对C++开发人员可能认为非常奇怪,只是对JAVA或C#这种开发语言来说,另外一种形式可能更直观,由于这里定义的仅仅是个变量而已,系统

Java多线程技术学习笔记(二)

目录: 线程间的通信示例 等待唤醒机制 等待唤醒机制的优化 线程间通信经典问题:多生产者多消费者问题 多生产多消费问题的解决 JDK1.5之后的新加锁方式 多生产多消费问题的新解决办法 sleep和wait的区别 停止线程的方式 守护线程 线程的其他知识点 一.线程间的通信示例 返目录回 多个线程在处理同一资源,任务却不同. 假设有一堆货物,有一辆车把这批货物往仓库里面运,另外一辆车把前一辆车运进仓库的货物往外面运.这里货物就是同一资源,但是两辆车的任务却不同,一个是往里运,一个是往外运. 下面