java语言基础(数据类型)课件

PPT
  • 阅读 52 次
  • 下载 0 次
  • 页数 47 页
  • 大小 183.699 KB
  • 2022-11-13 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
java语言基础(数据类型)课件
可在后台配置第一页与第二页中间广告代码
java语言基础(数据类型)课件
可在后台配置第二页与第三页中间广告代码
java语言基础(数据类型)课件
可在后台配置第三页与第四页中间广告代码
java语言基础(数据类型)课件
java语言基础(数据类型)课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 47
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
文本内容

【文档说明】java语言基础(数据类型)课件.ppt,共(47)页,183.699 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-7165.html

以下为本文档部分文字说明:

1Part1注释、标识符、关键字、数据类型第3章JAVA语言基础2本章内容注释及分隔符、Java文档化工具标识符关键字Java基本数据类型Java引用类型值传递关键字this3Example:/***Description:Thisclassi

s*countstoanumberdictatedby*theinputtotheprogram.*Copyright:Copyright(c)2007*Company:DalianUniversityofTechnology*@authorVivianZhao*@version1.1*/4

Cont..publicclassCountingProgram{/***ThismethodcountsfromzerotoX,printing*the“count”tothescreen.*@paramcountNumberTheintnumbertocountto

.*/publicstaticvoidcount(StringcountNumber){intcountTo=newInteger(countNumber);//forloop…for(inti=0;i<coun

tTo;i++)System.out.println(“Count=“+(i+1));}publicstaticvoidmain(Stringargs[]){if(args[0]==null)System.out.println(“shouldinputanumber");elsecount

(args[0]);}}5Java注释Java语言中定义了三种注释形式://单行注释----注释到行尾/*单行或多行注释*//**可以用于文档化处理的单行或多行注释*/JDK中提供了一个文档自动生成工具javadoc,在自定义类中public的成员前以/**…*/形式加入的注释内容均可

被自动提取到生成的说明文档中。用法:somepath\javadocsource.java还可指定目录javadoc–dsomepathsource.java6常用的@标记-javadoc标记Javadoc能识别标记@的一些特殊变量,并把注释加入它所生成的HTML文件:@version

:版本信息@auther:作者@param:参数@return:返回说明@exception:异常说明举例:HelloDate.java7Java分隔符Java分隔符组成:分号--“;”、花括号--“{}”、空格

--“”Java分隔符作用:Java语句必须以分号作为结束标记Java允许用花括号“{}”将一组语句括起来,形成一个语句块(block)Java程序源代码中各组成部分之间可以插入任意数量的空格,包括换行。8Java分隔符Java

语句块(block)用法:定义类时类体必须采用语句块形式定义方法时方法体必须采用语句块的形式定义循环语句时,循环体可以语句块的形式,采用将0~多条语句集合到一起,作为一个整体进行处理语句块可以嵌套,嵌套层数无限制9标识符(1)Ja

va语言中,为各种变量、方法和类等起的名字称为标识符Java标识符的命名规则:应以字母、下划线、美元符开头后跟字母、下划线、美元符或数字Java标识符大小写敏感,长度无限制10标识符(2)Java标识符举例合法的标识符不合法的标识符HelloW

orldclassDataClassDataClass#_98398.3$bS5_c7HelloWorld11关键字(1)Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字g

oto和const虽然从未使用,但也作被为Java关键字保留12关键字(2)13Java数据类型划分数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(inte

rface)数组Java不支持C、C++中的指针类型、结构体类型和共用类型14Java基本数据类型Java中定义了四类/八种基本数据类型逻辑型----boolean文本型----char整数型----byte,shor

