Java基本语法课件.ppt

Java基本语法课件.ppt

ID:57011786

大小:273.00 KB

页数:27页

时间:2020-07-26

Java基本语法课件.ppt_第1页
Java基本语法课件.ppt_第2页
Java基本语法课件.ppt_第3页
Java基本语法课件.ppt_第4页
Java基本语法课件.ppt_第5页
资源描述:

《Java基本语法课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象程序设计Object-orientedProgramming主讲人:徐珊珊辽宁工程技术大学软件学院Java6程序设计实践教程第2章Java基本语法(3)第2章Java基本语法(3)数组有关内存分配的知识一维数组的声明、创建和初始化数组元素的引用一维数组的应用二维数组的定义和使用与数组操作相关的方法有关内存分配的知识有关内存分配的一些知识Java把内存划分成两种:栈内存和堆内存局部变量和对象的引用变量都在方法的栈内存中分配在一段代码块定义一个变量,Java就在栈中为其分配内存空间,当超过变量的作用域后,Java会自动释放掉此内存空间由new创建的对象和数组都在堆

2、内存中分配在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理有关内存分配的知识有关内存分配的一些知识在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,这个变量就成了数组或对象的引用变量引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象引用变量在程序运行到其作用域之外后会自动释放数组和对象在没有引用变量指向它时,会变为垃圾,但不会自动释放,由垃圾回收器收走一维数组的声明、创建和初始化数组的基本概念数组:一组有顺序、具有相同数据类型的数据集合数组长度

3、:数组元素个数数组下标:数组元素在数组中相对位置数组维数:数组下标个数Java中数组特殊之处:数组属于引用类型,把它当作对象来处理数组中的每个元素相当于对象的成员变量Java中数组元素可以是任何数据类型:包括基本类型和引用类型一维数组的声明、创建和初始化声明数组两种格式:数组元素数据类型数组名[];数组元素数据类型[]数组名;例如:intx[];int[]x;注:Java在声明数组时并不为数组元素分配内存,所以[]中没有指出数组的长度inta[3];//非法,声明数组时不定指定长度int[3]a;//非法,声明数组时不定指定长度一维数组的声明、创建和初始化创建数组(为

4、数组分配内存空间)利用new关键字创建数组,格式为:数组名=new数组元素数据类型[数组元素个数];x=newint[10];//创建10个元素的整型数组声明数组和创建数组同时完成,例如:intx[]=newint[10];//默认元素值全为0等价于:intx[];//声明数组,执行后内存状态如图ax=newint[10];//创建数组,执行后内存状态如图b一维数组的声明、创建和初始化栈内存…………?堆内存int[]x只在此方法运行时存在此方法中定义的变量某个方法的栈空间图a内存布局栈内存…………0x3000堆内存int[]x只在此方法运行时存在此方法中定义的变量某个

5、方法的栈空间图b…000x[0]x[1]x[9]newint[10]产生的对象0x3000(对象首地址)一维数组的声明、创建和初始化内存布局一维数组的声明、创建和初始化数据类型初始值byte0Short0int0long0Lfloat0.0Fdouble0.0char'u0000'booleanfalse引用数据类型null数组中各种数据类型的初始值栈内存…………null堆内存int[]x只在此方法运行时存在此方法中定义的变量某个方法的栈空间图c…000x[0]x[1]x[9]newint[10]产生的对象0x3000(对象首地址)一维数组的声明、创建和初始化内存布

6、局可使引用变量x不指向任何数组,只需将常量null赋值给x(x=null),语句执行后内存状态如图c所示一维数组的声明、创建和初始化publicclassTest{publicstaticvoidmain(String[]args){ints[];s=newint[5];for(inti=0;i<5;i++){s[i]=i;}}}堆内存ss?栈内存一维数组的声明、创建和初始化publicclassTest{publicstaticvoidmain(String[]args){ints[];s=newint[5];for(inti=0;i<5;i++){s[i]=i;}

7、}}堆内存ss***栈内存00000publicclassTest{publicstaticvoidmain(String[]args){ints[];s=newint[5];for(inti=0;i<5;i++){s[i]=i;}}}一维数组的声明、创建和初始化堆内存ss***栈内存04321一维数组的声明、创建和初始化数组的初始化动态初始化:先定义后初始化inta[]=newint[4];a[0]=1;a[1]=2;a[2]=3;静态初始化:定义同时初始化inta[]={1,2,3};或inta[]=newint[]{1,2,3};这样是错误的:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。