




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,标识符、关键字、数据类型,第三课,2,本课内容,注释及分隔符、Java文档化工具标识符关键字Java基本数据类型Java引用类型String类型方法结构及用法值传递关键字this,3,Java注释,Java语言中定义了三种注释形式:/单行注释-注释到行尾/*单行或多行注释*/*可以用于文档化处理的单行或多行注释*/JDK中提供了一个文档自动生成工具javadoc,在自定义类中public的成员前以/*/形式加入的注释内容均可被自动提取到生成的说明文档中。用法:somepathjavadocsource.java,4,Ex1,练习在一个已有.java源代码文件中使用三种不同类型的注释,并用javadoc命令创建自己的类文档,体会其用法。,5,Java分隔符,Java分隔符组成:圆点-“.”、分号-“;”、花括号-“”、空格-“”Java分隔符作用:Java语句必须以分号作为结束标记Java允许用花括号“”将一组语句括起来,形成一个语句块(block)Java程序源代码中各组成部分之间可以插入任意数量的空格,包括换行。,6,Java分隔符,Java语句块(block)用法:定义类时类体必须采用语句块形式定义方法时方法体必须采用语句块的形式定义循环语句时,循环体可以语句块的形式,采用将0多条语句集合到一起,作为一个整体进行处理语句块可以嵌套,嵌套层数无限制,7,EX2,练习在已有应用程序的一个语句中插入多处空格、中间换行、将多个语句组成一个语句块儿(置于“”中),并编译运行程序,体会其自由程度。,8,变量,程序执行中数值可变的数据称为变量。变量包括变量名和变量值。,变量名用标识符命名,对应一定数量的内存存贮单元,其单元数视变量类型而定。,标识符符合一定命名规则的字符串序列。,9,使用变量的注意事项,变量命名不能重复Java区分大小写变量必须先定义,再使用只有定义过,才能为其分配相应数量的存储单元一旦定义,变量类型才能确定,才能检查其运算的合法性,10,标识符(1),Java语言中,为各种变量、方法和类等起的名字称为标识符Java标识符的命名规则:应以字母、下划线、美元符开头后跟字母、下划线、美元符或数字Java标识符大小写敏感,长度无限制,11,标识符(2),Java标识符举例,12,关键字(1),Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字;goto和const虽然从未使用,但也被作为Java关键字保留;true,false,null虽被用做专门用途,但不是Java关键字;,13,关键字(2),14,EX3,测试并体会Java标识符、关键字的使用规则:在程序中试将不合法的标识符(如:3ar,*bily,d9#8等)、或关键字作为变量名、方法名或类名,编译然后改正错误。,15,Java数据类型划分,数据类型,基本数据类型,引用数据类型,数值型,字符型(char),布尔型(boolean),整数类型(byte,short,int,long),浮点类型(float,double),类(class),接口(interface),数组,16,Java基本数据类型,Java中定义了四类/八种基本数据类型逻辑型-boolean字符型-char整数型-byte,short,int,long浮点数型-float,double,17,逻辑型,boolean类型适于逻辑运算,一般用于程序流程控制boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。用法举例:booleanb=false;if(b=true)/dosomething,18,字符型,char型数据用来表示通常意义上“字符”字符常量是用单引号括起来的单个字符charc=A;Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示charc1=u0061;Java语言中还允许使用转义字符来将其后的字符转变为其它的含义charc2=n;/代表换行符,19,整数类型(1),Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性:,20,整数类型(2),Java语言整型常量的三种表示形式:十进制整数,如12,-314,0。八进制整数,要求以0开头,如012十六进制数,要求0 x或0X开头,如0 x12Java语言的整型常量默认为int型,如:inti=3;声明long型常量可以后加l或L,如:longl=3L;,21,浮点型(1),Java浮点类型有固定的表数范围和字段长度,22,浮点型(2),Java浮点类型常量有两种表示形式十进制数形式,必须含有小数点,例如:3.14314.0.314科学记数法形式,如3.14e23.14E2314E2Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:doubled=3.14;floatf=3.14f;,23,基本数据类型变量声明和赋值,publicclassTestpublicstaticvoidmain(Stringargs)booleanb=true;/声明boolean型变量并赋值intx,y=8;/声明int型变量floatf=4.5f;/声明float型变量并赋值doubled=3.1415;/声明double型变量并赋值charc;/声明char型变量c=u0031;/为char型变量赋值x=12;/为int型变量赋值,24,EX4,1.运行P23页Example,体会各种原始数据类型的定义,赋值和输出。输出可采用下述形式的语句:System.out.println(a=+a);/其中a是变量名。2.使用char型的三种常量声明方式为char型变量赋值并输出。,25,Java引用类型,Java语言中除8种基本数据类型以外的数据类型称为引用类型引用类型数据以对象的形式存在引用类型变量的值是某个对象的句柄,而不是对象本身声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象,26,Java引用类型应用举例,publicclassMyDateprivateintday=12;privateintmonth=6;privateintyear=1900;publicMydate(intd,intm,inty)year=y;month=m;day=d;publicvoiddisplay()System.out.println(year+/+month+/+day);publicstaticvoidmain(Stringargs)MyDatem;m=newMyDate(22,9,2001);m.display();,27,对象的构造和初始化(1),为引用类型变量分配引用空间MyDatem;,创建新对象-首先为新对象分配内存空间,并进行属性(实例变量)的默认初始化newMyDate(22,9,2001);,null,null,m,0,0,0,day,month,year,m,28,对象的构造和初始化(2),Java引用类型成员变量默认初始化原则,29,对象的构造和初始化(3),进行属性(成员变量)的显式初始化,显式初始化取值来自于类的定义中属性声明部分privateintday=12;privateintmonth=6;privateintyear=1900;,null,m,12,6,1900,day,month,year,30,对象的构造和初始化(4),执行构造方法publicMydate(inty,intm,intd)year=y;month=m;day=d;,null,m,22,9,2001,day,month,year,31,对象的构造和初始化(5),为引用类型变量m赋值m=newMyDate(22,9,2001);,0 x3a478b,m,22,9,2001,day,month,year,0 x3a478b,32,EX5,运行P26页程序,体会Java引用数据类型的实现机制并思考:基本数据类型和引用数据类型的区别?引用类型变量和对象的区别?类和对象的关系?,33,String类,String是最常用的一种Java引用类型String类对象保存不可修改的Unicode字符序列String常量是用双引号括起来的0到多个字符,例如:Strings=HelloWorld;String类型数据可以和任何其它数据类型进行+操作,实现字符串连接的效果。,34,值传递,Java中进行赋值操作或函数调用中传递参数时,遵循值传递的原则:基本类型数据传递的是该数据的值本身引用类型数据传递的是对对象的引用(句柄),而非对象本身,35,值传递举例(1),classBirthDateprivateintday;privateintmonth;privateintyear;publicBirthDate(intd,intm,inty)day=d;month=m;year=y;publicvoidsetDay(intd)day=d;publicvoidsetMonth(intm)month=m;publicvoidsetYear(inty)year=y;publicintgetDay()returnday;publicintgetMonth()returnmonth;publicintgetYear()returnyear;publicvoiddisplay()System.out.println(day+-+month+-+year);,36,值传递举例(2),publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,37,值传递演示(1),main,程序开始执行时内存状态,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,38,值传递演示(2),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,i,d1,354752,d2,1970,7,7,2000,1,1,39,值传递演示(3),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,9,i,change1,40,值传递演示(4),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,1234,i,change1,41,值传递演示(5),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,42,值传递演示(6),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,587934,b,change2,43,值传递演示(7),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,666888,b,change2,22,2,2004,44,值传递演示(8),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,45,值传递演示(9),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,354752,b,change3,46,值传递演示(10),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,22,1,354752,b,change3,47,值传递演示(11),main,栈内存,堆内存,publicclassExamplepublicstaticvoidmain(Stringargs)Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println(date=+date);d1.display();d2.display();publicvoidchange1(inti)i=1234;publicvoidchange2(BirthDateb)b=newBirthDate(22,2,2004);publicvoidchange3(BirthDateb)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,22,1,48,EX7,练习值传递演示中的例程,Example.java,体会和巩固Java中值传递的思想。编写Java类MyTool,实现下述功能并测试:复制BirthDate类(见P9页)页对象;publicBirthDatecopy(BirthDated)给定一个BirthDate对象,返回对应其一周后日期的BirthDate对象(假定每月均为30天)publicBirthDatenextWeek(BirthDated),49,关键字this(1),Java中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。构造方法中指该方法所创建的新对象普通方法中指调用该方法的对象,50,关键字this(2),范例0404Test.java,51,关键字this(3),publicclassThisSampleprivateintyear;privateintmonth;privateintday;publicThi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Module 10 Unit 2 教学设计 2023-2024学年外研版英语八年级下册
- 2024年初级经济师题库附答案
- 二零二五年度个人停车位租赁及物业管理服务合同
- 二零二五年度分手后个人肖像权许可协议
- 二零二五年度终止劳动合同协议书:GGG公司员工HHH合同终止及竞业限制协议
- 二零二五年度工程抵债房产租赁与物业管理协议
- 2025年度职业教育机构与企业实习合作合同
- 二零二五年度知识产权运营公司挂靠合作协议
- 二零二五年度诊所财务人员聘用及预算合同
- 二零二五年度家庭赡养老人医疗费用分摊协议
- 发展汉语-初级读写-I-第八课
- 跨境电商基础PPT完整全套教学课件
- 初中物理科技小论文【6篇】
- 蕉岭县幅地质图说明书
- 学院中层正副职民主测评表
- 不宁腿综合征
- 检修期间安全措施
- 2023年湖南中医药高等专科学校单招考试职业技能考试模拟试题及答案解析
- 八年级数学下册同步练习(全册)
- 安全生产条件核查表
- 冀教版六年级下册数学全册教案完整版教学设计(含教材分析、教学计划及进度表)
评论
0/150
提交评论