Java语言3Java数组、语句和函数.ppt_第1页
Java语言3Java数组、语句和函数.ppt_第2页
Java语言3Java数组、语句和函数.ppt_第3页
Java语言3Java数组、语句和函数.ppt_第4页
Java语言3Java数组、语句和函数.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

第三章Java数组、语句和函数,数组的定义,数组是很重要的数据结构,由同一类型相关的数据结构组成,是静态实体,有链表,队列,堆栈等数据结构,Java还提出了数组的类vector。在Java中,数组是对象,数组类型是引用类型,数组变量实际上是对数组的引用。Java数组是动态分配的,并在分配过程中记录数组的长度。数组下标从0开始。,数组,在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。栈中数组或对象的引用变量,取值等于数组或对象在堆内存中的首地址。可在程序中使用栈中的引用变量来访问堆中的数组或对象。,数组,堆内存和栈内存intx;x=newint100;x=null;的内存状态变化情况,数组,创建数组intia=1,2,3,4;intia=newint3,4,5;inta5;/声明数组时,不能指定其长度,编译时将出错。数组大小仅当对它赋值(或分配)时才能确定正确的方式如:inta=newint5;使用数组时要注意的问题空指针异常数组越界异常:访问超出数组边界的元素如何得到数组长度myArray.length应用实例:书P50,数组的数组,如何理解多维数组,类似我们的棋盘。java中并没有真正的多维数组,只有数组的数组,Java中数组的数组不一定是规则矩阵形式。定义一个数组的数组intxx;xx=newint3;xx0=newint3;xx1=newint2;,数组的数组,数组的数组中元素的引用方式,如:x12。规则矩阵数组可以在一条语句中产生,如:intxx=newint23;数组的数组的静态初始化,如:intxx=3,2,7,1,5,6;,与数组相关函数,使用System.arraycopy()函数拷贝数组用Arrays.sort来排序数组,数组的应用实例,用Java输出杨辉三角形,定义二维数组描述三角形元素:aROW+1,分配每一行数组的列数,finalintROW=8;inta=newintROW+1;,for(inti=0;i=ROW;i+)ai=newinti+1;,数组的应用实例,用Java输出杨辉三角形,for(inti=0;i=ROW;i+)for(intj=0;j=b)?a:b;,switch语句的选择结构,Switch(表达式)case常量表达式1:语句1;case常量表达式2:语句2;case常量表达式n:语句n;default:语句n;default语句是可选的,它接受除上面接受值的其他值,通俗的讲,就是谁也不要的都归它。case后面可以跟多个语句,这些语句可以不用大括号括起来。,switch语句的选择结构,switch语句的判断条件,可接受int,byte,char,short型,不可以接受其他类型(为什么不能在switch语句中对字符串进行检测?书P61)一旦碰到第一次case匹配,就会开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,后面case条件下的代码都会被执行,直到碰到break语句为止。我们可以利用这个特点来用同一段语句处理多个case条件编写程序计算某年某月有多少天?(书P55),while循环语句,While(表达式)语句;intx=1;while(x3)System.out.println(x=+x);x+;留心:while表达式的括号后面一定不要加“;”实例书P59,do-while循环语句,do语句while(表达式);/必然会执行一次publicclassTestDopublicstaticvoidmain(Stringargs)intx=3;while(x=0)System.out.println(ok1);x+;inty=3;doSystem.out.println(ok2);y+;while(y=0);,do-while循环语句,编写一个程序,这个程序不断地读取从键盘上输入的字符,直到读到字符q时,程序结束。提示:调用System.in.read();可以读取到一个从键盘上输入字符对应的整数。体会在什么样的情况下,用do-while循环语句比while循环语句方便。,do-while循环语句,intx=0;dotryx=System.in.read();catch(Exceptione)System.out.println(char)x);while(x!=q);考虑采用While语句,该程序如何编写?,for循环语句,for(表达式1;表达式2;表达式3)语句for(intx=1;x10;x+)System.out.println(x=+x);等效于intx=1;for(;x1,x1,x2,x2,x1的结果,用二进制(Integer.toBinaryString(x)、十进制和十六进制数(Integer.toHe

温馨提示

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

评论

0/150

提交评论