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

下载本文档

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

文档简介

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个位置,另外一个存储7.数组之间赋值在C语言中,不

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

5、ystem.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); 3 数组的访问数组元素的访问: 数组名字索引 例如:a2;注意: 数组的索引从0开始。 索引的数据类型是整型 索引最大值和数组长度始终差1数组

6、的迭代数组迭代的两种方式: 第一种: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(临时变量名字 );即: for(int x:b1)System.out.prin

7、tln(x);注意: 两种方式的迭代都可以,第二种在企业工程开发中较为常用 增强for循环是JDK5之后增加的新特性。 多维数组的定义二维数组的定义: 多维数组即数组的数组,即数组的元素也是数组 例如: int a = 1,1,2,1,2,3;二维数组的声明: 三种方式:int a; int a1; int a2;注意:建议用第一种,不容易混淆a的数据类型 int a = new int 2;a0 = 1,2,3;a1 = 4,5,6; 多维数组的迭代: int b1 = new int 1,2,3,4;for(int i =0;i<b1.length;i+) for(int j =0;

8、j<b1i.length;j+)System.out.print(b1ij); 数组的拷贝在JDK API的System类中,提供了一个数组拷贝的静态方法: arraycopy(Object src, int srcPos, Object dest, int destPos, int length)           从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束int a=10,100,1000; int b

9、=20,200,2000,20000; System.arraycopy(a, 1, b, 2, 2); for(int x:b) System.out.println(x); 输出结果20 200 100 1000 值传递的定义值传递的本质是赋值,是把实际参数赋值给形式参数的过程 根本数据类型是值之间进行赋值 引用数据类型虚拟地址之间进行赋值根本数据类型:传递的是值value的拷贝 package com.etc.chapter03; public class TestPass public void add(int x) x+; System.out.println("add()

10、方法:x="+x); public static void main(String args) TestPass pass=new TestPass(); int x=100; pass.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=new TestB

温馨提示

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

评论

0/150

提交评论