数组是相同数据类型元素的集合   数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。

在java中如果想要保存一组基本类型的数据,使用数组;如果想保存一组对象或者其他类型的复杂数据可以使用集合。

数组的举例

int [] a = new int []{1,2,3,4,5};

String [] s = new String []{"小熊","小小熊","小小小熊"};

Employee [] e=new Employee[10];(Employee是自定义类)

数组创建的三种方式: 

声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值

char[] chAry = new char[10];

int[] arrayD = new int[2]{1,2}; //错误的初始化,不能同时定义维和初始化值

声明数组并分配内存,同时将其初始化

int[] ary1 = new int[]{1, 2, 3, 4, 5};

与前一种方式相同,仅仅只是语法相对简略

int[] ary2 = {1, 2, 3, 4, 5};

从另一个角度,数组创建可以分为动态和静态两种

动态创建数组(没有为元素赋值,可以结合for循环进行赋值)      char[] chAry = new char[10];

静态创建数组,在创建的时候,即为每个元素赋初值      int[] ary1 = new int[]{1, 2, 3, 4, 5};

数组的长度  

数组的长度:length属性

int [] b1 = new int []{1,2,3,4,5,6,7};

System.out.println(b1.length);

注意:数组的长度是属性,String的长度是length() 方法;

注意与String类型的String.length()区分。Array使用的是成员变量的方式,而String使用的是成员方法的方式。

同时,Array.length只能得到数组的大小,而无法得到数组实际有多少元素。多维数组的length只计算第一维的长度。

创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。

数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储7.

数组之间赋值 

在C语言中,不可以将数组直接赋值给另一个数组;

在Java中,语法上允许这样做,但实际得到的效果是两个数组引用指向同一块内存。

int[] ary1 = {2, 4, 6, 8, 10};

int[] ary2;

ary2 = ary1;  //允许这样赋值

ary2[3] = 1024;  //通过数组2修改其中一个元素的值

数组元素的访问: 数组名字[索引]

例如:a[2]; 注意:数组的索引从0开始。

索引的数据类型是整型  索引最大值和数组长度始终差1

二维数组的定义:   

多维数组即数组的数组,即数组的元素也是数组

例如:  int [][]a = {{1},{1,2},{1,2,3}};

二维数组的声明: 三种方式

int [][] a;

int []a1[];

int a2[][];  注意:建议用第一种,不容易混淆a的数据类型

多维数组的迭代:  

int [][] b1 = new int [][]{{1,2},{3,4}};

for(int i =0;i<b1.length;i++){

for(int j =0;j<b1[i].length;j++){

System.out.print(b1[i][j]);

}

}

java基础语法 数组的更多相关文章

  1. Java基础语法(数组)

    第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...

  2. Java基础语法(7)-数组

    title: Java基础语法(7)-数组 blog: CSDN data: Java学习路线及视频 1.数组的概述 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并 ...

  3. Java基础语法(8)-数组中的常见排序算法

    title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...

  4. 2、Java 基础语法标识符、修饰符、变量、 数组、枚举、关键字

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  5. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

  6. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  7. 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现

    073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...

  8. 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法

    072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...

  9. 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法

    071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...

随机推荐

  1. swift - 表格的编辑功能(添加、删除)

    表格(tableview)的确是一个很好用的控件,现在来实现一个编辑功能的实现,包含添加和删除,删除包括长按删除和左滑删除 效果图如下: 具体代码如下: 1.创建表格(这个表格有2个区,有区头和区尾) ...

  2. linux解压和压缩

    1.压缩命令: 命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径. 2.解压缩命令: 命令格式:tar  -z ...

  3. Websphere停止服务不用输入账号密码

    启用了安全性的WebSphere Application Server,在日常维护中经常在停止服务的时候需要输入用户名和密码.停止的方式如下:[root@was /]# /opt/IBM/WebSph ...

  4. jQUery中closest和parents的主要区别是

    ①,前者从当前元素开始匹配寻找,后者从父元素开始匹配寻找: ②,前者逐级向上查找,直到发现匹配的元素后就停止了,后者一直向上查找直到根元素,然后把这些元素放进一个临时集合中,再用给定的选择器表达式去过 ...

  5. c++11——lambda表达式

    lambda表达式 函数式编程的一个语法,有如下优点: (1)声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象.以更直接的方式写程序,好的可读性和可维护性. (2) ...

  6. jQuery性能优化整理

    1.总是从ID选择器开始继承 2.class选择器之前使用tag 3.将jQuery对象缓存起来 4.使用链式操作 5.使用子查询 6.对直接的DOM操作进行限制 7.当需要对dom进行多次操作时,使 ...

  7. SimpleDateFormat使用详解 <转>

    public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类. 它允许格式化 (d ...

  8. flash 逐字,逐行歌词实现,添加伪3D效果

    项目结构: 效果如图: 项目为公司项目,下载人员禁止用于商业项目中. 项目开发工具:FlashDevelop 点击下载

  9. myBatis调用postgreSQL存储过程

    1.调用没有OUT参数的存储过程: 创建存储过程: create or replace function get_code(a1 varchar(32)) returns varchar(32) as ...

  10. FlashDevelop导入swc库

    项目不是AS项目,而是基于FlashIDE. 一 将SWC放入项目lib文件夹下 二 选择lib文件夹,右键,选择添加到库 三  FlashIDE中选择 文件-ActionScript设置 四 选择浏 ...