ImageVerifierCode 换一换
格式:PPT , 页数:58 ,大小:1.49MB ,
资源ID:13221929      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13221929.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(JavaSE03_Java基础语法.ppt)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

JavaSE03_Java基础语法.ppt

1、单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Java SE,应用程序设计,Java SE,应用程序设计,2,本章学习目标,1,注释、分隔符、标识符和关键字,2,数据类型,3,方法、变量,4,值传递和关键字,this,5,标准输入输出,6,编码惯例,3,注 释,注释(,Comment,)是对源程序起解释说明作用的文本信息,适当使用注释能够增强代码的可读性。,Java,语言中定义了三种注释形式:,/单行注释-注释到行尾,/*单行或多行注释*/,/*可用于文档化处理的单行或多行注释*/,JDK,中提供了一个文档自动生成工具,javadoc,在自定义类中,p

2、ublic,的成员前以/*,*/形式加入的注释内容均可被自动提取到生成的说明文档中。用法:,somepathjavadoc,source.java,4,分隔符,Java,分隔符组成:,分号-;逗号-,空格-圆点-.,花括号-及,Java,分隔符作用:,Java,语句必须以分号作为结束标记,,for,循环语句中使用分号来分隔不同的成份。,逗号可以在方法声明或调用时的参数列表中用于分隔多个参数,也可在一条声明语句中同时声明多个属性或局部变量时起分隔作用。,Java,程序源代码中各组成部分之间可以插入任意数量的空格,包括换行。,圆点用于访问对象成员(属性或方法)时标明调用或隶属关系,其格式为对象名.

3、对象成员。,花括号用于构造语句块。,5,语句块,Java,允许用花括号将一组语句括起来,形成一个语句块(,block,),用法:,定义类时类体必须采用语句块形式。,定义方法时方法体必须采用语句块的形式。,定义循环语句时,循环体可以采用语句块的形式,采用将0多条语句集合到一起,作为一个整体进行处理。,语句块可以嵌套,嵌套层数无限制。,6,标识符,Java,语言中,为各种变量、方法和类等起的名字称为标识符(,identifier,)。,Java,标识符的命名规则:,应以字母、下划线(_)、美元符($)开头,后跟字母、下划线、美元符或数字,Java,标识符大小写敏感,长度无限制,举例:,合法的标识符

4、不合法的标识符,HelloWorld,class,DataClass,DataClass,#,_983,98.3,$,bS5_c7,Hell World,7,关键字,Java,语言中一些被赋以特定的含义、并用做专门用途的单词称为关键字(,keyword,)。,所有,Java,关键字都是小写的,,TURE、FALSE、NULL,等都不是,Java,关键字。,goto,和,const,虽然从未使用,但也作被为,Java,关键字保留。,true,false,虽被用做专门用途,但不是,Java,关键字。,8,Java,关键字表,abstract,assert,boolean,break,byte,c

5、ase,catch,char,class,const,continue,default,do,double,else,extends,final,finally,float,for,goto,if,implements,import,instanceof,int,interface,long,native,new,null,package,private,protected,public,return,short,static,strictfp,super,switch,synchronized,this,throw,throws,transient,try,void,volatile,whi

