java数组的概念和作用_第1页
java数组的概念和作用_第2页
java数组的概念和作用_第3页
java数组的概念和作用_第4页
java数组的概念和作用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 数组的概念和其他语言一样, Java 也提供数组支持,数组是属于引用类型,即数组是一个对象。强调数组的类型是引用类型。数组的基本概念及作用数组是相同数据类型元素的集合数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。数组的举例int a = new int 1,2,3,4,5;String s = new String " 小熊 ","小小熊 ","小小小熊 "Employee e=new Employee10; ( Employee 是自定义类)2 数组的声明数组的声明的两种方式:数据类型 数

2、组名字 例如: int a;数据类型 数组的名字 例如: int a ;注意:在 Java 语言中两种声明方法没有任何区别,但是建议大家用第一种,避免混淆 a 的数据类型。数组在声明后还只是一个空指针,不能使用,要想使用必须创建。数组创建的三种方式:? / 声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值char chAry = new char10;? / 声明数组并分配内存,同时将其初始化? int ary1 = new int1, 2, 3, 4, 5;? / 与前一种方式相同,仅仅只是语法相对简略? int ary2 = 1, 2, 3, 4, 5;从另一个角度

3、,数组创建可以分为动态和静态两种动态创建数组(没有为元素赋值,可以结合for 循环进行赋值)char chAry = new char10;静态创建数组,在创建的时候,即为每个元素赋初值int ary1 = new int1, 2, 3, 4, 5;数组的长度数组的长度: length 属性int b1 = new int 1,2,3,4,5,6,7;System.out.println(b1.length);注意:数组的长度是属性, String 的长度是 length ();创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。数组的长度虽然是7 ,但是在内存中实际给8 个位置,另外

4、一个存储 7.数组之间赋值在 C 语言中,不可以将数组直接赋值给另一个数组;在Java中,语法上允许这样做,但实际得到的效果是两个数组 引用指向同一块内存。int口 aryl = 2,4, 6, 8, 10;int口 ary2;ary2 = aryl; 允许这样赋值数组赋值示例public class ArrayDemo public static void main(String args) int ary1 = 2, 4, 6, 8, 10; /声明并初始化数组 1int ary2; /声明数组 2ary2 = ary1; /将数组1赋值给数组2ary23 = 1024; /通过数组2修改

5、其中一个元素的值/打印出数组1中的元素System.out.println(" 数组 1 中的元素:”);for (int i = 0; i < ary1.length; i+) System.out.println(ary1i);/打印出数组2中的元素System.out.println(" 数组 2 中的元素:”);for (int i = 0; i < ary2.length; i+) System.out.println(ary2i);iriT i=力uw mt/:iQl133数组的访问数组元素的访问:数组名字索引 例如:a2;一、/汪忠:数组的索引从0

6、开始。索引的数据类型是整型索引最大值和数组长度始终差1数组的迭代数组迭代的两种方式:第一种: for 循环int b1 = new int 1,2,3,4,5,6,7;System.out.println(b10);System.out.println(b12);/ 数组的迭代for(int i =0;i<b1.length;i+)System.out.println(b1i);第二种:增强 for 循环int b1 = new int 1,2,3,4,5,6,7;/ 增强 for 循环for( 数组元素的类型 临时变量名字 :数组的名字 )System.out.println( 临时变

7、量名字);即:for(int x:b1)System.out.println(x);注意:两种方式的迭代都可以,第二种在企业项目开发中较为常用增强 for 循环是 JDK5 之后增加的新特性。多维数组的定义二维数组的定义:多维数组即数组的数组,即数组的元素也是数组 例如:int 口口a = 1,1,2,1,2,3;二维数组的声明:三种方式:int 叩 a;int 口al口;int a2叩;注意:建议用第一种,不容易混淆 a的数据类型多维数组的创建过程: int a = new int 2口;电LIOk5C1 1叫UJ05022060423 21*1 .HI2 lerxgthu-Jicw ml

8、13| h aP -luF。: 司 1mfr 2 t:u|2 | ncv ini J|:O总 O 13u- u 1J 1J 2 -2 2 2 24OJOU 口HU aIOj(2) a(©) Ie i£h»1 a0 = 1,2,3;a1 = 4,5,6;多维数组的迭代:int bl = new int 叩1,2,3,4;for(int i =0;i<b1.length;i+)for(int j =0;j<b1i.length;j+)System. out.print(b1ij);数组的拷贝在JDK API的System类中,提供了一个数组拷贝的静态方法:

9、 arraycopy (Object src, int srcPos, Object dest, int destPos, int length)从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的 指定位置结束int口 a=10,100,1000;int b=20,200,2000,20000;System. arraycopy(a, 1, b, 2, 2);for(int x:b)System. out.println(x);输出结果20 200 100 1000|额组的特点及其优扶点1、射组是引用数据类型2、豺组是存储相同题据类型的集合3、射组的F标从0开始优点跳点】、越界检查

10、长度一经定义不能政娈2、通用算法值传递的定义值传递的本质是赋值,是把实际参数赋值给形式参数的过程基本数据类型是值之间进行赋值 引用数据类型虚拟地址之间进行赋值基本数据类型:传递的是值(value)的拷贝package com.etc.chapter03;public class TestPass public void add(int x)x+;System. out.println("add() 方法: x="+x);public static void main(String args) TestPass pass=new TestPass();int x=100;pa

11、ss.add(x);System. out.println("main() 方法: x="+x);用类型:传递的是引用( reference )public class TestByReference public void test(PersonalAccount a)a.deposit(2000);System. out.println("test 方法中 a 的余额 ="+a.getBalance();public static void main(String args) PersonalAccount a=new PersonalAccount("3333","123",1900);TestByReference t=ne

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论