1、一维数组

  • 数组是用来存储一组相同数据类型数据的数据结构
  • 数组的元素可以是简单数据类型的数据,也可以是引用数据类型的数据
  • 无论数组内容是简单类型还是引用类型,数组自己本身都是一种引用类型
  • 每个数组元素都有下标,下标从0开始

定义一维数组

int array1[ ];
int [ ] array2,array3;

在数组定义中,不能指定数组的长度,需要在数组的创建阶段来指定

符号“[]”说明声明的是一个数组对象。这两种声明方式没有区别,但是第二种可以同时声明多个数组

// 创建大小为10个整型的数组
int[] array = new int[10]; // 创建大小为5个整型的数组并初始化
int[] array = {1, 2, 3, 4, 5}; // 等号右边的中括号不能填大小,有大括号中的具体数值决定
int[] array = new int[]{1,2,3,4,5};

2、length实例变量

int[] arr = new int[10];

arr.length 表示数组长度

3、一维数组复制

// 从 src 数组 srcPos 位置开始拷贝 length 长度到 dest 数组 destPos 开始的位置

// 参数1:原数组

// 参数2:复制原数组的起始位置

// 参数3:目标数组

// 参数4:目标数组存放的起始位置

// 参数5:复制的长度

System.arraycopy(src, srcPos, dest, destPos, length);

int[] arr1 = new int[];
int[] arr2 = new int[]; // 该语句会把 arr1 也指向 arr2 数组,改变 arr2 数组的值,arr1 数组的值也会改变
//arr1 = arr2; // 该语句会把 arr2 数组中的值复制到 arr1 数组中,改变 arr2 中的值,不会影响 arr1 数组
//System.arraycopy(arr2, 0, arr1, 0, arr2.length);

4、二维数组

int[][] two = new int[5][6];

two.length表示数组的行数,two[i].length表示数组的列数。

5、不规则数组

int[][] two = new int[4][];            // 数组有4行

two[0] = new int[1];  // 第1行有1列

two[0] = new int[2];      // 第1行有2列

two[0] = new int[3];      // 第1行有3列

two[0] = new int[3];      // 第1行有4列

6、for-each循环:用来遍历数组

for (数据类型 变量x : 遍历对象) {

  应用x的语句

}

// for-each 访问一维数组
public class Array {
public static void main(String[] args) {
int sum = ;
int[] arr = {, , , , };
for (int i : arr) {
sum += i;
}
System.out.println(sum);
}
}

结果:15

// for-each 访问二维数组
public class Array {
public static void main(String[] args) {
int sum = ;
int[][] arr = {{, },{, }};
for (int i[] : arr) {
for (int j : i) {
sum += j;
}
}
System.out.println(sum);
}
}

结果:10

Java 数组的定义和遍历的更多相关文章

  1. java 数组声明定义 数组内存分配 数组初始化 数组引用 数组的遍历

    一,数组的定义 Java 中定义数组的语法有两种: 1. type arrayName[]; 2. type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,ar ...

  2. java 中二维数组的定义和遍历

    定义格式 * a 第一种定义格式: * int[][] arr = new int[3][4];// arr里面包含3个数组 每个数组里面有四个元素 * 上面的代码相当于定义了一个3*4的二维数组,即 ...

  3. Java数组的定义和使用

    如果希望保存一组有相同类型的数据,可以使用数组. 数组的定义和内存分配 Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName; type 为Java ...

  4. JAVA数组的定义及用法

    数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; ...

  5. Java数组的声明和遍历

    Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 n ...

  6. 10、Java 数组的定义和使用

    1.数组的定义 首先举一个小例自:如果你现在需要定义100个int类型的变量,那么按照前俩节的做法为: int a = 1, b=2 , c=3.......; 可以发现我们的代码特别的冗余,而且不美 ...

  7. Java——数组的定义与使用

    数组的定义与使用 1.数组的基本概念 (1)数组的动态初始化: 数组首先先开辟内存空间,而后再使用索引进行内容的设置,这种定义数组的方式称为动态初始化 数组是引用数据类型,存在有内存分配问题.在使用前 ...

  8. java中一维数组的定义和遍历

    public class ArrayDemo1{ public static void main(String[] args){ //1 定义数组 并同时赋值 int[] arr = new int[ ...

  9. PHP数组的定义和遍历

    //常用函数//生成随机数//echo rand(3,33); //两个参数来确定随机数的范围为3-33 //日期时间函数echo time(); //取当前时间的UNIX时间戳//date_defa ...

随机推荐

  1. Effective C++ 条款05:了解C++编写并调用哪些函数

    规则一 编译器默认操作 // 你认为 class Empty { }; // 实际上 class Empty { public: Empty() { ... } // default 构造函数 Emp ...

  2. Android开发中的logcat工具使用

    http://os.51cto.com/art/200905/126051.htm 用adb直接查看log:    adb logcat 清除之前的log: adb logcat -c 加过滤查看lo ...

  3. C语言排序算法之简单交换法排序,直接选择排序,冒泡排序

    C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 /*简单交换法排序 根据序列中两个记录键值的比较结果来对换这两 ...

  4. apue.3e源码下载及编译

    下载地址:http://www.apuebook.com/code3e.html 编译方法:http://blog.sina.com.cn/s/blog_94977c890102vdms.html

  5. 报错如HTTP Status 404 - /ssh_crm/jsp/linkman/add.jsp/

    明显是写错了, HTTP Status 404 - /ssh_crm/jsp/linkman/add.jsp/ 应该改成 HTTP Status 404 - /ssh_crm/jsp/linkman/ ...

  6. koa2使用&&中间件&&angular2的koa托管

    文章导航 1,koa2使用: 2,写中间件: 3,koa2路由配置angular2; 一.先上代码,一篇,看完koa2中大多基础方法: const Koa=require('koa'); const ...

  7. POJ 2502 最短路

    http://poj.org/problem?id=2502 同一条地铁线上的站点相邻点间按照v2建边,然后所有点之间按照v1更新建边,所有的边都是双向边,both directions. 然后直接跑 ...

  8. visualvm监控jvm及远程jvm监控方法

    VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具.它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览H ...

  9. 【lightoj-1026】Critical Links(桥)

    题意: 给出无向图,求桥的模板题. #include <bits/stdc++.h> using namespace std; ; int dfn[N], low[N];//时间戳;low ...

  10. ARM 内核SP,LR,PC寄存器

    深入理解ARM的这三个寄存器,对编程以及操作系统的移植都有很大的裨益. 1.堆栈指针r13(SP):每一种异常模式都有其自己独立的r13,它通常指向异常模式所专用的堆栈,也就是说五种异常模式.非异常模 ...