6、le,9,Ex3-1,练习在一个已有.,java,源代码文件中使用三种不同类型的注释,并用,javadoc,命令创建自己的类文档,体会其用法。,练习在已有应用程序的一个语句中插入多处空格、中间换行、将多个语句组成一个语句块儿(置于,“,”,中),并编译运行程序,体会其自由程度。,测试并体会,Java,标识符、关键字的使用规则:在程序中试将不合法的标识符(如:3,ar,*,bily,d9#8,等)、或关键字作为变量名、方法名或类名,编译然后改正错误。,10,数据类型,数据类型就是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称。,常用数据类型:,整型、浮点型、字符型、字符串型、布尔型

7、按照对数据类型的使用约束程度来划分,高级编程语言可分为:,强类型语言(,Strong Typed Languages,),弱类型语言(,Weakly Typed Languages,),11,Java,数据类型,Java,数据类型,引用类型,基本类型,数值型,布尔型(,boolean,),整型(,byte,short,int,long,),浮点型(,float,double,),类(,class,),接口类型(,interface,),数组类型,枚举类型(,Enum,),字符型(,char,),注解类型(,Annotation,),Java,数据类型层次结构,12,基本数据类型,基本类型,(

8、Primitive Type,),的数据只能保存单一的值,因此也被称为原始类型、或简单类型。,Java,中定义了四类/八种基本数据类型,逻辑型-,boolean,文本型-,char,整数型-,byte,short,int,long,浮点型-,float,double,13,整 型,整型数据用于保存整数信息,,Java,提供了四种不同的整数类型,各有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证,Java,程序的可移植性,类 型,占用存储空间,表数范围,byte,1字节,-128 127,short,2字节,-2,15,2,15,-1,int,4字节,-2,31,2,31,-1,l

9、ong,8字节,-2,63,2,63,-1,14,整型常量表示,Java,语言整型常量的三种表示形式:,十进制整数,如,12,-314,0,八进制整数,要求以0开头,如,012,十六进制数,要求,0,x,或,0,X,开头,如,0,x1,2,Java,语言的整型常量默认为,int,型,声明,long,型常量可以后加,l,或,L。,举例:,int,a=39;,int,b=0 x4b;,int,c=021;,int,d=a+0 x12+012;/,等价于,d=39+18+10;,long m=3L;,long n=m+40;,15,浮点型,Java,浮点型包括,float,和,double,两种,分

10、别用于保存单精度和双精度的浮点数。,浮点型有固定的表数范围和字段长度:,类 型,占用存储空间,表数范围,float,4字节,-3.403,E383.403E38,double,8字节,-1.798,E3081.798E308,16,浮点型常量表示,Java,浮点类型常量有两种表示形式,十进制,必须含有小数点,也可采用科学计数法表示,例如,3.65 0.12 .12 4.236e2 1.24e2 4.5E-3,十六进制,从,JDK5.0,开始引入,十六进制浮点数只能采用科学记数法表示,其格式为:,例如,0,x1.2p3,,,转换为十进制的计算方法为:,Java,浮点型常量默认为,double,型

11、如要声明,float,型常量为,则需在数字后面加,f,或,F,,,如:,0 x1.2p3=(1*16,0,+2*16,-1,)*2,3,=9.0,double d=3.14;,float f=3.14f;,17,字符型,基本概念:字节、字符、字符集、字符编码。,char,型数据用来表示通常意义上,“,字符,”,,,Java,语言采用16位,Unicode,编码保存。,字符常量的三种表示方法:,使用单引号括起来的单个字符,例如:,十六进制编码形式表示,例如:,使用转义字符来将其后的字符转变为其它的含义,例如:,char c=A;,char c1=u0061;,char c2=n;/,代表换行符

12、18,布尔型,boolean,类型数据用来表示只有两种状态的逻辑值,分别代表现实生活中的特定条件成立与否,通常用于逻辑运算和程序流程控制。,boolean,类型数据只允许取值,true,或,false,,,不可以0或非0的整数替代,true,和,false,。,用法举例:,boolean,b=true;,if(b,=false),System.out.println(haha,);,else,System.out.println(hehe,);,19,Ex3-2,编写,Java,应用程序,测试并体会各种原始类型数据的定义,赋值和输出。,输出可采用下述形式的语句:,/,其中,x,是变量名,如,

13、a,b,c,等。,使用,char,型的三种常量声明方式为,char,型变量赋值并输出。,System.out.println(x,=+x);,20,引用数据类型,Java,语言中除8种基本数据类型以外,其它的数据类型统称为引用类型(,Reference Type,),具体包括:类、接口、数组、枚举和注解类型。,引用类型数据以对象的形式存在。,引用类型变量的值是某个对象的句柄,而不是对象本身。,声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象。,21,引用类型应用举例(1),public class,MyDate,private,int,day=17;,private,in

14、t,month=2;,private,int,year=2007;,public,MyDate,(),public,MyDate(int,d,int,m,int,y),day=d;,month=m;,year=y;,public void,setDay(int,d)day=d;,public,int,getDay,()return day;,public void,setMonth(int,m)month=m;,public,int,getMonth,()return month;,public void,setYear(int,y)year=y;,public,int,getYear,()r

15、eturn year;,public void display(),System.out.println(year,+-+month+-+day);,22,引用类型应用举例(2),public class,TestReferenceType,public static void,main(String,args,),MyDate,d1;,d1=new MyDate(8,8,2008);,d1.display();,23,对象构造和初始化(1),为引用类型变量分配引用空间,语句:,内存状态:,创建新对象,为新对象分配内存空间,并进行属性(实例变量)的默认初始化。,语句:,内存状态:,MyDate

16、d1;,d1,d1=,new MyDate(8,8,2008),;,d1,0,0,0,year,month,day,MyDate,对象,24,对象构造和初始化(2),Java,对象默认初始化规则,属性类型,默认初值,byte,0,short,0,int,0,long,0,L,char,u0000,float,0.0,F,double,0.0,D,boolean,false,所有引用类型,null,25,对象构造和初始化(3),进行属性的显式初始化,显式初始化取值来自于类的定义中属性声明部分。,语句:,内存状态:,说明:如果属性在声明时未指定缺省值,则在这个环节就不对其进行赋值操作。,priv

17、ate,int,day=17;,private,int,month=2;,private,int,year=2007;,d1,2007,2,17,year,month,day,MyDate,对象,26,对象构造和初始化(4),执行构造方法体中的语句。,语句:,内存状态:,说明:此时新建对象和先前声明的变量,d1,间还是没有建立任何关联。,public,MyDate(int,d,int,m,int,y),day=d;,month=m;,year=y;,d1,2008,8,8,year,month,day,MyDate,对象,27,对象构造和初始化(5),为引用类型变量赋值。,语句:,内存状态:,

18、说明:此时变量,d1,保存的并不是新建对象封装的具体信息、如属性值等,而是该对象的句柄(,Handle,)。,d1,=,new MyDate(8,8,2008);,0,x3a478b,d1,2008,8,8,year,month,day,MyDate,对象,28,Ex3-3,运行,P26,页程序,体会,Java,引用数据类型的实现机制,思考并讨论下述问题:,基本数据类型和引用数据类型的区别?,引用类型变量和对象的区别?,类和对象的关系?,29,方 法,方法(,Method,),是类的动态性能,描述了该类事物所共有的功能或行为。,Java,语言的方法相当于其它编程语言中的函数(,Function

19、),或子程序(,Subroutine,),是用来完成相对独立功能的一段代码的集合。,语法规则:,Java,语言的方法必须定义在类中,而不允许直接出现在源文件内。,只有其所在类的对象才有资格调用方法。,方法的定义不允许出现嵌套。,30,形参、实参及返回值,形式参数,在方法被调用时用于接收外界输入的数据;,实参,调用方法时实际传给方法的数据,返回值,方法在执行完毕后返还给调用它的环境的数据。,返回值类型,事先约定的返回值的数据类型。如无返回值,在,Java,中也必须给出返回值数据类型为,void。,定义构造方法时则不允许给出返回值类型。,31,方法举例,public class,TestMeth

20、od,public,int,m1(,int,a,int,b,int,c,),int,result=a+b+c;,return result,;,public,void,m2(,int c,),System.out.println(,c,);,public static void,main(,String,args,),TestMethod,tm=new,TestMethod,();,int,j=tm.m1(,3,4,5,);,System.out.println(,j,);,System.out.println(,tm.m1(100,10,9),);,tm.m1(,1,2,3,);/,合法,丢

21、弃了返回结果,tm.m2(,6,);,/,int,k=tm.m2(,8,);/,非法,方法,m2(),无返回值,32,相关语法,方法形参列表格式:,Java,语言中使用下述形式调用方法:,实参列表格式如下:,实参可以是变量、常量或表达式,但其数目、类型和出现的顺序必须和相应的形参保持一致,此称为参数匹配。,return,语句用于终止方法的运行并指定要返回的数据。如果方法的最后一行没有,return,语句,则编译时系统会添加,return;,。,(,数据类型1 参数名1,数据类型2 参数名2,),对象名.方法名(实参列表),(参数1,参数2,),33,变 量,变量(,Variable,),用于记

22、录数值可以改变的数据。,计算机技术中变量包括变量名和变量值两部分:,变量名,用于标记一段特定的存储空间,变量值,以二进制形式保存在该空间中,且可以被访问和修改。,变量分类,按所属数据类型划分:,基本类型变量,引用类型变量,按声明的位置划分:,局部变量,方法或语句块内部定义的变量,成员变量,方法外部、类的内部定义的变量,34,变量声明和初始化,Java,语言中变量必须先声明和初始化(赋初值),然后才可以使用。,成员变量在类的定义中声明,在创建对象的同时创建有关的成员变量,然后由系统自动对其进行默认初始化和显式初始化。,局部变量声明语法格式:,举例:,说明:形参属局部变量,方法调用时会被隐含的初始

23、化。,=,=;,public void m1(int,a,int,b,),int,i,;,int,j,=,i,+4;/,编译出错,变量,i,尚未初始化,int,k,=,a,+,b,;,35,变量作用域与生存期,变量的作用域也称变量的作用范围,即一个变量在多大的范围内可以使用:,成员变量的作用域与其所属对象的作用域相同,局部变量的作用域就是它所在的方法或语句块。,变量的生存期即变量的生存时间:,局部变量的生存期就是其所在方法或语句块单次执行的期间,在程序每一次调用方法或运行进入到一个语句块中时,其中的局部变量才被创建并可用,随方法/语句块的退出,局部变量将被销毁。,成员变量的生存期与其所属的对象

24、相同,随着对象的创建而创建、随对象的销毁而销毁。,36,数据存储细节,计算机的物理内存在操作系统和,JVM,中使用时分为堆内存和栈内存两种方式:,堆内存(,Heap Memory,),由所有的应用程序公用,存储空间分配不连续,存储容量大。在堆内存中分配存储空间和进行存取操作速度较慢。,栈内存(,Stack Memory,),由特定应用程序专用,存储空间是连续的,以栈的方式(后进先出)进行管理,存储容量小,但访问速度快。,Java,程序运行时,局部变量保存在栈内存中,而对象及其成员变量保存在堆内存中。,37,变量作用域举例,class C,private,int,a=1;,private,int

25、b=5;,public void m1(),int,i=4,j=5;,a=i+j;,public void m2(int i),int,j=8;,a=i+j;,System.out.println(a,);,public class,TestVariable,public static void,main(String,args,),C c=new C();,c.m1();,int,k=4;,c.m2(k);,38,值传递,Java,语言中进行赋值操作或函数调用中传递参数时,遵循值传递(,Pass By Value,),的原则,即传递的永远是参数的值。,Java,值传递分为两种不同情形:,基

26、本类型数据传递的是该数据的值本身。,引用类型数据传递的是对对象的引用(句柄),而非对象本身。,39,值传递举例(1),public class,BirthDate,private,int,day;,private,int,month;,private,int,year;,public,BirthDate,(),public,BirthDate,(,int,d,int,m,int,y),day=d;,month=m;,year=y;,public void,setDay(int,d)day=d;,public,int,getDay,()return day;,public void,setMon

27、th(int,m)month=m;,public,int,getMonth,()return month;,public void,setYear(int,y)year=y;,public,int,getYear,()return year;,public void display(),System.out.println(year,+-+month+-+day);,40,值传递举例(2),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthD

28、ate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b),b=new BirthDate(22,2,2004);,public void change3(Birt

29、hDate b),b.setDay(22);,41,值传递演示(1),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.displa

