一)、什么是数组:

  数组是一组具有相同类型和名称的变量集合,把一系列相同类型的数据保存在一起,这些变量称为数组的元素;每个元素都有一个编号,这个编号叫做下标,下标从 0 开始;元素的个数被称为数组的长度,数组数一种复合数据类型。

  数组的特点是其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。这一点也是数组的缺点;可以存放重复的元素。

二)、数组定义和初始化:

  数组定义完成后必须经过初始化才可以使用,初始化数组的方式可以分为两种,静态初始化和动态初始化;

  静态初始化: 数据类型[] 数组名 ={元素1,元素2……};

  动态初始化:数据类型[] 数组名= new 数据类型[数组长度]; 或 数据类型[] 数组名 =new 数据类型[]{元素1,元素2……};

  静态初始化中 声明并直接赋值,创建内存空间。

  第一种动态初始化中 声明并创建内存空间,等待赋值。第二种动态初始化中 声明并创建内存空间,并赋值。

三)、多维数组:

  Java中数组分为一维数组和多维数组,多维中每行的元素个数不同,即每行的列数可以不同。已二维数组举例

  二维数组声明与初始化:

    数组元素类型 数组名[][] = {{行数,列数},{行数,列数},,……};  示例: int temp [ ] [ ] = {{1,2},{2,3},{3,4,5}};

    数组元素类型 数组名[][] = new 数组元素类型[行数][列数];  示例: int[][] temp; temp=new int[3][] ;

    数组元素类型[][] 数组名 = new 数组元素类型[行数][列数];  示例: int[][]  temp= {{1,2},{3,4}};

  二维数组的初始化也分为静态和动态两大种

  静态初始化:在定义数组的同时为数组分配空间。不必指出数组每一维的大小,系统会根据初始化时给出的初始值个数自动算出每一维的大小。

  动态初始化:对高维数组来说,分配内存空间有以下两种方法。

    数组元素类型 数组名[][] = new 数组元素类型[行数][列数];

    数组元素类型[][] 数组名 = new 数组元素类型[行数][列数];

//一维数组遍历
int[] arr =new int[]{1,2,3,4,5,6};
int l=arr.length-1;
for(int a=0;a<=l;a++) {
System.out.println(arr[a]);
}

遍历数组时用到 length 关键字来取到数组的长度,然后利用for循环下标将数组全部输出

        int[][] arr= {{1,1},{2,2},{3,3}};
for(int a=0;a<=arr.length-1;a++) {
System.out.println("数组"+arr[a]);
for(int b=0;b<=arr[a].length-1;b++) {
System.out.println("数组输出"+arr[a][b]);
}
}

给数组赋值:

一维数组

        int[] arr= new int[5];
for(int a=0;a<=arr.length-1;a++) {
arr[a]=a;
System.out.print(arr[a]+" ");
}
结果:
0 1 2 3 4

二维数组

        int[][] arr=new int[3][];
arr[0]=new int[1];
arr[1]=new int[2];
arr[2]=new int[3];
for(int a=0;a<=arr.length-1;a++) {
for(int b=0;b<=arr[a].length-1;b++) {
arr[a][b]=b;
System.out.print(arr[a][b]+" ");
}
System.out.println(" ");
} 结果:
0
0 1
0 1 2