t,int,long浮点数型----float,double15逻辑型boolean类型适于逻辑运算,一般用于程序流程控制boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。用法举例:booleanb=false;if(b==tr

ue){//dosomething}默认值:false16文本型(字符型)char型数据用来表示通常意义上“字符”字符常量是用单引号括起来的单个字符charc='A';Java字符采用Unicode编码,每个字符占两个字节charj=97;//j=‘a’unic

ode中的编码值Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义charc2=‘\n’;//代表换行符默认值:‘\u0000’17整数类型(1)类型占用存储空间表数范围byte1字节-128~127short2字节-215~215-1int4字节-231~231

-1long8字节-263~263-1Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性:18整数类型(2)Java语言整型常量的三种表示形式:十进制整数,如12,-314,0。八进制整数,要求以0开头,如012十六进制数,

要求0x或0X开头,如0x12Java语言的整型常量默认为int型,如:inti=3;声明long型常量可以后加‘l’或‘L’,如:longl=3L;19浮点型(1)Java浮点类型有固定的表数范围和字段长度类型占用存储空间表数范围float4字节-3.403E3

8~3.403E38double8字节-1.798E308~1.798E30820浮点型(2)Java浮点类型常量有两种表示形式十进制数形式,必须含有小数点,例如:3.14314.0.314科学记数法形式,如3.1

4e23.14E2314E2Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:doubled=3.14;floatf=3.14f;21基本数据类型变量声明和赋值publicclassTest{pub

licstaticvoidmain(Stringargs[]){booleanb=true;//声明boolean型变量并赋值intx,y=8;//声明int型变量floatf=4.5f;//声明float型变量并赋值doubled=3.1415;//声明double

型变量并赋值charc;//声明char型变量c=‘\u0041’;//为char型变量赋值(‘A’)x=12;//为int型变量赋值}}22EX1(课后练习)1.练习在一个已有.java源代码文件中使用三种不同类型的注释,

并用javadoc命令创建自己的类文档,体会其用法。2.练习在已有应用程序的一个语句中插入多处空格、中间换行、将多个语句组成一个语句块儿(置于“{}”中),并编译运行程序,体会其自由程度。3.在程序中试将不合法的标识符(如:3ar,*bily,d9#8等)、或关键字

作为变量名,编译然后改正错误。23Java引用类型Java语言中除8种基本数据类型以外的数据类型称为引用类型引用类型数据以对象的形式存在引用类型变量的值是某个对象的句柄,而不是对象本身声明引用类型变量时,系统只为该变

量分配引用空间,并未创建一个具体的对象24对象的构造和初始化(2)Java引用类型成员变量默认初始化原则成员变量类型取值byte0short0int0long0char'\u0000'float0.0Fdouble0.0Dbooleanfalse所有引用类型null25Java引用类型应用举例

publicclassMyDate{privateintday=12;privateintmonth=6;privateintyear=1900;publicMyDate(inty,intm,intd){year=y;month=m;day=d;}publ

icvoiddisplay(){System.out.println(year+"/"+month+"/"+day);}publicstaticvoidmain(String[]args){MyDatem;m=newMyDate(2001,9,22);

m.display();}}26对象的构造和初始化(1)为引用类型变量分配引用空间MyDatem;创建新对象--首先为新对象分配内存空间,并进行属性(实例变量)的默认初始化newMyDate(22,9,2001);nullnullm000daymonthyearm27对象的

构造和初始化(3)进行属性(成员变量)的显式初始化,显式初始化取值来自于类的定义中属性声明部分privateintday=12;privateintmonth=6;privateintyear=1900;nullm1261900daymonthyear28对象的构造和初始化

(4)执行构造方法publicMydate(inty,intm,intd){year=y;month=m;day=d;}nullm2292001daymonthyear29对象的构造和初始化(5)为引用类型变量m赋值m=newMyDate(22,9,2001);0x3a

478bm2292001daymonthyear0x3a478b30值传递Java中进行赋值操作或方法调用中传递参数时,遵循值传递的原则:基本类型数据传递的是该数据的值本身当向一个方法传递一个对象时,Java没有把对象放入堆栈,它只是拷贝对象的引用然后将这个引用的

拷贝放入堆栈。也就是说,根据定义,Java使用的是传值方式。31值传递举例(1)classBirthDate{privateintday;privateintmonth;privateintyear;publicBirthDate(intd,intm,inty){day=d;mo

nth=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);}}32值传递举例(2)publiccl

assExample{publicstaticvoidmain(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();}publicvoidc

hange1(inti){i=1234;}publicvoidchange2(BirthDateb){b=newBirthDate(22,2,2004);}publicvoidchange3(BirthDateb){b.setDay(22);}}

33值传递演示(1)main程序开始执行时内存状态栈内存堆内存publicclassExample{publicstaticvoidmain(Stringargs[]){Exampleex=newExample();in

tdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change

2(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);}}34值传递演示(2)main栈内存堆内存publicclassExample{publicstaticvoidmain(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=newBirthDat

e(22,2,2004);}publicvoidchange3(BirthDateb){b.setDay(22);}}处内存状态1109259587934exdated1354752d219707720001135值传递演示(3)main栈内存堆内存pub

licclassExample{publicstaticvoidmain(Stringargs[]){Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirth

Date(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println("date="+date);d1.di

splay();d2.display();}publicvoidchange1(inti){i=1234;}publicvoidchange2(BirthDateb){b=newBirthDate(22,2

,2004);}publicvoidchange3(BirthDateb){b.setDay(22);}}处内存状态1109259587934exdated1354752d21970772000119ichange136值传递演示(4)

main栈内存堆内存publicclassExample{publicstaticvoidmain(Stringargs[]){Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,19

70);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.set

Day(22);}}处内存状态1109259587934exdated1354752d21970772000111234ichange137值传递演示(5)main栈内存堆内存publicclassExample{pub

licstaticvoidmain(Stringargs[]){Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthDa

te(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println("date="+date);d1.display();d2.display();}publicvoidchange1(inti){i=12

34;}publicvoidchange2(BirthDateb){b=newBirthDate(22,2,2004);}publicvoidchange3(BirthDateb){b.setDay(22);}}处内存状态110925958

7934exdated1354752d219707720001138值传递演示(6)main栈内存堆内存publicclassExample{publicstaticvoidmain(Stringargs[]){Exam

pleex=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=newBirth

Date(22,2,2004);}publicvoidchange3(BirthDateb){b.setDay(22);}}处内存状态1109259587934exdated1354752d2197077200011587934bchan

ge239值传递演示(7)main栈内存堆内存publicclassExample{publicstaticvoidmain(Stringargs[]){Exampleex=newExample();intdate=9;BirthDated1=newBir

thDate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println("date="+date);d1.dis

play();d2.display();}publicvoidchange1(inti){i=1234;}publicvoidchange2(BirthDateb){b=newBirthDate(22,2,2004);}publicvoidchange3(B

irthDateb){b.setDay(22);}}处内存状态1109259587934exdated1354752d2197077200011666888bchange2222200440值传递演示(8)main栈内存堆内存pub

licclassExample{publicstaticvoidmain(Stringargs[]){Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=n

ewBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println("date="+date);d1.display();d2.d

isplay();}publicvoidchange1(inti){i=1234;}publicvoidchange2(BirthDateb){b=newBirthDate(22,2,2004);}publicvoidchange3(BirthDateb){b.setDay(22);}}处

内存状态1109259587934exdated1354752d219707720001141值传递演示(9)main栈内存堆内存publicclassExample{publicstaticvoidmain(String

args[]){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;}publi

cvoidchange2(BirthDateb){b=newBirthDate(22,2,2004);}publicvoidchange3(BirthDateb){b.setDay(22);}}处内存状态1109259587934exdated1354752d219707720001

1354752bchange342值传递演示(10)main栈内存堆内存publicclassExample{publicstaticvoidmain(Stringargs[]){Exampleex=newExample();intdate=9;BirthDated1=newBirthD

ate(7,7,1970);BirthDated2=newBirthDate(1,1,2000);ex.change1(date);ex.change2(d1);ex.change3(d2);System.out.println("date="+date);d

1.display();d2.display();}publicvoidchange1(inti){i=1234;}publicvoidchange2(BirthDateb){b=newBirthDate(22,2,2004);}publicvoidchange3(BirthDateb){b.s

etDay(22);}}处内存状态1109259587934exdated1354752d21970772000221354752bchange343值传递演示(11)main栈内存堆内存publicclassExam

ple{publicstaticvoidmain(Stringargs[]){Exampleex=newExample();intdate=9;BirthDated1=newBirthDate(7,7,1970);BirthDated2=newBirthD

ate(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);}}处内存状

态1109259587934exdated1354752d2197077200022144关键字this(1)Java中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。构造方法中指该方法所创建的新对象普

通方法中指调用该方法的对象45关键字this(2)publicclassThisSample{privateintyear;privateintmonth;privateintday;publicThisSample(inty

ear,intmonth,intday){this.year=year;this.month=month;this.day=day;}publicvoidsetYear(intyear){this.year=year;}publicvoidsetMonth(intm){month=m;}pu

blicvoidsetDay(intd){day=d;}publicvoidsetting(){this.setYear(2001);this.setMonth(9);setDay(11);//同this.setDay(11);}}46EX2(课后练习)1.练习值传递演示中的例程,E

xample.java,体会和巩固Java中值传递的思想。2.运行程序并分析流程,体会This的用法。publicclassTestMyDate{publicstaticvoidmain(String[]args){MyDatem1=newMyDate(22,7,1964

);MyDatem2=m1.copy(m1);m1.display();m2.display();}}//类MyDate的定义见下一页47EX2publicclassMyDate{privateintyear,month,day

;publicMyDate(){}publicMyDate(intyear,intmonth,intday){this.year=year;this.month=month;this.day=day;}publicvoidsetYear(intyear){this.ye

ar=year;}publicvoidsetMonth(intm){month=m;}publicvoidsetDay(intd){day=d;}publicvoidsetting(){this.setYear(2001)

;this.setMonth(9);setDay(11);//同this.setDay(11);}publicMyDatecopy(MyDated){MyDatem=newMyDate();m.year=d.year;m.month=d.m

onth;m.day=d.day;returnm;}publicvoiddisplay(){System.out.println(day+"-"+month+"-"+year);}}

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?