美文网首页
Java中的数组

Java中的数组

作者: 掠光者 | 来源:发表于2016-09-07 12:12 被阅读0次

数组是由同一类型对象护着基本数据组成。

数组是对象,先定义数组名字,用动态的方式分配数组空间,再初始化的。

每个数组都有一个成员变量length,即含有元素的个数。

Java中数组的创建和使用

数组声明->创建->元素初始化->使用数组

1. 数组引用的声明

-无需指明元素个数,也不为数组元素分配内存空间

-必须初始化以后才能使用,不然就是空引用。

-两种数组声明方式:Type[] arrayName;  或者 Type arrayName[];

2.创建数组(使用动态分配的方法)

-用关键字new构成数组的创建表达式,制定数组类型和元素个数。元素个数可以是常量或者变量(只要变量已经取得值了就行)。例如:int[] ai; ai=new int[10];

-也可以将数组的声明和创建一并执行:int ai[]=new int [10];

-也可以在一条语句中创建多个数组:String[] s1=new String[3],s2=new String[8];

3.数组元素初始化

-如果定义时不初始化,是不会有垃圾数据的,数值型自动初始化为0;引用类型自动变为空引用(null)?(什么意思?);boolean类型默认值为false;

-初始化方法:声明数组名时,给出数组初值:int a[]={22,33,44,55};

4.数组的使用

-单独使用元素:arrayName[index],index类型必须是int,short,byte,或char

-下标计数从0开始

-元素个数即为数组长度,可以通过arryName.length得到

-数组名是一个引用(即,就是一个名字)例如:

例题1

a1数组在声明时就已经初始化了,一共有五个元素,而a2数组只进行了声明,也就是只是一个引用。当执行a2=a1;语句时,有点像C语言中的指针,a1、a2两个引用都指向了同一个数组。最后两个for循环,无论是通过a1还是a2名称,都是去访问了同一个数组。也就是同一个数组的两个名字。

-当我们真正想要复制一个数组出来,则可以用arraycopy这个方法:

数组的全部或者部分的复制

①数组元素部分复制:arraycopy的参数依次是:源数组,从源数组哪一个位置开始复制,目标数组,目标数组开始复制的位置,一共复制多少个字符。

部分复制

上面插图的最后一句,表明在Java中,字符数组不能够被当做字符串直接输出,而是将字符数组作为初始值,构造一个新的String对象,在进行输出。


以上,一维数组

一下,多维数组(以二维数组为例):

二维数组

-二维数组的声明和构造:

  ①int[][] myArray; //myArray是一个指向二维整数数组的引用,初始值为null(空引用)。使用时还需要初始化(new)。

  ②int[][] myArray=new int[3][5]; //同时构造并初始化引用,只是有了空间,没有初始值,默认均为0。

  ③int[][] myArray={{8,1,2,2,9},{1,9,4,0,3},{1,1,1,3,3}}; //也就是同时引用、构造并初始化数组。

例如:

二维数组长度的问题

-Java中二维数组的长度是指的数量,而非所有元素!

-而每一行都有自己的长度。Java中每一行的长度可以不一样的。例如上述的第一行,长度是3;

输出结果:第一行是二维数组的行数,接下来分别是每一行的元素个数

总的来说,Java中的二维数组就是由一维数组构成的数组!

课后习题疑问:

6. 对于下列代码

String str1=”java”;

String str2=”java”;

String str3 = new String(“java”);

StringBuffer str4 = new StringBuffer(“java”);

以下表达式的值为true的是()

str1==str2

str1==str4

str2==str3

str3==str4

相关文章

  • 【骚全带你学Java---九、认识java数组】

    java中数组 数组是指一组数据的集合,数组中的每个数据称为元素。在Java中,数组也是Java对象。数组中的元素...

  • 面试题总结

    1、Java中能创建Volatile数组吗? 能,Java中可以创建volatile类型数组,不过只是一个指向数组...

  • 多线程、并发及线程的基础问题

    一、Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是...

  • Android JNI 笔记 | int类型数组操作 |

    JNI 中需要操作一个数组,但这个数组是在Java中声明的,怎么实现呢?  需要进行操作的数组:  Java 类中...

  • Java数组

    Java数组 1.声明数组 在java中声明数组有两种形式:数组元素类型名[] 数组名;数组元素类型名 数组名 [...

  • Kotlin数组

    数组在Kotlin中使用Array类来表示。下面巴拉一下Kotlin数组和Java数组的区别。Java中的数组通常...

  • java 数组

    java数组:相同类型数据的有序集合 (数组元素的数据类型必须相同) 1. java 创建数组变量 数组中已有元素...

  • java基础-day06-数组

    数组【重点】 1. 数组 1.1 为什么要使用数组 1.2 生活中数组概念 1.3 Java中定义数组的格式【重点...

  • Java 数组

    Java 中,数组是一种引用类型。 Java 中,数组是用来存储固定大小的同类型元素。 数组对象(这里可以看成一个...

  • 玩转数据结构1-数组

    1. Java中的数组 Java中的数组是静态数组,使用场景主要是“索引有语意”的情况,比如按学号查找分数,索引为...

网友评论

      本文标题:Java中的数组

      本文链接:https://www.haomeiwen.com/subject/bpsjettx.html