Java基础-7数组的更多相关文章

  1. Java基础-反转数组

    /** java基础,如何将一个数组反转,思考方法采用使用临时变量的情况下,将第一个元素与第二个元素进行反转,需要定义两个索引,一个记录数组的第一个元素与最后一个元素,将其两两交换* */public ...

  2. Java基础之 数组详解

    前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...

  3. java基础(十) 数组类型

    1. 数组类简介   在java中,数组也是一种引用类型,即是一种类. 我们来看一个例子,理解一下数组类: public static void main(String[] args) { Class ...

  4. java 基础概念 -- 数组与内存控制

    问题1: Java在声明数组的过程中,是怎样分配内存的? 在栈内存中 建一个数组变量,再在堆内存中 建一个 数组对象.至于详细的内存分配细节,还得看 该初始化是 数组动态初始化 还是 数组静态初始化. ...

  5. Java基础:数组的声明,循环,赋值,拷贝。

    数组的声明 一般有两种形式的声明: int[] a; int a[]; 这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号. 声明一个数组,并没有将a真正的初始化为一个数组 ...

  6. Java基础总结--数组

    ---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容 ...

  7. java 基础知识-数组的7种算法(排序、求和、最值、遍历...)

    遍历 遍历就是把这个数组的每个元素 显示出来 遍历的方法就是先定义这个数组的大小,然后用FOR循环来完成数组,例如 double[] score = new double[5]; Scanner in ...

  8. Java基础之数组类型

    对于Java,前面的一些基础概念不是很想写,看了看还是从数组开始写吧(毕竟数组是第一个引用类型,相对复杂一点),我也是学了JAVA不是很久,目前看完了JAVA的基础视频,还有JAVA疯狂讲义这本书的大 ...

  9. 黑马程序员——JAVA基础之数组

    ------- android培训.java培训.期待与您交流! ---------- 数组: 数组的定义: 数组是相同类型数据的集合, 描述的是相同类型的若干个数据按照一定的先后顺序排列组合而成,其 ...

  10. Java基础从数组到集合之间关键字的区别!!!!

    1.&& 和 &区别和联系: 相同点 : 结果是一样的.       不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判 ...

随机推荐

  1. Jmeter入门7 测试中使用到的几个定时器和逻辑控制器

    1 测试中提交数据有延时1min,所以查询数据是否提交成功要设置定时器. 固定定时器页面:单位是毫秒 [dinghanhua] 2 集合点.Synchronizing Timer 集合点编辑:集合用户 ...

  2. Uva 11997 多路归并

    题目链接:https://uva.onlinejudge.org/external/119/11997.pdf 题意: k*k的矩阵,从每一行中选一个元素加起来,可以得到 kk个和,求前 k 个最小值 ...

  3. 递归遍历目录拷贝cdh下的lib到一个目录

    destpath='/home/hadoop/soft/hadoop-2.0.0-cdh4.5.0/cdhlib/'jarpath='/home/hadoop/soft/hadoop-2.0.0-cd ...

  4. CUDA数组分配

    原问链接 概述:数组分配可以通过cudaMallocArray()和cudaMalloc3DArray() 1.cudaMallocArray() cudaError_t cudaMallocArra ...

  5. IE 兼容模式 设置 Meta Compatible 和 Iframe 子页面的关系

    背景 因为历史原因,之前很多的系统都会是 顶级页面+Iframe来加载子级页面的这种模式构件系统,而且系统都只能运行在IE6或者IE 高版本兼容模式下(IE 7模式). 随着现在的审美原来越高,脚本能 ...

  6. SpringBoot学习13:springboot异常处理方式3(使用@ControllerAdvice+@ExceptionHandle注解)

    问题:使用@ExceptionHandle注解需要在每一个controller代码里面都添加异常处理,会咋成代码冗余 解决方法:新建一个全局异常处理类,添加@ControllerAdvice注解即可 ...

  7. HDU.2111 Saving HDU(贪心)

    题目来源:Saving HDU 题意分析: XHD有个容量为v的口袋,有n个宝贝,每种宝贝的价值不一样,每种宝贝单位体积的价格也不一样,宝贝可以分割,分割后的价值和对应的体积成正比.求XHD最多能取回 ...

  8. Codeforces#498F. Xor-Paths(折半搜索)

    time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standa ...

  9. Java分享笔记:使用keySet方法获取Map集合中的元素

    /*--------------------------- Map集合中利用keySet方法获取所有的元素值: ....keySet方法:将Map中的所有key值存入到Set集合中, ....利用Se ...

  10. JavaWeb各大组件生命周期

    JavaWeb各大组件生命周期 servlet生命周期 服务器打开:在第一次请求时实例化与初始化:然后进行服务:最后服务器关闭销毁 Cookie生命周期:存储在客户端 如果不设置过期时间,则表示这个c ...