30、y();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,栈内存,堆内存,程序开始时内存状态,42,值传递演示(2),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=n

31、ew BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b

32、setDay(22);,main,栈内存,堆内存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,处内存状态,43,值传递演示(3),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2

33、d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,处内存状态,9,i

34、change1,44,值传递演示(4),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.displa

35、y();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,处内存状态,1234,i,change1,45,值传递演示(5),public class Example,public static void,main(String,ar

36、gs,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=ne

37、w BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,处内存状态,46,587934,值传递演示(6),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,Bi

38、rthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内存,

39、110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,处内存状态,b,change2,47,666888,值传递演示(7),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.

40、change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,处内存状态,b,change2,22

41、2,2004,48,值传递演示(8),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display

42、);,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,处内存状态,49,354752,值传递演示(9),public class Example,public static void,main(String,args,),Exam

43、ple ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDa

44、te(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,处内存状态,b,change3,50,354752,值传递演示(10),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,

45、BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.change3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内

46、存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,22,1,处内存状态,b,change3,51,值传递演示(11),public class Example,public static void,main(String,args,),Example ex=new Example();,int,date=9;,BirthDate,d1=new BirthDate(7,7,1970);,BirthDate,d2=new BirthDate(1,1,2000);,ex.change1(date);,ex.change2(d1);,ex.cha

47、nge3(d2);,System.out.println(date,=+date);,d1.display();,d2.display();,public void change1(int i)i=1234;,public void change2(BirthDate b)b=new BirthDate(22,2,2004);,public void change3(BirthDate b)b.setDay(22);,main,栈内存,堆内存,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,22,1,处内存状态,52,Ex3-4,练习值传递

48、演示中的例程,,Example.java,,,体会和巩固,Java,中值传递的思想。,编写,Java,类,MyTool,,,实现下述功能并测试:,复制,BirthDate,类(见,P39,页)对象;,public,BirthDate,copy(BirthDate,d),给定一个,BirthDate,对象,返回对应其一周后日期的,BirthDate,对象(假定每月均为30天),public,BirthDate,nextWeek(BirthDate,d),53,关键字,this,(1),Java,中为解决变量的命名冲突和不确定性问题,引入关键字,this,代表其所在方法的当前对象,具体可分为两种情

49、况:,在普通方法中,关键字,this,代表方法的调用者、即本次调用了该方法的对象;,在构造方法中,关键字,this,代表了该方法本次运行所创建的那个新对象。,在,Java,方法中既可以直接使用本方法的局部变量,还可以使用方法当前对象的成员变量。,54,关键字,this,(2),public class,MyDate,private,int,year,month,day;,public,MyDate,(),public,MyDate(int,day,int,month,int,year),this.year,=year;,this.month,=month;,this.day,=day;,pub

50、lic void,setYear(int,year),this.year,=year;,public void,setMonth(int,m)month=m;,public void,setDay(int,d)day=d;,public void setting(),this.setYear(2008);,this.setMonth(8);,setDay(11);,/,同,this.setDay(11);,public void display(),System.out.println(day,+-+month+-+year);,55,标准输入/输出(1),读取控制台输入,/源文件,TestI

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服