版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2)应用程序则独立运行,不嵌入网页,也没打那些限制。
(Java言程序设计》3)此外,道两类程序在代码编写上也有差异:壹种小应用程序必须定义势
java.applet.Applet类的了•类,而不必然义main。措施;应用程序力:般不必检
第1章Java语言基础java.appleLApplet类的子类,而必须在宜种类中定义main。措施.
Java导言的持*.注*
Java前才重要有如卜特玷:1)行注释//
1»强类邓:强制约束程序员必须遵守更多的编程规定,编评器能检测程序中2)块注释/*-.V
尽量多的^误.3)文档注择/♦*”.*/
2)编译和解铎:用Java编写的源程序在计算机上运行必须通遴编译和解择Java程序的P8发遇程
执行两佃阶段.编译程序先江Java源程序翻译成与机渊班关的字节眄
(bytecode),不是壹般的编译程序将源程序都译成特定计算机的机器代
码.运行时•111Java虚拟机(JVM)中的Java解择器无也将字节码文献解
杼成%)特定的机器码造行运行。
3)自助施用内存回收功能:坨圾搜集器(garbagecollector)可以自勘I可收程
序不再使用的内存,防止程序遗漏或反支徉放内存。
4)面向ft象
5)与平台瓢关:与平台瓢关是封程序可移植性能直接最有效的支持,“壹次
编程,到处运行”,可移根性源于两方面:1.Java的编注和解择的特性(Java
虚拟机):2.java未用基于国际原则的数据类型,在任何干白匕同宜种壹股在JDK目录下有bin、demo、lib、Jre等子目录,其中bin目录保用了Javac(编
数据类型是登致的.译器)、java(解择器:、jdb(调试器》、appletviewertjavaAppelt解择器)等命令
6)安全性:取消指针,防止因指针使用不妥,访冏不该方冏的内存空间:提文献;
供数处下榇检测机制,严禁程序越界访周内存:编年执行遇程中暹行比较Java的字符集和榛识符.
严格的检查:在解杼执行前,封字节码文献作检查,仿止被延苣改勤的字JavaSS言使用Unicode字符集,字符采用双字节的衣达方式,共有6ss35他字符,
节码文献被解释执行而破爆系统;浏览器限制下段的,卜应用程序不容“1i.',最前面的128佃字符与原则的ASCII字符登致,包括:
冏常地文献,防止其破爆常地文献.
1)数字字符10^(07)
71分布武计界2)英文大小写字母各26佃(A-Z,a~z)
8)多线坦:Java的运行环境采用多线程实现.Java串带宫糙供百级多线程支3)卜划线(_)、美元符号<$)
持,用Java睛言能直接编写多畿程程序。4)文字字符(口文,日文片假名、平假名,朝鲜文字等)
两种类型的Java程序.5)其他用于构成特殊符号的字符集
Java程序可分丸应用程序(Application)和小应用程序(Applet)两类,芯两种程棵识符可以用来襟识又献名、变鼠名、类名、接门名和组员措施名等,其构造规则
序的重要区别:如下:
1)小应用程序需要嵌入在HTML网页中,活网页被浏览畤,在浏览器中运行;旦1)机识符曲」ava字母和Java初字构成:
其运行受到产格的安全限制.2)首字符必须忽Java字母:
31除去关键字、false、true和null;doublevelocity,distance;〃定义多种变fit
4)所有楝识符足辨别大小写的。intstudentNumber=30;〃定义变此并赋初值
关键字是Java睛言保留的某些英文革荆,具有特殊的含义,例如:public,static
和class,具有特殊用途.不能作舞椎识符使用.笫2章运算和^句
基本数据类生.赋值运算.
布尔型(boolean)1字节(true或false)•简朴赋值运算,杵式如下:
字符型(char)16位变量;体现式
字节型(byte)8位不是“相等”运次符
短整型(short)16位赋值犯句中的数依类型转换只能是简朴类型向复杂类型转换,不能优复杂的转
将数型(int)32位换成简朴的.转换规则如下:
笈整型(long)64位byte-*short-*int-*long-*float-*bouble
以精度浮玷型“loat)32位•复合赋值运算,杼式如下1
双制度浮黠型(double)64位变量双目算术运算符=体现式
Java直接量是直接显式地表达基本数据类型数据、字符串(String)值和空引用值包括:♦・,•・、一■、/■、&・、|・、%・、«・、>>*和>>>・4,例如:
(null)的体现式,并且在该体现式中不含运算。a+=b等价于a=a+b,a/=b+c等价于a=a/(b+c).
布尔(boolean)直接1ft只有两帆true和false算术运算符.
字符(char)直接量:如"‘,’6',•筠',,\u0061',、n'算术运算符包括;
拓型(byte,shortjnt)直接量:如-27.*0123.0x56ab+(取正),-(取负)(取目运算)
笈整型(long)直接量:如-271,+O123L.0xS6abL+,»,/,%(双目运算)
浮胃।数(float,double)直接fit:如1.5.45.6D.100d.76.4e8.-32.0.1.5F.45.6f.注意事项:
76.4E-8F.-32.0:1)常操作锹是定.贴类型数据峙,应常注意运算与否曾溢出
字符串(String隹接量:如"HelloWorld1"inti=123456:
引用数据类型的应接量:nulli=i*i://溢出
变量在计算机内部封应著登种存储单元,并且婢是具有某种数据类型:基本数据类2)整数除法:搬去余数.7/5成果离1
型或引用数据类型.3)考虑除数与否也^^0或很小的数
每但变量均具有:名字、类型、费定大小的存储甲元以及值.-0取模:返网余数,可以封定玷或浮钻数选行取模运算,7*5成果卷2;
变量纶是具有与其数据类型相封应的值。15.25%(-0.5)成一存0.25
基本数蛎类型:变质的存储里元中寄存的是详细的布尔伯或数值:自增自减运算.
引用数据类里:变埴的存储罩元中寄存的是引用值,引用值竞般用来指向某AM详细自用(++)和自减(一):操作救必须是变量:有前性和彼H两种运算
的封象,假如引用值是nW,剜该引用但不指向任何封象.intn=3;
在使用变量前,必须先定义该变量,并且壹般规定先初始化。例如:inti=n++,j=n—://i=3,j=4,n=3
intstudAntNumb^r;〃定义里IW行最int.k=++n.B=~n://k=4.m=3.n=3
studentNumber=30;〃绐变量赋值前缀和接缀.对变曾自身,效果相似:但体现式的值不相似。
运算封象只能龙变fib不能是常1A或体现式,如:7++:(i+j)--都是非法的,位运算和位移运算,
关系运算符。位运算符包括:&、I、~、一、
关系运算符包括:<、>、<=、>=、==和!=,关系运算生成也种布尔成果。例如:移位运算符有:>>、>>>和<<
1>2://false&、I、二.按位求与、或、非、异或
3.S!-1;//true»带符号右移;左谕空出的位域原符”■位
51.5>=23.0://true«左移:右端空出的位补0
540<=65<;//true>>>不带符号右移(逻辑右移):左瑞空出的位填0(。或C++中焦此运究符》
24==3*8://true位运算操作是:先符整数写成二迤制形式(补码).然接按位掾作•最终产生套种
booleantestl=(10<10);//testl=false;新的数
关系运算符的优先级:v、<=.>、>=优先于==、!=:v、<=,>.>=优先级相似,结注意:只用于定玷类理数据(整型)
合性是自左向右:==、1=优先级相似,豺合性是自左向右。基本句.
【在京】Java不家件•将无冲数字作耳布尔伍使用.途与c或.3+不会样。例如:岩体现式篇句,k=k+2;
矣体现“怀如a不等于0”造佃茶件空SS句;
不能写作if(a)breaks句:break:用于循环或选择
而矣药作if(a!=0)continueafitij:cont.nue;I可上
逻辑运算符.return^句:return:,return体现式:.该^句的执行将结束措施为执行,只能
逻辑运算的操作数必须是布尔型,成果也是布尔型。可以3种加木操作;与(&&)、出目前措施体中。
或《II)、非(!).复合籍句.
短路规则:老旦可以明确焦误确实定整僧体猊式的值,就不再计算体睨式余下的部用花括号引起来的两条或两条以上熬句,次序执行但作为壹种整体。在复合^句中
分广.因此.整(N逻辑体猊式就接的部分也「午不合计算.可以定义自已专用的蛤畤变量.
比较:ifSB句。
(birthday==true)&&(++age>=65)if39句的格式是:
(birthday==true)(++age>=65)if(布尔体现式)
!优先于双目双术运算符优先于关系运尊符优先于4&优先于I一句
条件运算符。或
条件运算符是变种三目运算符,费般形式四:if(布尔体现式)
逻我体现式?体猊式】:体现式2{
例如:壹条或多条用句
inti=5;)
intk=(i>=0)?1:-I;例如:
条件运算符的箱合性卷”自右至左二if(score>=60)
例如:x>y?x:u>v?u:v等价干System.nut.printIn(*Passe<i,*):
x>y?x:(u>v?u:v>if-else句.
if-elscSfi句的格式是:5H句组n;
if(布尔体现式)break:
SS句1或^句块1default:
else,句组(n+l)i
施句2或用旬块2)
例如:sirilch体现式的数据类型可以是基本类型char、byle、short、inu或是造四种
if(score>=60)基本类里相卦应的包装类java.lang.Character、java.lang.Byte、
Systen.out.println(*Passed!*);juva.lang.Short»java.lung.Integer或enum枚举类型。
else跟在case接的必须是常玳体51式,其色的类里应常与switch体猊式的数据类理相
Systen.out.println(*Failed!*);匹配。
原则嵌套if-else控制构造可实现多路选择,用在出.优多种候选项中选择且只选出Switch^句的执行规!M:
立项畤.1)求出体现式侪值:
例如:2)找出给定值与体猊式相符的case涵句,执行此case糕号俄的所有^句(除
if(score>90)非碰到break耐),宜到switch^句结束:
System.out.printIn(-A"):3)若没有匹配的case^S句,则转向defaluli涵句,执行defaHi梯号彼的
elseif(score>=80)所有^句.反到switch句结束.
System.out.printIn(**B");1)若没有匹配的case2S句,也没有defalult滞句,则swiich涵句的追次
elseif(score》二60)执行立即结页.
System.out.printIn(-C"):try…catch弱句。
elsetry(
System.out.println("F”):^句块〃执行该^句块,也曾发生异常
switch88句.}catch(异常类型e){
switch酒句的格式是:异常发生畤要执行的^句块
switch(体现式))finally(
(瓢论异常发生与百,都要执行的^句块
case值1:)
5S句级h闲明:
break;1)Catch和finally必须和查种try有关联
case值2:2)try至少要有壹种calch,可以有多种
Sft句组2:3)finally^句块是可选的
break:while^句。
....whiIP精句的格式:
casen:while(布尔体现式)
SB句或拓句块例如:
常条件(布尔体现式)拘true,则不停地执行^句或^句块,"while”循环的中for(int1=1,j=i+10:i<5;i++,j=i*2)(
断条件是布尔体现式变办false,假如布尔体Bi式登IJ3始就四false,则不执行循System.out.printIn(44i=M+i+uj=w+j);
坏体.)
行略循环条件很难写山,可以直接使用true,格式如下;注意:通通逗号怪作符,可以在初始化部分定义多种变录,但迫些变砥必须只力•帕
While(true){似的类型,题论在初始化遐是更新部分•体睨式都是次序执行的。
•••嵌套的循环构造.
If(条件体说式)break:for循环的嵌套
・・・while褥环的嵌套
)do..while循环的嵌套
do-while35句。以上三佃任意之间的嵌套
dowhile句的格式是:continue§S句。
do格式:continue;
(功能:陕道continue之接的^句,重新判断循环控制条件,决定与否维续循孙.
部句读三月句块阳明:
)(1)continue^句只能用在三种循环^句的循环体中.
while(布尔体现式);(2)continued句次般和If句联合使用,优而构成其彼的部分循环体与否执
dowhile和while构造唯比的区别就是do-rhile中的融句至少曾执行受次,即使行的单分支构造.
布尔体现式第登次就被计算篇false.注意最终的分号,查定不能省略。breakSB句。
forS3句.格式:
for句的格式是:break;
for([初始化体猊式];[条件体说式];[更新体现式D功能:强制结束目前的循环,不再执行循环体中break背面的褐句.
箫句或^句块阐明:
例如:(1)break杷句只能在三种循环iffl句的循环体和switch淘句中使用.
intcounter,sum;(2)在循环SS句中break壹般和if句联合使用,用于构成第二IW退出循环的
for(counter=l,SUDFO:counter<=100;counter+4-)机张
su«+=counter;Package5§句。
SystetLou:.println(acounter=M+counter+”,程序包相称于其他Sfl己的函数库,系统提供大依的程序包,自己编写的类也可以构
SUB="+sun):成程序包,但壹定要月package涛句申明.
注意变量counter和SUB的作用域,若将它改在for招句内部定义,曾有何不壹格式:package包名:
样.包名是过种目录名,可以有途径.
在fcrSfi句的初始住和甲筠部分.可以伸用多种由讯号介弗的体母式.皤曲体加式iupcrt括句.
都舍独立执行。用来引入所需要的类
格式:在Java耍,逋退调用措施来传递消息。
import&名.类名:类(class)
例如:importjava.util.Date;〃引入Date类类定义了某种类型的所有射象所具有的加性与行卷,是用来创立封象的越图或模
假如优套种包中引入多种类,可以用通配符如:impcrtjava.awt.*:板:射余是某做确切类的实例.
登种j«v«源程,中可以方*种import拈旬,亡ill必须由目前pnckcge涵句之修;在创立矗种先的实例(弱象》之前必须定义迨偶类,
类的定义之前。维承性(inheritance)
Java程序的基本构造.多态性(polymorphism)
[package包名:]类
import包名.类名:(1)类的申明
//更多的importSS句类的定义格式如下:
[public]class类名(【炎修饰词]class类名[extends父类名)
inival=-//变量定义需句[implements接口名称列表]
Publicstaticvoidmain(Stringargs[])(
//措施定义类体
(//会般先定义组员变量,再定义构造措施,最终漏可组员措施
-//变量定义和控制^句构成的措施体}
)(2)组员变埴
)组员变量的定义格式41下:
[修饰词列表]类型变量名或带初始化的变量名列表;
第3章面向封象编程基础例如:privatefloatheight,weight;
抽象privateStringname,sex,no;
抽象是程序设计最常常使用的技术之登,是有效控制程序更杂性的屯要手段.(3)措施
在面向封象程序设计中:类的组员措殛:简称措施,用来实现类的多种功能,
把卷系列复杂的闻性与劲作组织到单倒模块中,然接把该模块禽作登种整体《封象)措施的定义格式如下:
来看待,就是会种抽象形式。【措施修饰能J列表]返问类型措施名(措施的参数列表)
把查种周也分解成构成它的封望,也是壶种抽象形式.(
封象(object)措苑体
其物皆的封软,它存储数据,遢可以规定它在自身上执行操作.)
野象具有状态、行卷和悌识,迨意味著每登种封象可以拥行内部数据(它m绐出该例如:publicintmb_method(){,••}
我象的状态)和措施(它ri产生行马),弁且每登种我象都可以唯壹地与其他封象publicstaticvoidmain(Stringargs(l)
辨别PA来(每空种的取在内存中均布唯堂壹种地址
浩良(message)例3.2(若其措脩的考的人或局部分1.1幺与坐的细M等1.1幺根似,则由M多111幺在
在面向的象框架中,均象之间地iS互相发送消息来it行交互。道他措施内部临畤被隐藏♦
例3.3(关键字this:射目前3H象的引用〉(4)使用封象
<4)构造措施程序使用为象:
构造措施用来以立类的实例,井封御象初始化,构造措施的申明和农税措能中明非访冏射象的组员变以,可:般形式咨:
常相似,不遇它必须和类同名,并且不能申明返回值类型.构造措施的爱殷形式:封软名.组员变量名
public7光名A(7参数列表〉){4月句》)谢用封象的措施,恚般的式满;
默认的构造措6必常专种类没有包括构造措施时.Java将自勋提供专种坡认的构造时象名.措施名([参故表))
措施.实例变量和类变量
野象被关键字static蟋饰的变贷分类变量(静态变量),未被关宽字static修饰的变量23
(1)申明封象实例变显,
申明堂种封软只是命名登种引用变fit迫佃引用变量和豺象关联,可以用来引用该例如:
class0{
申明专种封软的格式如下:floatx;;/实例变量
类名变册名(封象名);staticinty;〃类变地
例如,申明封飘:
Pointpl,p2;
不要把申明党和封象和创立专种封象混满起来.申明封象并不•四追倜对堂分派内每偶射象均有力已的受例变品,不聋样封象的实例变量也将被分派不比样的内存空
存.间。
<2)创立我象类变量则被专种类的所有射象共享,在内存中也只有专处.可以通遨类名或封望名
创立封象:使用new操作符和构造措施。引用类变量.
构造措施是在引以实例化通程中使用的特殊措施:实例措施和类措施
操作符new分新的封象分派壹片内存并将它存储在那费.然彼返回封象的地址。被关键字static修饰他括施卦类变量(静态括施),未被关键字static修饰的措话冷
格式视实例措施.
new构造措脆名(构造措腑的调用参数列表)例3.7
例如:注意:类中的实例措施可以互相调用,并可佣用类措施.类措施也能互相调用,但
pl=newPointf);p2=newPomt(30,40);不能直接调用实例措施,而要通遗在类措施中引入局部封象,通通时象名调用实例
申明和创立封敦也可以查起完毕,例如:措施.
Pointp3=newPoint。,p4=newPolnt(60,70);类中的实例措施中可以直接使用实例变珏,也可真按使用类变量。但类措施能百.接
使用类变量,却必须通通在类措施中引入的局部方象,用封象名引用实例变量.
<3>对象的内存模审类措施可以通遍类Z或科象名调用.
在Java中有两种类型的变量:基本类型与引用类SL基本类型的变量姻是寄存失例3.8
种该类型的值:引用变量实际上寄存的是它所弓I用的封象的地址,而不是寄存弭象访冏权限
自身.在Javad中噂有数州和坐小型慕引用姿中.的曾访fffl权限实施访曲控制.各类的田协涉曾访㈱权限.保护室的ill用不在北期里
的状况下被引用.
在类的申明中,除了类的措施姻能访冏类的组员变肽外,卷其也类的措能访I川本类能被实例化;用abstract修饰措施,此措施称办抽收措施,抽软措施没仃实现的代
的组员变量和拮施•提供了四种访冏权限:码(措施首部;)包括抽象措施的类交定是抽象类,但抽象类可以没有抽象措施。
public:低访冏限制,其他类的措破都能访网(3)关键字super
private:最强访冏限制,其他类的措施都不能访冏关犍字super的用途:在子类型的非静态组员措施中访冏其父类里的组员变fit
protected:仅四了光或同钱包中的先的措施访1母(4)大键字this
〈default>:只容^同意包中的类的措施访冏关犍字this的用途:在目前类的『静态组员措施中访冏目前类的组员变贵
继承(5)类之间的aa和has-a关系
继承性-软件更用的专种措施例:类A继承自类B,子类A与父类B之间有is-a关系
维承使得杳种类可通道扩展既有类来定义例:类A的某他纲员变取的类型是B,类A和类B之间是has-a关系
扩展申明的新类称卷子类,原有的类称初超类《父类》(6)内部类(innercbss)
子炎维承超类Q变量和措施;子类可以增良新的变5和措施;子炎可以由写(笫定义在其他炎内部的美称卷内部炎.
51页)徙超类中维承的措施.接口(interface)
子类封父类的维承性,Java^言有如下规定;Java小应用程序基础
子类自然地继承其父类中非private的组员变量作各自已的组员变能JavaApplet
子类自然地维承其父类中非private的组员措碓作四自己的组员措魄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采油工安全综合水平考核试卷含答案
- 奶油搅拌压炼工安全技能竞赛考核试卷含答案
- 茶艺考试题目及答案
- 家禽繁殖员安全实操知识考核试卷含答案
- 金蓝色中国风项目总结模板
- 汽车锻造生产线操作工班组考核竞赛考核试卷含答案
- 宝葫芦考试题及答案
- 白酒灌装工复测水平考核试卷含答案
- 仓储管理员岗前基础常识考核试卷含答案
- 洗毛炭化挡车工安全应急考核试卷含答案
- 2025-2030乌干达基于咖啡的种植行业市场现状供需分析及投资评估规划分析研究报告
- 2026年共青团中央所属单位招聘66人备考题库及答案详解一套
- 人民警察法培训课件
- 2026年哈尔滨职业技术学院单招职业适应性考试题库参考答案详解
- 2025云南昆明巫家坝建设发展有限责任公司及下属公司第四季度社会招聘31人历年真题汇编带答案解析
- 输尿管切开取石课件
- 小猫绝育协议书
- 66kV及以下架空电力线路设计标准
- 人工搬运培训课件
- 2025年浙江乍浦经济开发区(嘉兴港区)区属国有公司公开招聘28人笔试考试备考试题及答案解析
- 胃肠外科危重患者监护与护理
评论
0/150
提交评论