




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度交通事故民事调解协议书生效条件及理赔说明
- 2025年度装卸工劳务薪酬及福利合同
- 2025年度虚拟现实体验馆合伙人合作协议书
- 二零二五年度房地产信托投资基金入股合同
- 二零二五年度资质借用及投标产业链整合合作协议
- 二零二五年度旅游行业试用期员工协议书编制指南
- 二零二五年度绿色金融股权协议元转让与绿色信贷合同
- 二零二五年度房屋产权转让前后物业管理权交接协议
- 2025年度道路桥梁施工环境保护验收合同
- 二零二五年度婚前财产协议:婚前财产独立性与婚后财产权益维护协议
- DZ/T 0462.8-2023 矿产资源“三率”指标要求 第8部分:硫铁矿、磷、硼、天然碱、钠硝石(正式版)
- 2024年大兴安岭职业学院单招职业适应性测试题库及答案1套
- 2024中核集团中核资本招聘笔试冲刺题(带答案解析)
- CAS铝镁质保温施工施工方法及工艺技术
- 北师大版四年级下册认识三角形和四边形
- 2023风电机组预应力混凝土塔筒与基础结构设计标准
- 2024年上海公安机关勤务辅警招聘笔试参考题库附带答案详解
- 《传染病》PPT课件完美版-2024鲜版
- 健康知识科普讲座主题
- 2024年事业单位考试昆明市A类《职业能力倾向测验》深度预测试题含解析
- 产品试用免责声明
评论
0/150
提交评论