“LEARNINGSTARTSWITHVIEWINGTHEWORLDDIFFERENTLY.”
Knowledgeflow-Amobilelearningplatformprovidesapps,eBooksandvideotutorials
KnowledgeflowbringsyoulearningeBookofJavaforBeginners.ThiseBookisforall
informationtechnologyandcomputersciencestudentsandprofessionalsacrosstheworld.
Followuson
Formoreinformationvisitusat
ThankyouforusingKnowledgefloweBooks
JAVAFORBEGINNERS
Disclaimer
ThiseBookcontentsisforinformationalandstudypurposesonly.TheKnowledgeflow
makesnoclaims,promises,orguaranteesabouttheaccuracy,completeness,oradequacy
ofthecontentsofthiseBookandnolegalliabilityorotherresponsibilityisacceptedby
Knowledgeflowforanyerrors,omissions,orstatementsonthiseBook.
IntroductiontoJava
JavawasdesignedandconceivedbyJamesGosling,PatrickNaughton,Chris
Warth,EdFrankandMikeSherdan,whichwasdoneatSunMicrosystemsinyear
1991.
Ittookalmost18monthsforjavatocomeintoexistenceasaworkingversion.
Initiallyjavawasknownas“Oak”,whichwasthenrenamedas“Java”inyear1995.
SincejavahadmuchhadmuchofitscharacterdesignedfromCandC++.
Thischaracterinheritedbythetwowellknownandsimpleprogrammingmakes
javamoreappealingtocomputeranditgiantswhichwouldleadtoalargescale
success.
Butjavaismisunderstoodasthesophisticatedinternetversionrepresentationof
C++.
IthassignificantdifferencepracticallyandphilosophicallywhencomparedtoC++.
IfyouhavegoodknowledgeinC++thenyouwillfindjavaasyourcupofteaand
youwillateaseusingandunderstandingjava.
LogoofJava
Therefore,therearetwomainreasonsfortheevolutionofthecomputerlanguages.
JavahadenhancedandrefinedtheobjectorientedscenarioofC++.Thisgavemore
featurestotheuserswhichareasfollows.
Multithreading.
Librarywhichwouldprovideeasyinternetaccess.
Oneofthejava’smagicwasthebytecode.Bytecodeissetofinstructionwhichis
highlyoptimizedanddesignedtobeexecutedbyJVM(JavaVirtualMachine).Itis
aninterpreterforbytecode.Thisleadtothedesignoftrulyportableprograms.
Javaredesignedtheinternetwithnewfeatureandnetworkedprogramwhichareas
follows.
Applets-Itisakindofjavaprogramthatistobetransmittedoverandexecuted
automaticallybyjavacompatiblewebbrowsers.
Security-Itprovidedthesecurityofdownloadingvariousappletsandprograms
frominternetwithoutcontaininganyvirusorTrojanhorses.
Portability-Sincethereislargeanddifferentkindofoperatingsystemsthereforeit
providesthefreedomofrunninginanyoperatingsystemsoitsprogramcanbeused
indifferentOSwithoutanyissuesofcompatibility.
Theevolutionsinjavaareasfollows.
Java1.0
Java1.1
Java1.2
J2SE
J2SE1.2
J2SE1.3
J2SE1.4
J2SE5
J2SE5madevariouschangestoJava
Thenewfeaturethatwasaddedisasfollow.
Generics
Annotations
Autoboxingandauto-unboxing
Enumerations
Enhanced,for-eachstyleforloop
Variable-lengtharguments
Staticimport
FormattedI/O
Concurrencyutilities
InJ2SE5,andthedeveloperskitwascalledJDK5.1.5usedasinternalversionnumber
andthisisreferredasdeveloperversionnumber.
Javabecamethecenterofinnovationincomputertechnologicalworld.Theexistenceof
JVMandbytecodechangedthescenarioofsecurityandportabilityintheprogramming
world.ThewaythenewideasareputintothelanguagehasbeenredefinedbytheJCPi.e.
javacommunityprocess.
FeaturesofJava
Object-orientedprogramming
Thisisthecorefeatureofjava.
Thisistomanagetheincreaseinthecomplexity.
Itprovidesaverysophisticatedandwelldefinedinterfaceforthedata.
Itisalsoknownasdatacontrollingaccesscode.
Anotherimportantfeatureofjavabeingobjectorientedisabstraction.
Complexitycanbemanagedusingabstraction.
ThethreeOOPprinciples
Encapsulation-Itsagendaistomanipulatethedataandkeepthedataisolatedand
safefromtheexternalinterferenceandmisuse.Theencapsulationisdonebytheuse
oftheprotectivewrapper.Thispreventstheexternalsourcesfromaccessingthedata
orthecode.
EncapsulationinJava
Inheritance-Inthistheobjectwouldacquirethepropertyofotherobjectpresent.It
justfollowstheconceptofthehierarchicalclassification.Thisconsistsofclasses,
subclasses.Inheritancealsoislinkedorinteractswithencapsulationaswell.
Inheritance
Polymorphism-Itismeansmanywaystocarryoutthemethodbutfromoneinput.
Polymorphism
Bytecode
Thisishighlyoptimizedbysetofinstructionsdesignedwhichisdesignedtobeexecuted
byJavavirtualmachinethatisJVM.
JVM
Itwasdesignedasaninterpreterforthebytecode.
Anotherfeatureofjavaprogramisthatitissimple.
Thisenablestheprofessionalstolearn.
Workinaveryeffectivemannerbutitisalsoveryeasytounderstand.
Robust
Theabilitythatincludescreatingarobustprogramthatcanbeamultiplatformprogram
aregivenaveryhighpriorityindesignofJava.
Multithreading
Therealworldrequirementsaremetbyjavawhichhelpstoachievetherequirementof
creatinginteractiveandnetworkedprograms.
Highperformance
Theadvantageofbeingamultiplatformfunctioningprogramhelpstofindthecross
platformsolution.
Itprovidesbenefitsofbeinganplatformindependentcodewiththehelpofjavarun
timesystem.
Distributed
Thisisbecauseitisbeendesignedfortheinternetwhichhasadistributed
environmentbecauseofthehandlingofTCP/IPprotocols.
Thisallowstheprogramtofindoutmethodsacrossanetwork.
URLisusedinthistoaccessafileoninternet.
ThispropertysupportsRMI(RemoteMethodInvocation).
Dynamic
Thisistheactionthatistakenduringtherun-timesuchastoresolve,verifyandadd
objects.
Itprovidesusthefunctionwhichwillallowustolinkcodedynamicallythatwillbe
safe.
Simpleprogram
/*Callthisfile“Example.java”*/
ClassExample{
Publicstaticvoidmain(stringargs[]){
System.out.println(“thisisasimplejavaprogram.”);
}
}
Commandlineargumenttopasstheclassnameis
C:\>javaExample
Simpleoutputoftheaboveprogram
thisisasimplejavaprogram.
Callingofthefileinjavacmd
Callingofthefile:“Example.java”.
DataTypes
Integers
Itincludeswholevaluedsignednumberswhichareasfollow.
Byte-Whosewidthis8anditrangesfrom-128to127.Itisthesmallestintegertype.Itis
usefulwhenuserisdealingwithstreamorflowingdatafromanetworkorafile.
Declarationoftwobytevariablescalledxandyisasfollow
Bytex,y;
Short-Thewidthofthistypeofintegeris16anditrangesfrom-32,768to32,767.Itis
theleastcommonlyuseddatatypeinjava.
Declaration
Shorta;
Shortb;
Int-Thewidthofthistypeofintegeris32anditrangesfrom-2,147,483,648to
2,147,483,647.Itismoreefficientascomparedtobyteandshort.Itiscommonlyusedto
controlloopsandindexedarrays.
Declaration
Inta;
Long-Thewidthofthistypeofintegeris64anditrangesfrom
-9,223,372,036,854,775,808to9,223,372,036,854,775,807.Thisisusedforthosevalues
whicharelargeenoughthattheintegercannothandlethem.
Declaration
Intlightspeed;
Longdays;
Longsecond;
Seconds=days*24*60*60;
Floatingpointtype
Thisisforrealnumbersusedforcalculationsuchassquareroots,sineandcosine.These
areoftwotypes.
Float-Widthinbitsis32andrangeisfrom1.4e-045to3.4e+038.Floatisusedasa
variabletypeforthefractionalcomponent,butspecifiessingleprecision.Itcanbeusedin
representingdollarsandcents.
Declaration
Floathightemp;
Double-Widthinbitsis64andrangeisfrom4.9e-324to1.8e+308.itisusedandis
optimizedinsuchawaythatIcanbeusedforhighspeedmathematiccalculation.Ithas
doubleprecisionwhichisfasterthanthesingleprecision.Functionsuchassin()andsqrt()
etc,returndoublevalues.
Declaration
Doublepi,r,a;
r=10.4;
pi=3.14;
a=pi*r*r;
Characters
Thedatatypeusedstoreordeclarecharacterinjavaischar.
Itis16-bittypeinjava.Rangeofacharis0to65,536.
Therearenocharswhicharenegativeinnature.
Programdemonstrationforchar
ClasscharExample
{
Publicstaticvoidmain(Stringargs[]){
Chara,b;
a=88;
b=’y’;
system.out.print(“aandb:“);
system.out.println(a+““+b);
}
}
Booleans
Itisaprimitivetypeforlogicalvalues.
Thistendshaveonlyoneoftwopossiblevalues,trueorfalse.
Itisgovernedbyiforforcontrolstatements.
Variables
Itisbasicunitofstorageandvariableshavescope,visibilityandlifetime.
Declarationofvariables
Intx,y,z;
Or
Intx=1,y=2,z=5;
Typeconversionandcasting
Ifthereisanycompatibilityexistingbetweentwotypesthenjavawouldautomatically
performstheconversion.
Javaautomaticconversion
Itwillbeperformedwhentwoconditionsaremet.
Whenthetwotypesarecompatible;
Destinationtypeislargerthanthesourcetype.
Afterthetwoconditionsarebeensatisfiedawideningconversiontakesplace.
Castingcompatibletypes
Itisasimpleandexplicittypeofconversion.
Whenafloatingtypeofconversionisattachedtoanintegertypethistypeof
conversioniscalledtruncation.
Itisakindofconversionsometimecallednarrowingconversion.
Arrays
Itisagroupofsimilarvariablesthatwouldbereferredbyacommonname.
Theelementavailableinthearrayisaccessedthroughindex.
Thiscanbecreatedandmayhaveoneormoredimension.
Typesofarrays
Therearetwomaintypesofarraysare.
1. One-dimensionalarrays
2. Multi-dimensionalarrays
One-dimensionalArrays
It’salistofsimilartypesofdata.Beforeyoucreatearrayyouneedtocreateavariableof
anytype.
Syntax
Typevariable-name[];
Intyear_month[];
Multi-dimensionalArrays
Itisarraysofarraysneedtospecifyeachdimensionalarrayvariables,additionalindex
usingothersquarebracketsrepresentedas.
InttwoD[][]=newint[6][7];
Operators
Therearefourmaintypesofoperator.
Arithmeticoperators
TheBitwiseoperators
Relationaloperators
Booleanlogicaloperators
Arithmeticoperators
Addition-Thisoperatorisusedtoaddthevalues.Itisrepresentedby“+“.For
example
A=a+4.
Subtraction-Thisoperatorisusedtosubtractthevalues.Itisrepresentedby“-“.
Forexample
A=a-4.
Multiplication-Thisoperatorisusedtomultiplythevalues.Itisrepresentedby“*“.
Forexample
A=a*4.
Division-Thisoperatorisusedtodividethevalues.Itisrepresentedby“/“.For
example
A=a/4.
Modulus-Thisoperatorisusedtofindtheremainderofthevalueswhendivided.It
isrepresentedby“%“.Forexample
A=2%4.WhereA=0.
Increment-Thisoperatorisusedtoincreasesitsoperandbyone.Itisrepresentedby
“++“.Forexample
a=a++whichisequaltoa=a+1.
Decrement:Thisoperatorisusedtodecreasesitsoperandsbyone.Itisrepresented
by“—“.Forexample
a=a—whichisequaltoa=a-1.
Bitwiseoperators
UnaryNOT-Thisinvertsallofthebitsofoperandcontainedanditisrepresentedby“~“.
Forexample
~00101010=11010101
And-Itproduces1bitifbothoperandsarealso1anditisrepresentedby“&“.
Forexample
00101010
&00001111
000101010
OR-Ifeitheroftheoperandisoneitproduces1andItisrepresentedby“|“.
Forexample
00101010
|00001111
00101111
XOR-Ifeitherofthebitoperandis1,thenresultisalsooneotherwiseits0anditis
representedby“^”.
Forexample
00101010
^00001111
00100101
Leftshift-Itshiftsormovesallofthebitsintheparticulargivenvaluetotheleftside
numberoftimesthatisbeendeclaredanditisrepresentedby” ≪ ”.
Rightshift-Itshiftsormovesallofthebitsintheparticulargivenvaluetotherightside
numberoftimesthatisbeendeclaredanditisrepresentedby” ≫ ”.
Relationaloperators
Equalto-Thisrelationoperatorshowsthatthevaluesareequaltoeachotheranditis
representedby“==”.
Notequalto-Thisrelationoperatorshowsthatthevaluesarenotequaltoeachotherand
itisrepresentedby“!=”.
Greaterthan-Thisrelationoperatorshowsthatonevalueisgreaterwhencomparedto
otheranditisrepresentedby“>”.
Lessthan-Thisrelationoperatorshowsthatonevalueislesswhencomparedtootherand
itisrepresentedby“<”.
Greaterthanorequalto-Thisrelationoperatorshowsthatonevalueisgreaterorequal
butnotlesswhencomparedtootheranditisrepresentedby“>=”.
Lessthanorequalto-Thisrelationoperatorshowsthatonevalueissmallerorequalbut
notgreaterwhencomparedtootheranditisrepresentedby“<=”.
Booleanlogicaloperators
LogicalAND-Itisrepresentedby“&”.
Forexample
A&B=Ifaisfalseandbistrueitresultsasfalse,butisbotharetrueitresultsas
true.Similarlywhenbotharefalseitresultsasfalse.
LogicalOR-Itissigned|.
Forexample
A|B=Ifaisfalseandbistrueitresultsastrue,butisbotharetrueitresultsas
true.Similarlywhenbotharefalseitresultsasfalse.
LogicalXOR-Itisshownusing“^”.
Forexample
A^B=Ifaisfalseandbistrueitresultsastrue,butisbotharetrueitresultsas
false.Similarlywhenbotharefalseitresultsasfalse.
LogicalUnaryNot-Itisdepictedas“!”.
Forexample
!A=Ifaisfalseitresultsastrue,butifaistrueitresultsasfalse.
Assignmentoperators
Theassignmentisthesingleequalsignthatisrepresentedby“=”.
Thegeneralrepresentation
var=expression;
Inthisthevariable,whichisrepresentedas var shouldbecompatiblewiththetypeof
expression.
Inta,b,c;
a=b=c=100;
The?Operator
Thisisusedforreplacementofifthenelsestatementsanditisrepresentedas“?”.
Forexample
expressiona?expressionb:expressionc
Thisaboveexamplestatesthatiftheexpressionaistruethenexpressionbisevaluated
otherwiseexpressioncisevaluated.
ControlStatements
Therethreetypesofstatementsinjava.
1. Selectionstatements
2. Iterationstatements
3. Jumpstatements
Selectionstatements
Itistomanagetheflowofprogramsthatistobeexecutedbasedonthedynamic
conditionswhichcanbeonlyrealizedduringtheruntime.
Itprovidesflexibility.
Ifstatement-Itprovidesdifferentpathsforexecutionofprogram.
Syntax
If(conditionprovided)statementa;
Else
Statementb;
Thismeansiftheconditionistrue,thenstatementaisexecutedbutiffalsethenstatement
bisexecuted.
Forexample
inta,b;
If(x<y)a=0;
Else
b=0;
Nowthereisonetypeofprocedureusingifstatementi.e.nestedifstatementanditisvery
commonmethodinprogrammingworld.
Forexample
If(a==10){
If(b<15)i=j;
If(c>50)p=q;
Else
i=p;
}
Else
i=q;
Now,thesecondifstatementintheparenthesisisassociatedwithelse.Anothertypeof
procedureisofusingifstatementistheif-else-ifladderstatement.
Forexample
If(condition)
Statement;
Elseif(condition)
Statement;
Elseif(condition)
Statement;
.
.
.
.
.
Else
Statement;
Switchstatements
Itisamultibranchedstatement.
Syntax
Switch(expression)
{
Casevalue1:
Statement
Break;
Casevalue2:
Statement
Break;
.
.
.
Casevalen:
Statement
Break;
Default:
Statement;
}
Thefunctioningoftheswitchstatementiscomparesthegivenvaluewithallthecasesand
whenthematchfoundtheprogramsequenceisexecuted.
Forexample
Classsampswitch{
Publicstaticvoidmain(stringargs[])
{
Switch(i)
{
Case0:
System.out.println(“iiszero.”);
Break;
Case1:
System.out.println(“iisone.”)
Break;
Default:
System.out.println(“iisgreaterthan4.”)
}
Output
iiszero.
iisone.
iisgreaterthan4.
iisgreaterthan4.
Exampleofnestedswitchloopprogram
Switch(countfigures)
{
Case1:
Switch(targetvalue)
{//nestedswitch//
Case0:
System.out.println(“targetiszero”;
Break;
Case1:
System.out.println(“targetisone”;
Break;
}
Break;
Case2://…
Importantfeaturesofswitchstatementare.
Switchstatementcanonlycheckforequalityunlikeif.
Therecannotbetwocasesconstantinthesameswitchwithidenticalvalues.
Itismoreeffectivethanusingthesetofnestedifstatement.
Iterationstatements
Thesestatementsareusedtocreateloop.Therearethreetypesofiterationstatementused
injava.
Whilestatement
Itsfunctionistorepeatorblockstatementwhileitscontrollingexpressionistrue.
Syntax
While(condition){
//bodyofloop
}
Theloopisexecutedwhentheconditionistrue.Whenitisfalsethecontrolwillpassto
thenextlineofthecodefollowingtheloop.
Forexample
Classwhile{
Publicstaticvoidmain(stringargs[])
{
Intn=5;
While(n>0)
{
System.out.println(“tick“+n);
n—;
}
}
}
Output
Itwilltick5times
Tick5
Tick4
Tick3
Tick2
Tick1
Do-whilestatement
Thisloopexecutesitsbodyatleastoncebecauseitcontainsitsconditionexpressionatthe
bottomoftheloop.
Syntax
do
{
System.out.println(“tick”+n);
n—;
}
Whilen>0);
}
}
Forstatement
Itisaverypowerfulaswellasveryversatileconstruct.
Theconditionwhatisprovidedinforstatementuntilandunlesstheconditionisnot
beensatisfieditwon’texecute.
Iftheconditionisevaluatedandthevalueisfalsethenitisterminated.
Syntax
For(initialize;condition;iterate)
{
Body
}
Forexample
Classfortick
{
Publicstaticvoidmain(stringargs[])
{
Intn;
For(n=11;n>0;n—);
}
}
Jumpstatements
Javasupportsthreejumpstatementswhichareasfollows.
1. Break
2. Continue
3. Return
Break
Itisusedtoterminateastatementwhichisinsequenceinaswitchstatementanditcanbe
usedforexitingaloop.SometimeItcanbeusedinsteadofgoto.
Continue
Itprovidesanearlyiterationforaloop.
Forexample
Classcontinue
{
Publicstaticvoidmain(stringargs[])
{
For(inti=0;i<5;i++)
{
System.out.print(i+““);
If(i%2==0)continue;
System.out.print(““);
}
}
}
Return
ItisusedtoreturnfromamethodandItisatransferbackcallingofthemethod.
Forexample
Classreturn{
Publicstaticvoidmain(stringargs[])
{
Booleant=true;
System.out.println(“return”);
If(t)return;
System.out.println(“thiswon’twork”);
}
}
ClassesandMethods
Classesmightcontainonlycodeordatabutmayalsocontainboth.Aclassisdeclaredby
keywordclassanditcanbecomplexinnature.
Syntax
Classclassname
{
Typeinstance-variablea;
Typeinstance-variableb;
.
.
.
Typeinstance-variablen;
}
Typemethoda(parameter-list)
{
//bodyofmethod
}
Typemethodnamea(parameter-list)
//bodyofmethod
.
.
}
}
Classesarealsocalledtheboxwhichdefinesvariable-width,heightanddepth.
Example
Classbox
{
Doublewidth;
Doubleheight;
Doubledepth;
}
Classthatimplementsstackofdataandinteger.
Example
Classstack
{
Intstk[]=newint[10];
Stack()
Tos=-1
}
Voidpush(intitem){
If(tos==9)
System.out.println(‘it’sfull”);
Else
Stk[++tos]=item;
}
Intpop()
{if(tos<0){
System.out.println(“stackunderflow”);
Return0;
}else
Returnstk[tos—];
}
}
Overloadingmethod
Whentwoormoremethodsaredefinedinthesameplaceandthenamedefinedissame
buttheparametersaredifferent.Thismethodisanoverloadingmethod.Thisprovides
polymorphisminjava.
Example
Classoverload1
{
Voidtest(){
System.out.println(“noparameter”);
}
Voidtest(inta)
{
System.out.println(“a:“+a);
}
Voidtest(inta,intb)
{
System.out.println(“aandb:“+a+““+b);
}
Doubletest(doublea)
{
System.out.println(“doublea:“+a);
Returna*a;
}
}
Classoverload
{
Publicstaticvoidmain(stringargs[])
{
Overload1ob=newoverload();
Doubleresult;
ob.test();
ob.test(10);
ob.test(10,20);
Result=ob.test(123.25);
System.out.println(“result:”+result);
}
}
Output
A=10
AandB=1020
Doublea=123.25
Result=15190.5625
Inheritance
Inheritanceisasuperclassfromwhichalltheclassesareinheritedandwhichdoes
inheritingfromasuperclassiscalledthesubclass.
Basicprogramofinheritance
Classx
{
inti,j;
voidshowIj()
{
System.out.println(“iandj:”+i+““+j);
}
}
Classyextendsx
Inta;{
System.out.println(“a:“+a);
}
Voidsum()
{
System.out.println(“i+j+a:“+(i+j+a));
}
}
Classsimpinheritance
{
Publicstaticvoidmain(stringargs[])
{
qSuperob=newq();
psuperob=newp();
Subob.i=8;
Subob.j=7;
Subob.a=9;
System.out.println(“contents”);
Subob.showij();
Subob.showa();
System.out.println(“sumofi,janda”);
}
}
Output
Contents:Iandj:87
a:9
Sumofi,janda:i+j+a:24
Mainuseofinheritanceinjavaisforoverridingandcodereusability.
Overriding
Whensubclassesareidenticalofasuperclassthisscenarioiscalledmethod
overriding.
Itprovidesthecharacteristiccalledpolymorphisminjava.
Inheritanceshowingoverriding
Examplecode
Classx{
inta,b
X(intp,intq)
{
p=a;
q=b;
}
Voidshow()
{
System.out.println(“aandb:“+i+”“+j);
}
}
Classyextendsx{
Intr;
Y(inta,intb,intc)
{
Super(a,b);
r=c;
}
Voidshow(){
System.out.println(“r:“+r);
}
}
Classoverride{
Publicstaticvoidmain(stringargs[])
{
ysubob=newy(1,2,3);
Subob.Show();
}
}
Output
r=3
Typesofinheritance
Therearethreetypesofinheritance.
Singleinheritance
Multipleinheritance
Hierarchicalinheritance
Typesofinheritance
Injavamultipleandhybridwillonlysupportedwithuseofinterface.
Multipleandhybridinheritance
Packages
Packagescontainnameswereclassesarestored.
Syntax
Packagepkg;
Torepresentmultipackaging
Packagepkgx[.pkgy[.pkgz]];
Forexample
Packagejava.awt.imagea;
Findingofpackages
Therearethreewaystofindthepackages.Thejavaruntimesystemusestheworking
directory;ifthepackageiscontainedinthesubdirectorythenitwillbediscoveredoryou
cansetthelocationbysettingthelocationofclassasshown.
Packagempack
Itcanuseclasspathwithjavaaswellasjavactospecifythe
locationofclassasshown.
C:\
myprograms\java\mpack
Accessprotection
Fortheprotectionofpackagestherearethreespecifiersinexistenceinjava.
1. Private-cannotbeseenoraccessedfromoutsidetheclass.
2. Public-ithasfeaturetobeaccessedfromanywhere.
3. Protected-thiscanbeaccessedonlybyclasseswhicharesub-classes.
Packagesyntax
Importingapackage
Thestatementthatimportsthepackagecomeimmediatelyafterthepackagingstatement
anditsmainfunctionistoimportthepackagebysavingmoretimetoitslocation.
Syntax
Importpkga[.pkgb].(classnamed*);
Interface
Itissimilartoclasswhichcontainsconstants,methodsandsignatures.
Javasimplecalculatorinterface
Interfaceforjava
Declaration
Accessinterfacem
{
Returnmethod1(parameterlist);
Returnmethod2(parameterlist);
Typefinalvariablename1=value;
Typefinalvariablename2=value;
//…
Returntypemethodnamen(parameterlist);
Typefinalvarnamen=value;
}
Simpleinterfacecontainsonlyonefunctionormethodknownascallbackfunction.
Forexample
Interfacecallback
{
Voidcallback(intparm);
}
Implementinginterface
Tocreatinganyinterfaceimplementationofclassisincludedindefinitionofaclass.
Forexample
Classclientcallback
{
Publicvoidcallback(intx)
{
System.out.println(“callback”+x);
}
}
ExceptionalHandling
Itisadrawbackthataffectstheperformanceofjavaprogrambecauseitcanoccuratany
point.Itoccurrenceisatexecutionstate.
Reasons
Invaliddata
Fileabsent
LossofnetworkconnectionandtimeoutwhentheJVMisatrun.
Thecommonexceptionsare.
Checked-Theseexceptionscannotbeforecastedbytheprogrammeranditcannotbeeven
ignoredduring.
Runtime-Thisisadynamicexception,butitcanbeignoredunlikethecheckedone.
Errors-Thesearealsoignoredbecausenothingcanbedonetoovercomeitandthisisnot
underprogrammer’scontrol.
Exceptionhierarchy
Ithastwosubdivisions:Inputoutputexceptionclassesandruntimeexceptionclass.
Throw
TheseareexceptionswhicharethrownbyJVMduringruntime.
Syntax
throwThrowableinstance;
Throw
Whenthisstatementisusedthereisanimmediatestopintheexecutionofprogram.
Forexample
Classthrowdem
{
Staticvoiddemopro()
{
Try{
ThrownewNullPointerException(“dem“);
}catch(NullPointerExceptione)
{
System.out.println(“caughtinsidedemopro.“);
Throwe;
}
}
Publicstaticvoidmain(stringargs[]{
Try{
Demopro();
}
Catch(NullPointerExceptione){
System.out.println(recatch:“+e);
}
}
}
Finally
Itisacodethatisusedinexecutingbeforeorafterthetryandcatchblockisexecutedor
completed.
Syntax
Classfinallydem
{
Staticvoidprox()
{
Try
{
System.out.println(“inprocx”);
ThrownewruntimeException(“demo”);
}
Finally
{
System.out.println(“proxfinally”);
}
}
Eventhandling
Event
Itshowsthechangeinstateofasource.
Eventsources
Itisanobjectgeneratinganevent.
Syntax
PublicvoidaddTypeListener(TypeListnerl)
Forexample
Addkeylistner()-toregisterakeyboardevent.
Addmousemotionlistner()-toregisteramousemotionlistener.
ActionEventClass
Thishappenswhenbuttonispressed.Doubleclickingoftheitemoranyiteminthemenu
isselected.
Eventoccurrenceinjava
Keyeventclass
Thisgeneratedfromthekeyinputofthekeyboardandtherearethreetypesofkeyevents.
1. KEY_PRESSED
2. KEY_RELEASED
3. KEY_TYPED.
Mouseeventclass
Thereareeighttypesofmouseeventclasses.
1. MOUSE_DRAGGED
2. MOUSE_CLICKED
3. MOUSE_ENTERED
4. MOUSE_EXITED
5. MOUSE_MOVED
6. MOUSE_PRESSED
7. MOUSE_RELEASED
8. MOUSE_WHEELED
Actionlistenerinterface
Itisusedtodefinetheactionstheseareallperformedwhichareinvokedatthecallofan
event.Itisusedtoknowthereactionofthemethod.
TheAppletclass
Itcontainsseveralmethodswhichareusefulforjavaexecutionanddetailedcontrol.The
Appletinitializationandterminationareasfollow.
Forstarting
init()-Usedtoinitializemethoditisthefirstmethod.
start()-Afterinitializationmethodthismethodcomesanditsfunctionistorestartor
displayonscreen.
paint()-Inthistheoutputoftheappletisredrawneachtimeitiscalled.
Forstopping
stop()-Itistoleavethebrowserwhichisopenedandcontainsapplet.
destroy()-Itisfortheappletoncewhichhastoremovedfromthememory.
Appletgeneration
HTMLapplettag
<APPLET
[CODEBASE=codebaseurl]
CODE=appletfile
[ALT=alternatetext]
[NAME=appletinstancename]
WIDTH=pixelsHEIGHT=pixels
[ALIGN=alignment]
[VSPACE=pixels][HSPACE=pixels]
>
[PARANAME=attributenameVALUE=attributevalue>]
…
[HTMLdisplayedinabsenceofjava]
</APPLET>
HTMLApplettag
TheAudioclipinterface
play()-Tobegintheaudio.
stop()-Tostoptheaudio.
loop()-Toplaytheloopwithoutbreak.
TheAppletsubinterface
ItprovidesalinkthroughwhichanAppletandthebrowsercancommunicate.
Knowledgeflow:moreeBooksandApps