java developer guide www.nyinaymin

Upload: byuuhar

Post on 06-Apr-2018

247 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    1/225

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    2/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpf

    uGefysLwmoifcef;pm

    191

    awmhexpression statementstaMumif;udk em;vnf oabmaygufoGm;avmufygNyD/

    Null SNull SNull SNull SNull Statement (thetatement (thetatement (thetatement (thetatement (thedododododonothingnothingnothingnothingnothingoperator)operator)operator)operator)operator)Null Statementsqkdwmuawmhprogram flowudk xdef;

    csKyfxm;wJh control statements awGudk &yfem;oGm;apwJha&;om;enf;ygyJ/ trSefuawmhsemicolon(;)udk pepfwustokH;jyKjcif;ygyJ/ semicolon (;)qkdwm JAVA LanguagerSm program codeukd wpfaMumif;a&;om;NyD;wkdif; end signtjzpf a&;om;ay;&ayr,fhNull Statementstjzpf a&;om;vkdYvnf; &ygw,f/ uJ atmufrSmavhvmvkdufygOD;/samplesamplesamplesamplesample

    if (SomeValue

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    3/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    192

    ListingListingListingListingListing 1.91.91.91.91.9A demonstration ofArithmeticoperator (OR) Maths operator

    1. classArithClass {2. public static void main (String [ ]args) {

    3. int a, b, x;4. a = 100, b = 50;5. x = a-b;6. System.out.print("Diffterence = "+ x);7. }8. }OutputDifference = 50

    Analysis

    1/ vkdif;eHygwf 1 rSm ArithClassqkdwJhJava primaryclasswpfckudk zefwD;NyD;awmh tzGifhbrace {ukd zGifhxm;ygw,f/vkdif;eHygwf 2 rSmawmhmain( )functionudk a&;om;xm;wmudkawGU&rSmyg/ tzGifhbrace {udkvnf; owdjyKrdrSmyg/

    2/ vdkif;eHygwf 3 rSmawmha, b, xqkdwJh ukd,fpm;vS,fudef;awGudkint data typeokH;NyD;awmhDeclasevkyfxm;ygw,f/aemufwpfaMumif;rSmrSa&JUwefzkd;[m100, b&JU wefzkd;[m50vdk Y oD;oefYaMunmxm;ygw,f/ 'Dawmh program

    wGufcsufaeoa&GUawmh 'Dwefzkd;[m udef;aoyJaygh/3/ vkdif;eHygwf 5 rSmawmhx[m axJu bukdEkwfw,fqkdwJh

    formulaudk a&;om;xm;ygw,f/ uJ 'Dawmh au 100yg/ bu 50yg/ x = 100-50vdkY a&;xm;wmeJY twlwl

    ygyJ/ 'Dawmh x = 50qkdwJhtajzudk &NyD;awmh Java BytecodetaeeJY memoryrSm Loadvkyfxm;ygw,f/

    4/ vkdif;eHygwf 6 rSmawmhSystem.out.print(" Dif-ference ="+x);qdkNyD; tajzxkwfvkdufwJhtcgrSm OutputtaeeJY Difference=50qkdwJhtajzudkvmjyygw,f/

    5/ vkdif;eHygwf 7 rSm main ( ) function&JU closebrace}uk d vmydwfxm;ygw,f/ vkdif;eHygwf 8 rSmawmh pri-mary class&JU closebrace }ud k vmydwfxm;wmudk

    awGU&rSmyg/ 'Dawmhprogram[m NyD;oGm;ygNyD/ 'D List-ing[m ArithmeticoperatortaMumif;udk em;vnfoGm;

    atmif &Sif;jywJh sampleav;ygyJ/ odyfrcufcJygbl;/

    'gayr,fh 'gudk avhvmoabmaygufrSomvQif aemufxyfykdYcsr,fhJava programmingstepawGudk oabmaygufrSmrkdY aoaocsmcsm avhvmxm;apvkdygw,f/

    AssignmentAssignmentAssignmentAssignmentAssignment OperatorOperatorOperatorOperatorOperatorAssignment Operator&JU t"dym,fuawmhA&JU wefzkd;

    [m 10jzpfw,f/ Buawmh ol[m A&JU 2q&Sdw,fvkdY ajym

    &if 20aygh/ b,fvkdodwmvJvkdYajym&if yxrtcsuf AukdtajccHrS wGufvkdY&wmjzpfvkdYyg/ 'Dvkdtcsufwpfcsufukd tajc

    cHNyD; wGufvkdY&wmudk programmingvkyfwJhtcgrSm assignvkyfw,fvkdY ac:ygw,f/ ListingawGeJY aemufykdif;rSm aoaocsmcsm&Sif;jyay;ygr,f/ tay:rSma&;jycJhwmudksamplea&;jyygr,f/samplesamplesamplesamplesample

    inta=10;//declare aandhis amount is 10int b =a+a;//b =20

    uJ 'g[m assignmentoperatorukd tajccHa&;jywmygyJ/ trSefwu,f Assignment operatortaMumif;udka&;&wmuawmhIncrementoperator( + +),Decrementoperator (- -)tygt0if tjcm; Logicalqefqef a&;om;

    &wmygyJ/ 'gawGudk atmufrSm OyrmtaeeJYyJ &Sif;jyNyD;awmhusef wmawGukdawmhListingawGeJY wGufjyNyD; Line ByLineMethodeJY &Sif;jyyghr,f/

    a = 10;a= b;//b is 10a[m 10yg/ a eJY b [m nDw,f/ 'Dawmhb &JU wefzkd;uvnf;10 yJaygh/

    a = 6;b=a++;//b is 7a[m 6yg/ b[m axuf (audk 1aygif;xm;w,fqkdawmh)b[m 7aygh/ 'Dae&mrSm a + +;qkdwm incrementoperator

    udk okH;xm;wmaygh/ a&SUrSm aoaocsmcsm&Sif;jycJhNyD;ygNyD/ txl;owdjyK&r,fhtcsufuawmh assignment operatorrSmLvalueeJY RvalueqkdNyD; em;vnf&r,fhtcsuf&Sdygw,f/

    t"dym,fuawmh ajymif;vJEkdifwJhwefzkd;awG[m (=) Equalsign&JU right sidebufrSm &Sd&ygr,f/ 'gukdrvaluevkdY

    od&ygr,f/ uJ tvG,fa&;jyygr,f/

    x=35;//OK'Dvkda&;awmhx&JU wefzkd;[m 35aygh/ rSefygw,f/ wu,fvkdY10xnfhNyD; aygif;r,f/ avhvmMunfhyg/

    x + 35 +10;//OK!right

    'gvnf; rSefygao;w,f/ nmbufuajymif;vJEdkifwJh udef;wef;zkd;yg0ifEkdifvkdY rvaluevkdY ac:wmaygh/ uJqufMunhfygOD;/

    35 = x;//error,notan Lavalue'Dvkda&;&ifawmh rSm;oGm;ygNyD/ 10 + 35 = x; //'Dvkdvnf; a&;vkdYr&Ekdifygbl;/ ajymif;vJEkdifwJhudef;wefzkd;[m EqualSign(=)&JU b,fbufukda&mufvmwJhtwGuf Lavaluejzpfaeyg

    w,f/ Lvalue[m (+),(-),(*),(/),(%)vkyfEkdifpGrf;r&Sdqkdwmudk odxm;&if aemufykdif;rSm trSm;udk owdjyKa&Smif&Sm;EkdifrSmyg/ uJ 'gqkd&ifLvalueeJY Rvalueukd tvG,frSwfMu&atmif/

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    4/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpf

    uGefysLwmoifcef;pm

    193

    ajymif;vJvkdYr&wJh (+) (-) (+) (/) (%) vkyf&r,fhwefzkd;ukd,fpm;vS,fudef; (OR)ukd,fpm;vS,ftu&m

    tu&m (char)onf (char)onfLvalue = Rvalue

    uJ 'DvkdrSwfxm;r,fqkd&ifawmh Assignment OperatortaMumif;udk em;vnfoabmaygufNyD;awmh a&;wJhtcgrSmrrSm;Ekdifawmhbl;ayghaemf/ uJ qufvufNyD;awmhArithmetic(Maths) operatorseJY Assignment operatorswkdYudk aygif;

    pyf tokH;jyKenf;ukd a&;om;&Sif;jyxm;ygw,f/ avhvmMunfhygOD;/

    Combining theCombining theCombining theCombining theCombining the Assignment andAssignment andAssignment andAssignment andAssignment and Arithmetic opera-Arithmetic opera-Arithmetic opera-Arithmetic opera-Arithmetic opera-torstorstorstorstors

    AssignmenteJY Arithmetic operatorsawGukd &Sif;jyNyD;wJhtcgrSm 'D operatorawGudk aygif;pyftokH;jyKvkdY&wJhMethodawGukd a&;jyyg/ Operatorudk Ekdifeif;atmif tokH;jyK

    EkdifrSomvQif programmeraumif;wpfa,muf Developeraumif;wpfa,muf jzpfvmrSmyg/ uJ atmufrSma&;xm;wJh

    sampleav;upNyD; avhvmMumwmaygh/samplesamplesamplesamplesample

    intmyAge = 5;inttemp;temp= myAge+2;//add 5 + 2 put it in tempmyAge= temp; l//put it back myAge

    System.out.println (myAge); //output'D sampleav;udkMunfh&if myAge&JU wefzkd;u 5yg/

    temp = myAge + 2;vkdY a&;wJhtwGuftemp = 5 +2; temp= 7&vmNyDaygh/ 'Dae&mrSm odxm;&rSmu tempqkdwm ukd,f

    pm;vS,fudef;yg/ ukd,fpm;vS,fvkdY bmvkdYajymovJqkdawmhtemp[m wGufcsufvkdY&xm;wJhtajzudk olYtaeeJY ,m,D

    okdavSmifNyD; odrf;rSwfay;xm;wmyg/ aemufwpfaMumif;rSmawmhmyAge = temp;vkdYa&;NyD; temp&JU wefzkd;udkmyAgexJudk jyefvTJay;vkdufygNyD/ tajzxkwfwJhtcgrSmawmhmyAgeeJ YyJ xkwfay;rS myg/ uJ tay:rSma&;cJhovkd a&;wJhtcgrSmtenf;i,fcomplexjzpfovkd odyfruRrf;usif&if trSm;awG

    a&;rdNyD; errorawG wufvmEkdifygw,f/ 'Dawmh assign-ment operatorukd tokH;jyKNyD;awmh 'Dvkda&;&if ykdvG,frSmaygh/samplesamplesamplesamplesample

    intmyAge=5;myAge =myAge+ 2; //add 5 + 2

    uJ 'Dvkda&;vkdufawmh ykdrvG,fbl;vm;/ Algebia ex-pression taeeJYMunfhr,fqkd&ifawmh t"dym,fr&Sdayr,fh

    JAVA InterpretertaeeJYuawmh myAge&JU rlvwefzkd; 5xJudk 2aygif;csif;[m myAgeyJvkdY oabmaygufNyD; aemuf

    wpfaMumif;rSm myAge&JUwefzkd;[m 7vkdY vmjyrSmyg/uJ 'gqkd&if 'DxufvG,fwJhenf;vrf;ukd a&;jyygOD;r,f/

    samplesamplesamplesamplesample

    int myAge = 5;

    myAge + = 2; // self-assign addition

    'Dvkda&;NyD; tajzxkwfvkdufjcif;tm;jzifh7qkdwJhtajzudk&rSmygyJ/ 'Dvkda&;wmudkSelf-assignvkyfw,fvkdYac:ygw,f/Self-assignvkyf&mrSm (+=) additiontjyifSubstraction(- =), division (/ =), multiplication (* =)eJY modulus (%=)awGudkvnf; a&;vkdY&ygw,f/ Listing 1.7tNyD; Incre-menteJY Decrement operatortcef;rSm &Sif;jyNyD;ayr,fh

    oufqkdif&m operatortykdif;taeeJY xyfrH &Sif;jywmyg/ tokH;tEIef;? tac:ta0:av;awGutp *kpkdufNyD; avhvmr,fqkd&if tvGeftusKd;&SdrSmyg/

    Relational OperatorRelational OperatorRelational OperatorRelational OperatorRelational Operator

    Relational OperatorsawGudkTable 1.4rSm a&;jyxm;ygw,f/ avhvmMunfhyg/

    TTTTTable 1.4able 1.4able 1.4able 1.4able 1.4 The Relational OperatorThe Relational OperatorThe Relational OperatorThe Relational OperatorThe Relational Operator

    Name Operator Sample Evaluates

    Equals = = 100 = =50; false

    50 = = 50; true

    Not Equals ! = 100! = 50; true50 != 50; false

    Greater Than > 100 > 50; true

    50 > 50; false

    Greater Than > = 100 > = 50; true

    or Equals 50 > = 50; true

    Less Than < 100 < 50; false

    50 < 50; false

    Less Than < = 100 < = 50; false

    or Equals 50 < = 50; true

    'D operatorsawGuawmh tao;pdwf&Sif;jyp&mrvdkygbl;/ tvG,fwulodNyD;om;awGyJrkdY ListingawGrSmyJ aoao

    csmcsm &Sif;jyygawmhr,f/ rSwfrdatmifawmh avhvmxm;yg/Relational operators&JU Statement evaluales[m [kwfcJh

    &if1 (TRUE)? r[kwfcJh&if 0(FALSE)qkdNyD; a&G;cs,fp&m

    choiceESpfvrf;xJrSmyJ tvkyfvkyfwmyg/ 'Dawmh tvG,frSwf

    &if1 (TRUE) OR ) (FALSE)vkdY rSwfxm;yg/ 'DawmhDatatypeZ,m;rSmyg0ifwJh Boolean type eJY ,SOfwGJNyD;vnf;

    tokH;jyKEkdifygw,f/ tcktcgrSmawmhBoolean typeukd tokH;

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    5/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    194

    rjyKao;bJ sampletaeeJYyJ a&;jyygr,f/ RelationalOperatorstaMumif;udk em;vnfoabmaygufoGm;atmif

    Listing 1.10eJYa&;NyD; &Sif;jyxm;ygw,f/ avhvmMunhfvdkufygOD;/

    Listing 1.10Listing 1.10Listing 1.10Listing 1.10Listing 1.10Ademonstration ofbraching baredon relationaloperators1. class RelaClass {2. public static void main ( String args

    [ ] ) {3. int RedSox, Yankee;4. RedSox = 9, Uamlee = 18'5. if (RedSox > Yankee) System.out.println

    ("RedSox Score!");6. if (RedSox < Yankee) System.out.println

    ("Yankee Score!");7. if(RedSox == Yankee) System.out.println

    ("Equal Score!");8. }9. }outputYankee Score!Analysis

    1/ 'D programuawmh relational operatorsukd jrifwwfatmif a&;jywJh sampleav;ygyJ/ i,f nD BuD;qkdwJhrelational operatorawGudk if statementeJY wGJNyD;awmh

    tokH;jyKxm;ygw,f/ vkdif;eHygwf 1 rSm RelaClassqkdwJhprimary class

    ukd zefwD;NyD;awmhopen brace {

    ukd pwifxm;wmudk awGU&rSmyg/

    2/ vkdif;eHygwf 2 rSmawmhmain ( ) functionukd a&;om;xm;ygw,f/ main ( ) function&JU open brace {ukdvnf;owdjyKrdrSmyg/ vkdif;eHygwf 3 rSmawmh int data typeukdtokH;jyKNyD;awmhRedSoxeJY Yankeeqkdwmudkdecalarevkyfygw,f/ vkdif;eHygwf 4 rSmawmh RedSox&JU wefzkd;onf9jzpfNyD; Yankee&JU wefzkd;onf18ygvkdY aMunmygw,f/ 'DprogramudkRunvkyfaeoa&GUawmh 'Dwefzkd;awG[m udef;aoygyJ/ int data typeudk tokH;jyKNyD;awmhDeclarevkyfpOfxJu wefzkd;awGudk xnfhoGif;aMunmvkdY

    &ayr,fh tckrS tajccHupNyD; avhvmolawG rsufpd&Sif;atmifvkdY vkdif;cGJNyD;awmh a&;jy&wmyg/

    3/ vkdif;eHygwf 5 rSmawmh if statementudk okH;NyD; Rela-tional operatoreJY wGJzufNyD;awmhRedSox[m Yan-

    keexuf BuD;ovm;? vdkY ar;ygw,f/ RedSox&JUwefzkd;u 9jzpfNyD; Yankee&JUwefzkd;u 18yg/ 'DawmhrBuD;bl;qkdawmhif (expression)aemufuygwJh state-

    mentukd tvkyfqufvkyfp&mrvkdygbl;/ EscapejzpfNyD;

    awmh aemufwpfaMumif;udk qif;oGm;rSmyg/

    4/ vkdif;eHygwf 6 rSmawmh RedSox[m Yankeexufi,fovm;vkdY vmNyD; testvkyfygw,f/ 'DtcgrSm RedSox[m Yankeexuf i,faeNyDqkdawmh rSefoGm;ygNyD/ tJ'Dawmhexpressionaemufu statementukd tvkyfqufvkyfwJh

    tcgrSm Yankee Score!qkdwJhtajzudk OutputtaeeJYvmjyygw,f/

    5/ vkdif;eHygwf 7 rSmawmhRedSoxeJY Yankee[m wlnDovm;qkdwJh expressionukd vmNyD; testvkyfygw,f/tajz rSefukd&NyD;ayr,fh break; Control StatementukdtokH;jyKxm;jcif;r&SdwJhtwGuf qufvufNyD;awmh testvkyfwmyg/ 'gayr,fh rnDwJhtwGuf olY&JUaemufu State-

    mentudk tvkyf qufrvkyfbJ escapejzpfNyD;awmh vkdif;eHygwf 8 rSm a&;xm;wJh min ( ) function&JU closebrace }qDukd qif;oGm;ygNyD/

    6/ vkdif;eHygwf 9 rSmawmh primary class&JU close brace}ukd vmydwfxm;NyD;awmh program[m NyD;oGm;ygNyD/ uJ'gqkd &if outputxGufwJhtxdukd aoaocsmcsm avhvmcswGufNyD; avhvmyg/ RunvkyfNyD;awmhvnf; outputudktestvkyfMunfhyg/trSefwu,fuawmh 'DRelational operatorstaMumif;

    udkListing 1.4rSm xnfhoGif;a&;om;NyD;ygNyD/ 'gayr,fh ouf

    qkdif&mtcef;u@tvkduf jzpfapcsifwJhtwGuf xyfrHNyD;sample taeeJY a&;om;&Sif;jy&wmyg/ SampleawG[mtvG,fawGyJjzpfaewJhtwGuf avhvmoif,l&mrSm rayghqapcsifygbl;/ avhvm&mrSm ykdw,fqkdwm r&Sdygbl;/ aemufykdif;

    chapter 2upNyD;awmh tqifhjrifhykpmawGcsnf;yJ wGufcsuf&

    awmhrSmyg/ wcsKdUae&mawGrSmqkd&if EkdifiHwumtqifhExam;awGu JAVA Questionta[mif;awGudk tokH;jyKNyD;awmhoifMum;ykdYcsay;oGm;rSmyg/ 'D chapter 1rSm JAVA Lan-guagetaMumif;udk pwif avhvmoif,lwmjzpfvkdY tvG,f

    qkH; t&Sif;qkH;jzpfatmifsampleawGListingtvG,fav;awGeJYyJ &Sif;jyaewmyg/ tvG,fulqkH;ajym&&ifawmh

    u? c rwwfbJeJY jrefrmpma&;vkdYzwfvkdY r&Ekdifawmhygbl;/A, B, C, DrwwfbJeJY t*Fvdyfpm a&;vkdYzwfvkdY r&Ekdifygbl;/+, -, *, /udk em;rvnf&ifvnf; ocsFmwGufvkdYr&Ekdifygbl;/

    tajccH JAVA Language taMumif;udk ykdifEkdifrSomvQifTheoryoabmw&m;udk em;vnfoabmaygufrSomvQifprogrammertqifh Developertqifh SoftwareEngi-

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    6/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpf

    uGefysLwmoifcef;pm

    195

    neertqifhawGudk wufvSrf;EkdifrSmjzpfygw,f/ Sommervillea&;om;wJh Software Engineeringpmtkyf[m Lancoster

    Universityu xkwfa0wmyg/ tJ'DpmtkyfrSmqkd&if c + +eJYAdaprogramminglanguageukd tajccHNyD;rS &Sif;vif;oGm;

    wmudk awGU&&if uRefawmf bmudkqkdvkdovJqkdwmudk owdjyKem;vnfEkdifrSmyg/ 'gaMumifh tajccHykdifEkdifatmif enf;rsKd;pkHeJY&Sif;jyaewmyg/ SoftwareEngineeringoifkd;udk ,ckvuf&SdComputerUniversiy&CollegeawGrSm jy|mef;xm;yg

    w,f/

    LogicalLogicalLogicalLogicalLogical OperatorOperatorOperatorOperatorOperatorLogical operatorsawGuawmh atmufrSm Table 1.5

    taeeJY a&;jyxmygw,f/ Logicaloperators[m omref

    operators(tjcm; Arithmetic,Assign,RelationalpwJhoperators)awGxuf ykdeufeJNyD;awmh awG;ac:arQmfjrifokH;oyf

    rIawG yg0ifygw,f/ Operatorswpfckcsif;pDudk oD;oefY &Sif;jyygr,f/

    TTTTTableableableableable1.51.51.51.51.5TheTheTheTheTheLogicalLogicalLogicalLogicalLogicalOperatorsOperatorsOperatorsOperatorsOperators

    Operators Symbol Example

    AND && expression1&&expression 2OR || expression1|| expression 2NOT | |expression

    uJ 'DZ,m;rSmyg0ifwJh Logical operators&JU symbol

    av;awgudk rSwfrdatmifMunfhNyD;&ifawmh atmufrSm Logi-caloperatorsawGudk wpfckcsif;pD&Sif;jywmudk avhvmMunfh

    yg/ tvGefta&;BuD;wJhtwGuf aoaocsmcsmavhvmyg/

    LogicalLogicalLogicalLogicalLogical ANDANDANDANDAND

    Logical ANDoperator&JU pGrf;aqmifrIuawmh tqkdjyK

    csufESpfckvkH; rSefuefrSomvQif tJ'DtqkdjyKcsufukd vufcHrSmyg/tu,f wpfcsufcsufuom rSm;ae&ifawmh tJ'DtqkdjyKcsufawG[m vufcHjcif; r&SdEkdifawmhygbl;/ OyrmtaeeJY &Sif;jy&&ifawmh

    uJ 'Dawmh tqkdjyKcsuf expression 1uawmh rSefygNyD/ qmaew,faygh/ Expression 2uawmh rif;aiGa&myg&JUvm;?

    qkdNyD; tqkdjyKxm;ygw,f/ xrif;qmayr,fh aiGomryg&ifawmh pm;vkdY&yghrvm;?r&Ekdifygbl;/ 'Dawmh aiGygygw,fqkdwJhtqkdjyKcsufukd vufcHvkdufygNyD/ uJ 'gqkd&ifawmh

    xrif;vnf;qmw,f/ AND (NyD;awmh) aiGvnf;ygw,f/ 'Dawmh xrif;pm;vkdY&NyDayghaemf/ 'DtawG;tac:enf;Methodav;udk avhvmMunfhr,fqkd&if AND (&&) op-eratortaMumif;udk tajccHawmh em;vnfoGm;rSmyg/ Ex-pression 1eJY expression 2qkdwJh tqkdjyKcsufESpfcsufpvkH;

    rSefrSomvQif aemufu tvkyfukd qufvkyfrSmyg/ ProgramcodetaeeJYa&;&ifawmhANDvkdY a&;vkdYr&ygbl;/ (&&)

    qkdwJhSymbolav;udkyJ tokH;jyK&rSmyg/ atmufrSm sample

    taeeJY a&;jyxm;ygw,f/ avhvmMunfhyg/ Logicalpoerator ANDukdif statementeJYwGJNyD; okH;jyxm;ygw,f/samplesamplesamplesamplesample

    if((x==5)&&(y==5))System.out.print("Equal!");

    t"dym,fuawmh xuvnf; 5eJYnDNyD; y[mvnf; 5eJYnDrSomvQifEqual!qkdwJhtajzudk xkwfay;EkdifrSmyg/ tu,f

    xonf 5eJYrnD&ifjzpfap okdYwnf;r[kwf yonf 5eJYrnDcJh&ifjzpfjzpf wpfckckuom 5eJYrnDcJh&ifawmhEqualqkdwJhoutputukd xkwfay;Ekdifyghrvm;?rxkwfay;Ekdifygbl;/ 'g[mAND (&&) operatorukdusevkyfwJhenf;ygyJ/ aoaocsmcsm

    om avhvmMunfhr,fqkd&if tvGeftokH;0ifwJh operatorjzpfaMumif;udk awGU&rSmyg/ aemuf chapterawG&JU ListingawGrSmxnfhoGif;tokH;jyKNyD; &Sif;jyygr,f/ qufvufNyD; LogicalOr (!!) operatorukd avhvmMunfhMuygOD;pkdY/

    Logical ORLogical ORLogical ORLogical ORLogical OR

    Logical OR operator&JU pGrf;aqmifEkdifrIuawmh wpfckr[kwf wpfckqdkwJh pGrf;aqmif&nfyJjzpfygw,f/ tqkdjyKcsufexpressionESpfckxJu wpfckrSef&ifjzpfap? ESpfckpvkH;rSefonf

    jzpfap olY&JUaemufu tvkyfukd qufvkyfcGifhjyKrSmyg/ OyrmtaeeJYa&;jyygr,f/

    expression 1 expression 2 statement

    rif;xrif;wu,f AND(NyD;awmh) aiGa&m 'grSom xrif;qmaeovm;? yg&JUvm;?pm;vkdY&rSmaygh/

    operator

    expression 1 operator expression 2 statementrif;rSm OR ta

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    7/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    196

    ygcJh&if?qkdwJhexpression 2rSefcJh&ifvnf; vkdcsifwmudk 0,fcGifh&rSmaygh/ tJ'DexpressionESpfckxJu expressionwpfckck

    jzpfap? expressionESpfckvkH;jzpfap rSefcJh&if aemufutvkyfjzpfwJh vkdcsifwmudk 0,fvkdY&rSmayghqkdwJh statementukd tvkyfqufvkyfrSmyg/ OR operatorudk tvG,fwulrSwf&ifawmhwpfckr[kwf wpfckvdkY tvG,frSwfyg/ ESpfckpvkH;rSefcJh&ifvnf;statement u tvkyfqufvkyfrSmyg/ tvG,frSwf&atmif

    a&;jyygr,f/

    r[kwfcJh&if statementukd tvkyfvmvkyfykdNyD;em;vnfoGm;atmifvkdY tay:rSma&;xm;w sample

    codeudkvnf; aemufwpfenf; a&;jyygr,f/ ykdNyD; com-pact jzpfNyD;awmh trsm;qkH; usevkyfwJhenf;vrf;ygyJ/ tajz

    uawmh twlwlygyJ/ ESpfoufwJha&;enf;udk tokH;jyKEkdifygw,f/samplesamplesamplesamplesample

    if(x!=5)system.out.print("HelloJAVA|");uJ 'Dvkda&;&ifvnf; tay:u sample codexuf ykdNyD;

    awmh vG,fulNyD;awmh compact jzpfwmaygh/ 'D LogicaloperatorawG[m tjcm; Assignmentoperator,Arith-meticoperator(Maths),RelationaloperatorsawGxuf

    ykdNyD;eufeJygw,f/ Programmingvkyf&mrSm programflow

    udk xdef;csKyf&mrSmjzpfap Limiteddatasystemukd tokH;jyKwJhtcgrSmjzpfap tokH;jyK&wJh operatorsawGyJjzpfvkdY examplersKd;pkHay;NyD; enf;vrf;trsKd;rsKd;eJY &Sif;jyaewmyg/ xyfcgwvJvJ zwfINyD;awmh awG;ac:Munfhyg/ 'grSomvQif xl;cRefxufjrifwJh EkdifiHwumtqifhrDJAVAynm&Sifwpfa,mufjzpfvmrSmyg/

    ,aeY jrefrmEkdifiHrSmomru EkdifiHawmfawmfrsm;rsm;rSmpdwf0ifwpm; ajzqkdaeMuwJh *syefEdkifrSppfaq;wJh JITECFundamental Engineering Examinationtygt0if EkdifiH

    wumtqifhrD ExaminationawGrSmyg 'D operatorsawG

    taMumif;udkobjective type (All questions are

    com-

    pulsory) ykHpHeJY ar;ovkdselect oneofthefourques-tionsqkdNyD; JAVA Language, C Language, FortranLan-guage, Assembler Language pwmawGeJY programdecription awGay;NyD;rS sub-questionsawGukdjzpfap? op-eratorsawGeJY expression awG? statements awG? con-trol structureawGudk aygif;pyf NyD; a&;zGJUwJhae&mawGrSmyJBlankcsefNyD; jznfhpGuf&r,fhAnswersawGudkawmh atmufrSmchoicevkyfapygw,f/ 'gqkd aoaocsmcsm avhvmMunfhr,f

    qkd&if ExamTypeawG ajzqkdatmifjrifEkdifzkdYtwGuf op-eratorstykdif;udk em;rvnf&if ajzqkdEkdifrSmr[kwfbl;qkdwm

    udk od&Sdem;vnfxm;apcsifygw,f/ OyrmtaeeJY JITECEx-aminationu JAVAar;cGef;a[mif;wpfyk'fukd a&;jyxm;yg

    w,f/ avhvmNyD;&ifoperatorsawG&JU tokH;0ifykHeJY uRefawmfoifwJh JAVALanguage&JU pepfusykHudk em;vnfoabmaygufoGm;rSmyg/ JAVA Question program typeukdyJxnfhay;xm;wmyg/ Sub-questionsawGudkawmh xnfhray;xm;ygbl;/ SampletaeeJY yJjzpfvkdYyg/

    >

    wpfckr[kwfwpfckjzpfcJhvQifjzpfapStatementukdtvkyfvmvkyf

    ESpfckpvkH;jzpfcJhvQifjzpfap

    Programmingvkyf&mrSmawmhORvkdY a&;vkdYr&ygbl;/

    (!!) symbolav;eJY a&;&ygw,f/ SampletaeeJY codeLineav; a&;jyxm;ygw,f/ avhvmMunfhyg/samplesamplesamplesamplesample

    if((x==5)11(y==5))System.out.print("OK1");

    'Dprogram codea&;xm;ykHuawmhxonf5eJYnDw,f/OR('grSr[kwf) y[m 5eJYnDr,f/ 'Dawmh ESpfckpvkH;jzpfap?

    wpfckckjzpfap 5eJYnDcJh&ifOK:qkdwJhtajzudkoutputtaeeJYxkwfay;rSmyg/ uJ 'D sampleav;udkMunfhNyD; aoaocsmcsmavhvmr,fqkd&ifLogical OR (||)taMumif;udk em;vnfoabmaygufoGm;rSmyg/ Logical AND (&&)eJY LogicalOR (||)taMumif;udk em;vnfoGm;NyDqkd&ifawmhLogical NOT

    (!)taMumif;udk qufvufavhvmygOD;/

    Logical NOTLogical NOTLogical NOTLogical NOTLogical NOT

    Logical NOTukd tokH;jyKwJh methoduawmh rjzpfcJhvQif (rjzpfcJhrSomvQif) ol&JUaemufu statementukd tvkyfqufvkyfrSmyg/ uJ 'DoperatortaMumif;udkawmh OyrmtaeeJY ra&;jyawmhbJ sample coedetaeeJYyJ a&;NyD; &Sif;jyygawmhr,f/ t"dym,feufeJwJhtwGuf aoaocsmcsmavhvmyg/samplesamplesamplesamplesample

    if(!(x==5))System.out.print("Hello JAVA|);

    'Dcode&JU t"dym,fuawmhx[m 5eJYrnDrSomvQif

    Hello JAVA!qkdwJh output statementukd xkwfay;rSmyg/rnDrS xkwfay;rSmaemf/ wu,fvkdY x&JUwefzkd;[m 5eJYnDcJh&ifawmhHelloJAVA!qkdwJhoutput statementudk tvkyfvmNyD;vkyfygOD;rvm;?rvkyfawmhbJ escapejzpfNyD;aemuf codeLinewpfaMumif;udk qif;oGm;rSmyg/ 'g[m NOT (!) op-eratorudk tokH;jyKwJhmethodygyJ/ uJ 'gudk tvG,frSwfMu&

    atmif/

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    8/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpf

    uGefysLwmoifcef;pm

    197

    Q13Q13Q13Q13Q13

    ConsiderConsiderConsiderConsiderConsiderthethethethethefollowing JAfollowing JAfollowing JAfollowing JAfollowing JAVVVVVAAAAA program then answerprogram then answerprogram then answerprogram then answerprogram then answer

    Sub-questionsSub-questionsSub-questionsSub-questionsSub-questions1-41-41-41-41-4(Program)line no.

    1. public class Swapper {2. byte myData [][];3. public static void main (String args

    []) {4. Swapper obj = new Swapper();5. obj.init();6. obj.sorting();7. obj.printData();8. }9. public void init () {10. myData = new byte[5] [];11. for (int i = 0; i < myData.length;

    i++){12. myData[i] = new byte[5-i];13. }14. for (int i = 0; i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    9/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    198

    guage (SQL)rSmqkd&if 'DoperatorsawGukd tokH;jyK tajccHNyD;rS DataBase Command Control System (DBCCS)

    taeeJY tokH;jyK&wm yg/ 'DtcsufawGudk od&Sdxm;NyDqkd&ifawmhoperatorsqkdwm[m programming languagueawGrSm

    b,favmufta&;ygw,fqkdwmudk od&Sdem;vnfEkdifrSmyg/

    Note:Note:Note:Note:Note: SQLqkdwm Structure Query Languageukdajymwmyg/ DataBase Technologiestykdif;rSm tokH;jyKwJhDataBase LanguageawGxuf ,aeYacwfrSm SQL Lan-guage[m taumif;qkH; DataBase Languagewpfcktjzpf

    ausmfMum;ygw,f/ SQLukd1970rSm developedvkyfcJhygw,f/ 'D Languageukd pwif DesigncscJhuwnf;u datamanipulationvkyfzkdY &nf&G,fNyD; DesigncscJhwmyg/ E.FCodd,uaeNyD;awmhtracedvkyfcJhNyD; SQL query language

    udkANSIu standardvkyfcJhygw,f/ ANSI SQL 89 stan-dardeJY ANSI SQL 92 sandardqkdNyD; owfrSwfay;xm;cJh

    ygw,f/ 'D language[m DataBase Technologiestykdif;rSmomru web developementvkyfief;awGrSm Script Lan-guageawGeJY wGJzufNyD; tokH;jyK&ygw,f/ Script Language

    qdkwmawGuawmhSGML (Standard Gnerralized MarkupLanguage), HTML (Hyper Text Markup Language),

    XML (Extensible Markup Language)tp&SdwJh Lan-guageawGygyJ/ 'gaMumifh tcsKdUuvJ Script Language

    awGudkMarkup LanguagevkdYvnf; ac:ygao;w,f / ,aeYacwfrSm odxm;oifhwJhtaMumif;awGygyJ/ 'gaMumifh uRefawmfhtaeeJY DataBase Technologies and DataBase Lan-guage with SQLqkdNyD; oD;oefY a&;om;wifjyxm;ygw,f/JAVA Developer GuidetaMumif;tNyD;rSm tJ'Dpmtkyfukd

    wifjyay;EkdifzkdY taumif;qkH; a&;om;xm;ygw,f/ ta&;tBuD;qkH;tcsufuawmh b,f programming

    languageudkyJ avhvmavhvm Program Flowukd odatmifvkdY tacgufacguftcgtcg vufeJYcswGufNyD; AnalysisawGudk aoaocsmcsmzwfMunfhjcif;[m codeawGudkinterpreterrSm runvkyfNyD;rS avhvmwmxuf ykdNyD;wwfajrmufvG,fw,fqkdwmukd uRefawmfh&JUtawGUtBuHKtaeeJY wifjyvdkygw,f/

    'gaMumifh Listingwpfyk'fcsif;ukd vufeJYcswGufyg/ NyD;rSrunvkyfNyD;awmh avhvmyg/ uJ qufvufNyD;awmh RelationaloperatorseJY Logical OperatorsESpfckudk ,SOfwGJtokH;jyKwJhRelationaltykdif;ukd avhvmMunfhygOD;pkdY/

    Relational PrecedenceRelational PrecedenceRelational PrecedenceRelational PrecedenceRelational Precedence

    Relational Precedenceqkdwmuawmh RelationaloperatorseJY Logical operatorsESpfckukd ,SOfwGJNyD; tokH;jyK

    wmyJjzpfygw,f/ Complexyjzpfw,fvkdY xif&ayr,fh tvGeftokH;0ifwJhenf;ynm&yfjzpfwmaMumifh aoaocsmcsm &Sif;jy

    xm;ygw,f/ SampletaeeJY a&;jyxm;ygw,f/ avhvmMunfhyg/

    samplesamplesamplesamplesample

    'Dcodeav;udkavhvmNyD; tajzxkwfvkduf&if atmufrSm

    exp1 exp2 exp3 statement

    if (x > 5 && y>5) || z>5) System.out.print ("OK!");

    a&;jyxm;wJhtajzawGudk &rSmyg/xonf5xufBuD;r,f (ANDNyD;awmh) yuvnf; 5xuf

    BuD;r,f (OR'grSr[kwf) zonf5xufBuD;r,fqkd&if OK!qkdwJhOutputukd vmjyrSmyg/ wpfenf;ajym&&ifawmhLogical

    taeeJY xeJY yonf 5xufBuD;&ifjzpfap (OR) zonf 5xuf BuD;onfjzpfap aemufu Statementukd tvkyfoGm;vkyfNyD;awmhoutputudk xkwfay;rSmyg/

    aemufwpfenf;uawmh xu 3jzpfaeNyD; yuawmh 10jzpfaeygw,f/ zuawmh 10yg/ 'gvnf; StatementukdtvkyfqufvkyfNyD; outputukd xkwfay;ygw,f/ bmaMumifhvJqkdawmh xuvnf; 5xufBuD;rS&rSmyg/ yu 10jzpfwkdif;r&ygbl;/ Expression 1eJY Expression 2udkANDeJY cHa&;xm;vkdYyg/ 'gayr,fh 'Dbufu OR (!!)cHa&;xm;wmu zonf 5xufBuD;vQifqkdawmh xeJY y[m wpfwGJaygh/ olwkdYrSm;oGm;ayr,fh zuawmh 10qkdawmh aemufu statement

    ukd tvkyfqufvkyfvkdY &oGm;wmyg/ ykHpHjyNyD; a&;jyygr,f/'DtcgrSm a&SUu expression 1u rSm;oGm;awmh ex-

    xu 3NyD;awmh yu 10jzpf&r,f? 'grSr[kwf zu 10if (x > 5 && y > 5 || z > 5)

    exp 1 exp 2 exp 3

    xeJY yESpfckpvkH;xuf OR z u 5xufBuD;&ifjzpfjzpfBuD;&ifBuD;&r,f

    pression 2uvnf; tusLH;r0ifawmhygbl;/ 'gayr,fh ex-pression 3u rSefaeawmh aemufu statementukd tvkyf

    qufvkyfygw,f/ uJ 'gqkd&ifawmh aemufykHpHwpfrsKd; a&;jyygr,f/ 'gayr,fh 'Dvkda&;wm[m trSm;BuD;qkdwmudkawmh owd

    jyKyg/ SampletaeeJY a&;jywmyg/samplesamplesamplesamplesample : if((x>5)&&(y>5)||z>5))System.out.

    print ("OK!");//error!test

    t&ifa&;jycJhwJh sample codea&;jywm eJYwlovkd&Sdayr,fh trSefwu,fawmhrwlygbl;/ olY&JUt"dym,fukd atmufrSma&;jyxm;ygw,f/ aocsmavhvmMunfhyg/

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    10/225

    uGefysLwm*sme,f Zefe0g&Dv? 2005 ckESpf

    uGefysLwmoifcef;pm

    199

    x[m 5xufBuD;&r,f/ AND(NyD;awmh) y OR(okdYr[kwf)zonf 5xufBuD;rSomvQif taemufu statementukd

    tvkyfvkyfNyD; outputjzpfwJhOK!qkdwJhtajzudk vmjyay;rSmyg/t&ifa&;jycJhwJh sample codeeJYwlovkd&Sdayr,fh yeJY zudkOR (!!)oauFwcHa&;wJhtcgrSm tzGifhtydwfbracket( )awG cHa&;vkdufwJhtwGuf tckvdk awG;ac:ajz&Sif;rIajymif;

    oGm;wmyg/'gaMumifh programawGudk Line By Line MethodeJY

    &Sif;jywJhtcgrSm tzGifh^tydwf pwJh braceawGutp twdtus &Sif;jywmudk owdjyKrd rSmyg/ uJ qufvufNyD;awmhLogical testawGtaeeJY operatorawGudk usevkyfwmudk

    avhvmMunfhygOD;/

    MoreMoreMoreMoreMoreAboutAboutAboutAboutAbouttesttesttesttesttestthethethethetheLogicalLogicalLogicalLogicalLogicalSSSSStatementstatementstatementstatementstatements tay:rSm a&;jycJhwJh sample code awGudk em;vnf

    oabmaygufNyDqkd&ifawmh ykdNyD; vG,fulwJh clear cut styleudk a&;jyygr,f/ JAVA LanguagerSm zeroqkd&if FalsevkdY odxm;&ygr,f/ uJ 'gudkrSwfxm;NyD;awmh atmufrSma&;xm;wJh sample codeudk avhvmMunfhyg/samplesamplesamplesamplesample

    if (x) // if xis true (nonzero)x = 0; // setit to o (zero)

    t"dym,fuawmhif(x)qkdwmu xonf0 (zero)r[kwfaomudef;wpfckckjzpfcJhvQif atmufwpfaMumif;upNyD;awmh pro-gramudkcalculsvkyfaeoa&GU 0 (zero)taeeJYyJsetvkyfNyD;

    awmh wGufcsuf&rSmyg/ 'D codeudkyJ clearjzpfatmif a&;jyygOD;r,f/ t"dym,fuawmh twlwlygyJ/

    sample :sample :sample :sample :sample :if(x!= 0) //ifis nonzerox= 0; //setit to 0(zero)

    tay:ua&;jycJhwJhsampleeJY t"dym,fuawmh twlwlygyJ/xonf 0 (zero)r[kwfbl;r[kwfvm;?qkdNyD; (!) LogicalNOT operator udk tokH;jyKNyD;awmh a&;om;xm;wmyg/

    'Dawmhx[m 0 (zero)r[kwfcJhwmeJY setvkyfNyD;awmh wGufcsuf

    awmhrSmyg/ uJ tJ'Dtay:rSm a&;jycJhwmawGeJY samemeanjzpfwJh samplecodeudk a&;jyygr,f/ avhvmMunfhygOD;/

    sample :sample :sample :sample :sample :if(!x) //if xisfalse(zero)if(x=0)//ifxiszero

    'Dvkda&;vkdufjcif;tm;jzifhtay:u a&;jycJhwJh sampleawGeJYt"dym,fwlnDayr,fh tckaemufqkH;a&;jywJhsampleu ykdNyD;awmh easiertounderstandjzpfwmaygh/ uJ 'gqkd&ifawmh

    operatorstaMumif;udk vkH;0em;vnfoabmaygufNyD;awmhJAVA Languageukd Ekdifeif;atmif a&;om;Ekdifr,fvkdY ,kHMunf

    ygw,f/ oufqkdif&m ListingawGrSmvnf; xnfhoGif;NyD;&Sif;jyay;ygOD;r,f/

    Note:Note:Note:Note:Note: owdjyKrSwfom;&rSmuawmh Logical ANd&JUsymbol[m (&&)symbolyg/ Single (&) symbolqkd&if

    r[kwfygbl;/ 'D single (&)symboltaMumif; aemufchap-terawGrSm &Sif;jyygr,f/ OR&JU Symboluvnf; (||)yg/Single (|) Symbol[m differentoperatorygyJ/ 'DtaMumif;

    awGudk oD;oefY a&;om;&Sif;jyygr,f/ tvG,fwifjy&&ifawmh(&)eJY (|)symbolawG[m ANDoperatoreJY ORopera-torawGrSm similarjzpfayr,fhbooleantyperSmyJ tokH;jyKyg

    w,f/

    CaseCaseCaseCaseCaseSensitivitySensitivitySensitivitySensitivitySensitivity'Dae&mrSm JAVA LanguagetaMumif;udk tawmftoifh

    oabmaygufoGm;NyDqkdawmh txl;owdjyK&r,fhtcsufuawmhJAVA[m C & C ++wkdYvkdyJCase Sensitivityjzpfw,fqkdwJh

    tcsufygyJ/ OyrmtaeeJY &Sif;jy&&ifawmh agevkdY aMunmxm;wJhtrnfukdAgevkdY ac:okH;vkdYr&ovkdAGEvkdY ac:,ltokH;jyKvkdYvnf; r&ygbl;/ ErrorwufvmrSmyg/ agevkdYDeclarevkyfcJh&if ac:,ltokH;jyKwJhtcgrSmvnf; agevkdYyJ

    ac:,ltokH;jyK&rSmyg/ AgevkdY DeclarevkyfcJh&ifvnf; AgetaeeJYyJ ac:,ltokH;jyKrSmyg/ tJ'Dvkdjzpfwmudk caseseniti-vityjzpfw,fvkdY ac:ygw,f/ 'gayr,fh wcsKdU Language

    awGrSmawmh rjzpfygbl;/ agevkdY DeclarevkyfcJhayr,fh AgeyJjzpfjzpf? AGEyJjzpfjzpf ac:,ltokH;jyKvkdY&ygw,f/ OyrmtaeeJYajym&&ifawmh 'DaeY jrefrmEkdifiHtygt0if EkdifiHawmfawmfrsm;rsm;rSmyg familyjzpfaewJh Visual Basic&JU rdcifBA-SIC Language, PascalpwJhHigh-Level-LanguageawGrSmcase sensitivity rjzpfygbl;/ 'gaMumifh JAVALanguage

    rSmawmhprogram codeawGa&;&mrSm Declare vkyfwJhtrnfeJYac:,ltokH;jyKwJhtrnfukd owdjyKrSomvQif Case Sensi-tivityrjzpfrSmyg/

    uJ 'gqkd&ifawmhJAVA Language&JU tajccHtkwfjrpfeJYoperatorawGtaMumif;udk jynfhjynfhpkHpkH oabmaygufoGm;NyD

    vkdY xifygw,f/ qufvufNyD;awmh ykdYcsay;zkdY usefaeao;wJhLooping StructureeJY control statementawGtaMumif;udk1.4 Appendix of control structure in JAVAqkdNyD; ykdYcsay;

    xm;ygw,f/ qufvufavhvmMuygpkdY/

    ausmfaZ,smav; (uom)

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    11/225

    uGefysLwm*sme,f azazmf0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    169

    1.41.41.41.41.4 Appendix of control statements in JAAppendix of control statements in JAAppendix of control statements in JAAppendix of control statements in JAAppendix of control statements in JAVVVVVAAAAA

    JAVA LanguagetaMumif;udk wifjywJhae&mrSm tajccH

    aumif;jzpfatmif NyD;awmh tjcm; LanguageawGeJY odyfNyD;familyrjzpfcJhwJholawGtwGufyg &nf&G,fcJhwJhtwGuf oif

    Mum;ykdYcswJhae&mrSm pepfusatmif? vG,fulatmif oufqkdifwJhListingawGeJY ,SOfwGJ NyD; ykdYcsavh&Sdygw,f/ 'DtcgrSm 1.3

    Statements Expression and Operatorstcef;rSm ykdYcscJhwmawG[m vkdtyfvmNyDjzpfvkdY Mum;jzwf ykdYcs&jcif;yJ jzpfygw,f/ 'gaMumifhrkdY tckykdYcswJh tcef;u@[m 1.2 Decision,

    control Structure and Looping Statements of JAVA&JUtqufvkdYyJ rSwf,lxm;yg/ ykdNyD;jynfhpkHoGm;atmifvkdY aemufqufwGJtaeeJY jznfhpGufw,fqkd&ifvnf; rrSm;ygbl;/ uJ qufvufNyD; avhvmvkdufygOD;/

    TheTheTheTheThe While SWhile SWhile SWhile SWhile Statementtatementtatementtatementtatement

    JAVA LanguagerSm for statementvkdyJ Looping(OR) Repetitionvkyfay;wJh control statementwpfck&Sdyg

    w,f/ tJ'guawmhwhile statementygyJ/ While State-ment&JU Syntax_formukd atmufrSm a&;jyxm;ygw,f/while (boolean expression){

    statement 1;statement 2;

    . . . . . . . . }

    While Statement rSm yg0ifwJh Syntax_form[mtay:rSm a&;jyxm;wJhtwkdif;ygyJ/ Program statement[mwhileukd a&mufwJhtcsdef while&JUaemufu expressionukd

    rSefrrSef pDppfygw,f/ Boolean expressionvkdY a&;xm;&wJhtaMumif;&if;u data typeZ,m;udk avhvmrd&if Bool-

    ean TyperSm

    TRUE (OR) FALSEqkdwJh

    conditionsESpfckyJ&Sdw,fqkdwmudk odxm;rSmyg/ t"dym,fuawmh tqkdjyKcsufrSef

    aeoa&GU while&JUaemufu brace {xJukd0ifNyD; statementukd tvkyfvkyfaerSmyg/ tu,f while&JUaemufu expres-sionukd pDppfvkdY FALSEqkdwJh conditionukd &vmNyDqdk&if

    awmh While&JUaemufu brace {xJudk r0ifawmhbJLoop-ing[m &yfoGm;NyDawmh while Loop&JU close brace }

    atmufu program statementawGudkyJ tvkyfqufvkyfoGm;awmhrSmyg/ uJ 'gqkd&ifawmhwhile loop&JU flowukd em;vnfoGm;NyDvkdYxifygw,f/ ykdNyD;em;vnfoabmaygufoGm;atmifvkdY Listing 1.11eJYa&;NyD; &Sif;jyxm;ygw,f/ avhvmMunfhyg/owdjyK&r,fhtcsufuawmh while statement&JUaemufu

    test expression (boolean expression)rSm semicolon (;)

    ryg&Sd&ygbl;/ uJ pwif avhvmMuygpkdY/

    Listing 1.1Listing 1.1Listing 1.1Listing 1.1Listing 1.111111 Demonstration the while Loop1. class WhileClass{2. public static void main (String args

    []){3. int i=0;4. while (i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    12/225

    uGefysLwm*sme,f azazmf0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    170

    conditionukd &NyD;awmh while&JU block brace {xJudk0ifvmNyD;awmhi = i+1;qkdwJhstatementukd tvkyfvmvkyfygw,f/ 'DtcgrSm i&JU rlvwefzkd;[m 0qkdawmh i =0+1;qkdwJh tajzudk &vmNyD;awmh vkdif;eHygwf 6 rSm a&;

    xm;wJh print statementukd tvkyfoGm;vkyfNyD;awmhvalue of i=1qkdwJhtajzudk vmjywmyg/ NyD;wJh whilestatement&JU close brace}udk awGUwJhtcgrS m vkdif;

    eHygwf 4 rSma&;xm;wJh while loop&JUtpukd jyefoGm;ygw,f/

    4/ While Statement[m rSefaeoa&GU tvkyfqufvkyfw,fqkdawmh jyefNyD;awmhtest expressionvkyfMunhfwJhtcgrSmi[m 1jzpfaeygNyD/ 1[m 5xufi,fovm;?qkdwJhtqkdukd

    pDppfwJhtcgrSm i,fygw,f/ 'Dawmhi[m 5xufi,fpOfrSm

    qkdwJh brace {xJudk 0ifvmNyD;awmh i&JUwefzkd;udk 1vmNyD;awmh Addvkyfygw,f/ NyD;awmh Value of i=2qkdwJhtajzukd vmNyD; outputvmjyay;ygw,f/

    5/ 'Dvk denf;eJY i[m 5xuf rBuD;rcsif; pDppfNyD;awmh valueof i=3, value of i=4, value of i=5qkdwJhtajzudk print

    xkwfay;rSmyg/ 'gayr,fh i&JUwefzkd;ukd 5tjzpf printxkwfay;NyD;wJhtcgrSmawmhwhile loop&JUtpudk jyefoGm;NyD;awmh test expressionvkyfygw,f/ 'DtcgrSmawmhi&JUwefzkd;[m 5jzpfaeygNyD/ 5[m 5xufi,fovm;?

    qkdwJh pDppfcsufrSm ri,fawmhbl;vkdY tajzudk xGufygw,f/'Dawmh boolean expressionrSm FALSEjzpfoGm;ygNyD/FALSE conditionukd &vmNyDqkdawmh while looping

    ukd escapejzpfNyD;awmh vkdif;eHygwf 7 rSm&SdwJh main ( )function&JU close brace }ukd qif;oGm;ygNyD/ vkdif;eHygwf

    8 rSm a&;xm;wJh whileClass&JU close brace }udkawGUwJhtcgrSmawmh program[m NyD;oGm;ygNyD/ WhileLoop&JU oabmw&m;ukd aoaocsmcsm em;vnfatmifvkdYtracevkyfMunfhyg/ RunvkyfNyD;awmhvnf; avhvmyg/uJ 'D programudk avhvmMunfh&if while looping&JU

    control flowudk oabmaygufoGm;rSmyg/ ykdNyD;em;vnfoGm;atmifvkdY Listing 1.12eJY xyfrHNyD;awmh &Sif;jyxm;ygw,f/

    avhvmMunfhygOD;/Listing 1.12Listing 1.12Listing 1.12Listing 1.12Listing 1.12 Using while statement forMore compact1. class whiletest{2. public static void main(String

    args [ ]){3. int i=1;4. while (i !=6){

    5. System.out.println(i);

    6. i=i+2; }7. }

    8. }Output135679.....Analysis

    1/ 'D ListingrSm Logical operatorjzpfwJh(!=) Not equaltoqkdwJhoperatorukd tokH;jyKxm;ygw,f/ For state-mentukd a&;wJhtcgrSm nerver ending loopqkdwJhfor

    (;;)a&;enf;av;udk owdjyKrdrSmyg/ 'Dwhile statementav;[mvnf; tJ'D for (;;) statementa&;enf;av;eJYcyfqifqifygyJ/ 'gayr,fh oluawmhNot equal to (!=)qkdwJh Logical operatoraMumifh infinite loopjzpfoGm;wmyg/ aoaocsmcsm avhvmMunfhyg/

    2/ vkdif;eHygwf 1 rSm whiletestqkdwJh JAVA primary classwpfckudkcreatevkyfygw,f/ vkdif;eHygwf 2 rSmawmhmain( ) functionukd a&;zGJUxm;ygw,f/ tzGifh braceawGudk

    rarhygapeJY/3/ vkdif;eHygwf 3 rSmawmhint i&JU programppOf wefzkd;onf

    1ygvkdY aMunmygw,f/ tJ'Daemuf vkdif;eHygwf 4 rSmawmhwhile statementukd tokH;jyKNyD;awmh test expression

    vkyfygw,f/ 'DtcgrSm i&JUwefzkd;onf1qkdawmh6eJYrnDpOfrSm while Loop&JU bracexJukd 0if&r,fvkdY a&;xm;wJhtwGuf brace {xJukd0ifNyD;awmh vkdif;eHygwf 5 rSmi&JUwefzkd;ukd printvkyfygw,f/ vkdif;eHygwf 6 rSmawmhi&JU rlvwefzkd;ukd 2vmaygif;ygw,f/ 'Dawmh i&JUwefzkd;

    onf ,cktcgrSm 3jzpfoGm;ygNyD/ NyD;wJhtcgrSm while&JU close brace }ukd awGUwJhtcgrSm vkdif;eHygwf 4 rSma&;xm;wJh while statement&JU expressionqDudk jyefoGm;ygw,f/ tay:udk jyefwufoGm;wmaygh/

    4/ 'DtcgrSm i[m 3jzpfaeygNyD/ 3[m 6eJYrnDpOfrSm whileblockxJudk jyef0ifoGm;NyD; outputukd xkwfay;ygw,f/

    NyD;awmh2aygif;NyD;awmh vkdif;eHygwf 4 ukd jyefa&mufoGm;NyefygNyD/ aemufwpfBudrf testvkyfpOfrSmawmhi&JU wefzkd;onf 5 jzpfaeygNyD/ tJ'DtcgrSmvnf; while&JU block{xJudk0ifNyD;awmhstatementawGudk tvkyfvkyfNyD;awmh

    tajzxkwfay;OD;rSmyg/ 'Dvkdenf;eJY Loopywf&if;eJY 1 3

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    13/225

    uGefysLwm*sme,f azazmf0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    171

    5 7 9 . . .tp&SdwJh r*Pef;awGudkoutputtjzpf xkwfay;aeygw,f/ Program[m owfrSwfaMunmxm;wJhdatatype

    &JULimit

    ukd ra&mufrcsif;never ending Loop

    jzpfoGm;ygw,f/5/ bmaMumifhvJqkdawmh Logical NOTEqual to opera-

    torukd tokH;jyKNyD; a&;xm;wJhi !=6vkdY a&;xm;wJhtcgrSm

    rnDrcsif;vkdY ajymxm;wJhtwGufcondition[m always

    TRUEjzpfaeygw,f/ Condition[m FALSEjzpfrSomvQifLoopingu &yfrSmqkdawmhi !=6qkdwJhexpres-sion[m nDp&mtaMumif;r&SdawmhLoopinguvnf;never ending LoopjzpfoGm;ygawmhw,f/ 'Dawmh con-dition[m FALSErjzpfawmhovkd &yfvnf; r&yfawmh

    ygbl;/

    6/ vkdif;eHygwf 7 rSm main ( ) function&JU closebrace }ukd ydwfxm;NyD;awmh vkdif;eHygwf 8 rSmawmh whiletest

    qkdwJhJava primary class&JU close brace }ukd vmydwfxm;ygw,f/ 'Dae&mrSm program[m NyD;oGm;NyDqkdayr,fhtrSefwu,fawmh while condition[m FALSErjzpfawmhwhile blockxJuae xGufvkdYr&awmhwJhtwGufaMumifhmain ( ) functioneJY primary class&JU closebrace }awGudkawmif vmvkdYr&awmhygbl;/

    Note:Note:Note:Note:Note:'D programukd RunvkyfNyD; ravhvmoifhygbl;/

    vufeJYpm&Gufay:rSm cswGufjzpfap? xyfcgxyfcg aoaocsmcsmzwfjzpfap avhvmoifhygw,f/ Logical Operatortygt0ifoperatorsrsKd;pkHtaMumif;udk 'Doifcef;pmrwkdifcifrSm bmaMumifh ykdYcs&ovJqkdwmudk tcktcgrSm oabmaygufoGm;rSmyg/ NyD;awmh while statement&JU control flowukdodatmifListingawGukd wGufcsufjywJhtcgrSm outputawGudk&Sif;&Sif;vif;vif;jrif&atmifvkdY System.out.println ( )qkdwJhaemufwpfaMumif;udkqif;NyD;rSoutputukd xkwfay;apwJhprintcommandukd tokH;jyKxm;ygw,f/ 'gaMumifhom output

    awG[m LineByLineazmfNyD; vmjywmyg/

    TheTheTheTheThedo-whiledo-whiledo-whiledo-whiledo-whilestatementstatementstatementstatementstatement

    JAVA LanguagerSm Loopingwpfckudk while state-mentukd tokH;jyKNyD;awmh ywfwJhtcgrSm Looping block

    xJukd 0ifoifh^r0ifoifhudkLooping&JU tprSmwiftestvkyfygw,f/ TestvkyfwJhtcgrSmawmh boolean expressiontaeeJYaygh/ 'gayr,fh yxrtBudrfrSmawmh tuefYtowfr&SdvkyfcGifh

    jyKNyD;awmh aemufwpfBudrfrSmrS pDppfcGifhjyKcsifw,fqkd&if do-

    whilestatementudk tokH;jyKygw,f/ atmufrSm do-while

    statement&JU Syntax_formukd a&;jyxm;ygw,f/ avhvmMunfhyg/

    do {statement 1;statement 2;.............

    }while(boolean expression);

    'D syntax_formrSm a&;xm;wmudk avhvmMunfhr,f

    qkd&if programtvkyfpvkyfpOfrSm tuefYtowf wm;qD;rIr&SdbJeJY while block { }xJudk 0ifapygw,f/ 'gayr,fh aemufwpfBudrf tvkyfqufvkyfcGifhjyK^rjyKudkawmh whileblock&JUtqkH;rSm testvkyfapygw,f/ 'DtcgrSm while&JU

    aemufu (test expression)ukd ppfvkdufwJhtcgrSm TRUEconditionjzpfvmcJh&ifdo-while Loopukd aemufwpfBudrf

    ywfcGif hjyKrSmyg/ tu,f test expression[m FALSEconditionjzpfvmcJh&ifawmhLoopingukd ywfcGifhrjyKawmhbJwhile&J UatmufrSm&SdwJh tjcm;aom program statement

    awGqDudkyJ oGm;NyD; tvkyfqufvkyfawmhrSmyg/ uJ 'gqkd&ifawmh do-while statement&JU oabmw&m;udk em;vnfoabmaygufoGm;rSmyg/ Listing 1.3ukd tokH;jyKNyD;awmhdo-while statementukd &Sif;jyxm;ygw,f/ tajccHoabmw&m;

    awGyg0ifwJhtwGuf aoaocsmcsm pepfwus avhvmMunfhyg/

    Listing 1.13Listing 1.13Listing 1.13Listing 1.13Listing 1.13 Illustrate in do-while LoopingIn JAVA Language

    1. class doWhileClass {2. public static void main (String args[ ]){

    3. int i=0;4. do { System.out.println ("Value of i="

    +i);5. i=i+1;6. } while (i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    14/225

    uGefysLwm*sme,f azazmf0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    172

    i=0;vkdY declarevkyfygw,f/ 'Dawmh programtprSmawmh i&JUwefzkd;[m 0jzpfaeygNyD/

    2/ vkdif;eHygwf 4 rSmawmh do statementukd a&;om;cJhyg

    w,f/ ppcsif;rSmawmhdo&JU blockxJukd twm;tqD;r&Sd0ifvmcJhNyD; value of i=0qkdwJhoutputukd vmjyygw,f/vkdif;eHygwf 5 rSmawmh iukd 1vmaygif;ygw,f/ 'Dawmhvkdif;eHygwf 6 rSm a&;xm;wJh while (i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    15/225

    uGefysLwm*sme,f azazmf0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    173

    rSmawmh int data typeukd tokH;jyKNyD;awmhi = 10;vdkYdeclarevkyfygw,f/

    2/ vkdif;eHygwf 4 rSmawmh while statementukd tokH;jyKNyD;awmhi[m 100eJYnDr,f i,fr,fqkd&ifbrace { (whileblock)xJudk 0ifcGifhjyKr,fqkdNyD; a&;om;xm;ygw,f/ 100

    xufi,f&ifjzpfap? nD&ifjzpfap while&JU block {xJukd0ifcGifh&Sdygw,f/ uJ 'Dtxd&NyDaemf/

    3/ vkdif;eHygwf 5 rSmawmhi&JUwefzkd;xJudk10xnfhaygif;apzkdYtwGufself-assign (+=) symbolukd okH;NyD;awmh a&;o;xm;wmudk awGU&rSmyg/ uJ 'gqkd&ifawmh i&JUwefzkd;[m20jzpfoG m;NyDqkdwm odxm;&r,faemf/ vkdif ;eHygwf 6

    rSmawmh if (i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    16/225

    uGefysLwm*sme,f azazmf0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    174

    5. while(i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    17/225

    uGefysLwm*sme,f azazmf0g&Dv? 2005 ckESpff

    uGefysLwmoifcef;pm

    175

    methodjzpfwJhtwGuf pepfwus avhvmxm;apcsifygw,f/

    Note:Note:Note:Note:Note:

    'Dprogram

    rSm owdjyK&rSmuawmhi[m

    while

    statement&JU looping blockxJudk 10taeeJY 0ifw,f/i + = 10;xnfhaygif;NyD; outputtaeeJY value of i=20vkdY

    xkwfay;w,f/ aemufwpfBudrf Looping blockxJudk 0ifw,f/ i = 20taeeJYyg/ BlockxJudk a&mufwJhtcgrSm i + =10; xnfhaygif;NyD; outputukd value of i=30vkdY output

    xkwfay;ygw,f/ aemufwpfBudrf Looping blockxJudk0ifwJhtcgrSm i = 30taeeJY while LoopxJukd0ifygw,f/

    'DawmhLoopingxJukd0ifwJh tBudrfaygif; 3 BudrfajrmufjzpfNyD;xkH;pHtwkdif; i + = 10;qkdNyD; self-assignvkyfw,f/ Out-

    putukd value of i = 40vkdY xkwfay;ygw,f/ 'g[m 3 Budrf

    ajrmuf Loopingywfjcif;aemf/ 4 Budrfajrmuf LoopingxJudk0ifwJhtcgrSm awmh i&JUwefzkd;[m 40taeeJYaygh/ Loop-ingxJudk 0ifcGifh&Sdayr,fhself-assign i + =10;vkyfNyD;wJhtcg

    rSm vkdif;eHygwf 7 rSma&;xm;wJh if (i = = 50) break;qkdwJhcontrol statementeJY oGm;NidNyD;awmh outputxkwfay;Edkif

    jcif;r&SdbJ while Loop&JU blocktjyifbufukd ckefxGufvmNyD; program[m EndjzpfoGm;wmyg/ owdjyK&r,fh tcsufuawmh LoopingxJudk 3 Budrf0ifw,fqkdwJh tcsufygyJ/aoaocsmcsm tracevkyfMunfhyg/ awGUvmygvdrfhr,f/ break

    eJY continueuGmjcm;csuf break statementudk awGUwJhtcgcontrolt& (LoopawG ikHae&if) twGif;qkH; Loopuae

    tNyD;xGufoGm;ygw,f/ continue statementudk awGUwJhtcgLoop test boolean expressionokdY a&muf&SdoGm;jcif;om

    jzpfygw,f/ tJ'DLogical expression

    t&omLoop

    udkqufywfoifh rywfoifh qkH;jzwfwmjzpfygw,f/ LoopxJutNyD;xGufoGm;wmr[kwfyg/

    uJ 'gqkd&ifawmh tck oifMum;ykdYcscJhwJh control state-mentawGtaMumif;udk avhvmMunfhr,fqkd&ifawmh JAVALanguage taMumif;udk xJxJ0if0if em;vnfoGm;NyDvkdY

    ,kHMunfygw,f/ a&SUrSm qufvufykdYcsr,fh oifcef;pmawGuawmh chapter 1&JU indexawGjzpfwJhArraytaMumif;? Ar-rayawGudk zefwD;&if tokH;jyK&wJh new keyward&JU

    taMumif;? new keywardukd tajccHNyD; ykdYcs&r,fhMemoryLeakseJY Creating objects on the free storeqkdwJh tcef;

    u@ NyD;awmh JAVA Byte code&JUtaMumif;? JAVA Bytecode&JU tajccH programming Language&JU primarycodeawGjzpfwJhDecimal number, Binary number, Hexa-decimal numbers awG&JUtaMumif; NyD;awmh vkdtyf&if

    qGJac:,lNyD; tokH;jyKvkdY&wJh packageawGxJu objcect-functionawG&JUtaMumif;awG&,fukd ykdYcsay;oGm;rSmyg/ 'D

    oufqkdif&m indexawGNyD;&ifawmhchapter 1NyD;oGm;NyD;awmhtqifhjrifhobjectawGeJY zefwD;wJh OOP concoptsawGyg0ifwJhchapter 2ukd ykdYcsay;awmhrSmjzpfygw,f/ 'Dawmh tajccHchapter 1jzpfwJh Theories and Information of JAVA

    qkdwJh tcef;udk aoaocsmcsm jyefvSefavhvmxm;yg/

    uRefawmfzavmhyDuae bootbootbootbootboot vkyfvdkufwdkif;bootbootbootbootbootvkyfwJhtqifhudkausmfNyD; WindowsWindowsWindowsWindowsWindows yJwufoGm;w,f/zavmhyDraumif;vdkYvm;qdkNyD; aemuf wpfcsyfeJYajymif;Munfhvnf; 'Dtwdkif;yJjzpfaew,f/ zavmhyDdrivedrivedrivedrivedrive

    vnf; aumif;w,f/ prf;NyD;NyD/ BootBootBootBootBootrwuf &ifbmrSqufvkyfvdkYr&EdkifwmaMumifhulnDygOD;/vG,fygw,f/ b,f driveeJY bootvkyfr,fqdkwm Bios settingrSmajymrxm;vdkY 'DjyemeJY

    &ifqdkifae&wm/ uGefysLwmawGrSm rsm;aomtm;jzifh Adkif;&yfpfab;u uif;a0;atmif zavmhyDuaepNyD;rwufzdkY tumtuG,fjyKxm;avh&Sdw,f/ zavmhyDuaepNyD; bootwufcsif&if uGefysLwmpzGifhzGifhcsif; CMOS Setup UtilityxJa&mufatmif 0ifvdkufyg/ (zGifhzGifhcsif; delete keyudkESdyfxm;vdkufyg)/ Advance BIOS Featureudk xyfNyD;0ifvdkufyg/ NyD;&if First Boot DevicerSmFloppyudk ay;xm;vdkuf&if&NyD/ aemufydkif;rSm zavmhyDudk odyfroHk;MubJ pD'DawGeJY boot

    vkyfvmMuw,f/ CD-ROMuae bootvkyfcsif&ifvnf; Floppytpm; CDROMvdkYajymif;ay;vdkufwmeJY&NyD/

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    18/225

    uGefysLwm*sme,frwfv? 2005 ckESpff168

    uGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmoifcef;pm

    1.51.51.51.51.5 Arrays of JAArrays of JAArrays of JAArrays of JAArrays of JAVVVVVAAAAA

    uRefawmfhtaeeJY JAVA Developer Guideukd oifMum;ykdYcs&mrSm chapter 1ukd Basic FoundationtaeeJY tjynfhpkHqkH;? tvG,fulqkH;jzpfatmif a&;om;ykdYcsay;cJhygw,f/ JAVA&JU tajccHtkwfjrpfawGxJrSm Arrays[m rygrjzpfwJh yifrr@dKiftkwfjrpfBuD;wpfcktjzpf yg0ifygw,f/ 'Dawmh tajccHu

    pNyD;awmh avhvmMuwmaygh/ JAVA[m aemufqkH;ay: Non-procedural Language, OOP Languagewpfckjzpfygw,f/

    'DtcgrSm t&if LanguageawGrSm ryg0ifwJh featuresawGtrsm;BuD;yg0ifvmw,fqkdwmudkvnf; uRefawmf a&SUoifcef;pmawGrSm ykdYcsay;cJhygNyD/ JAVA Languageukd tajccHNyD;awmhSoftware Engineeringtqifhudk wufvSrf;r,fqkd&ifuRefawmfwkdYtaeeJY System Development, Internal De-sign and ProgrammingpwJh tcef;u@awGudk arhxm;vkdY

    r&ygbl;/ wu,fwwfajrmufatmif oif,l&rSmyg/ (Com-

    puter Sciencee,fy,fueJU NCC Diplomawufa&mufaewJh ausmif;om;awGuawmh 'D ModuleawGudk rpdrf;ygbl;)'gawGudk pepfwus rwwfajrmuf&if programmingrkd;ysHatmif a&;wwfaevnf; EkdifiHwum ExamawGukd 0ifa&mufajzqkdEkdifrSm r[kwfygbl;/

    uJ 'Dawmh ArrayseJY ywfoufNyD;awmh tajccHupNyD;

    awmh oif,lMu&atmif/ Arrays[m trSefwu,fuawmhdata structruetkyfpk0ifwpfckygyJ/ Data Structure (Datatype)Z,m;eJY ywfoufNyD;awmh vufeJYcswGufEkdifatmiftxd1.2 Decision, control structure and looping statement

    in JAVAqkdwJhtcef;rSm oifMum;ykdYcsay;cJhygNyD/ tJ'DrSmawmhtajccHZ,m;taeeJYygyJ/ 'Dae&mrSmawmh Internal Designand ProgrammingqkdwJhModuleukd tajccHNyD;awmh Ar-raystaMumif;ukd &Sif;jyrSmyg/ uJ 'DawmhFigure 1.2 Clas-sification of data structuresukd avhvmMunfhyg/

    Figure 1-2 Classification of data structures

    Integer type

    Real number type

    Simple type Character type

    Logical type

    Basic data type Partial type

    Enumeration type

    Pointer type

    Basic data structure

    Array type

    Structure type

    Record type

    Data structure Abstract data type

    List structure

    Problem-oriented Stack

    data structure

    (created using the Queue

    basic data structure)

    Tree structure

    Hash

    J AVA Deve lop er Guide

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    19/225

    uGefysLwm*sme,f rwfv? 2005ckESpff 169

    uGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmoifcef;pm

    uJ tay:rSma&;jyxm;wJhData typeykHav;ukd avhvmNyD;&if Arrays[m data structurestkyfpk0ifjzpfw,fqkdwmudkawGU&rSmyg/ Data Structures&JUatmufrSm Basic data struc-ture&JU problem-oriented data structure (created su-ing the basic data structure)qkdNyD; tkyfpkESpfpk &Sdwmudk

    awGU&rSmyg/ 'Dtcg JAVA&JU FeaturesawGxJrSmawmhprob-lem-oriented data structureawGukd JAVA&JU packageclassawGxJuae qGJac:,lNyD;awmh tokH;jyKvkdY&ygw,fqkd&if

    tjcm; b,f LanguageawGrSmrS ryg0ifao;wJh featuresawG yg0ifygw,fqkdwmudk vufcHEkdifrSmyg/ trSefwu,fuawmh 'D problem-oriented data structureawG[m int,float, Long, char, doublepwJhBasic data structureawGudk

    tajccHNyD;rS jyefwnfaqmuf&wmyg/ JAVA LanguagerSm

    awmh tcsKdUaom problem-oriented data structureawG[mpackageawGxJrSm yg0ifaeawmh qGJac:,lNyD; tokH;jyKvkdufkH

    ygyJ/ tJ'DvkdygyJ Arrays[mvnf; data structuretkyfpk0ifqkdayr,fh basic data structureawGjzpfwJhint, float, Long,char, doublepwJh data typeawGudk tajccHNyD; jyefwnf

    aqmuf&wmyg/ ArraysqkdwmbmvJ?uJ aoaocsmcsma&;NyD; a&;om;ykdYcsay;xm;ygw,f/ avhvmMunfhyg/

    Arraysqkdwm[m multiple data itemawGudkgroupvkyfNyD; tokH;jyKcsifw,fqkd&ifarraytaeeJY zefwD;&ygw,f/olYrSm index_number&Sdygw,f/ olYtaeeJY multiple dataitemawGudkcommon_namewpfckay;ygw,f/ olY&JUaemufrSm

    size specificationyg0ifygw,f/ bmaMumifhvJqkdawmh ar-rayukd aMunmwJhtcgrSm array_name&JUaemufrSm squarebracket [ ]yg0if&ygw,f/ tJ'D square bracket [ ]xJrSmrSnon-negative integerukd xnfhNyD; aMunm&ygw,f/ 'gukd

    pmzwfoltaeeJY complexjzpfoGm;rSmpkd;vkdY sampletaeeJYa&;jyygr,f/

    sample :sample :sample :sample :sample :int[]a=new int[5];'DykHpHa&;jcif;[m one-dimensional arrayudk tokH;jyKNyD;

    aMunmxm;wmygyJ/ udef;ao&xm;wJhwefzkd;eJY wGufcsufr,fqkd&ifawmh 'Dvkd Declarevkyf&rSmyg/sample :sample :sample :sample :sample :

    iiiiint[]a={22,10,18,9,27};

    'D Arrayudk index_numberawGeJY Tefjy&r,fqkd&ifawmh 'DvkdawGU&rSmyg/

    a[0] = 22a [11]= 10a [2] = 18a [3] = 9

    a [4] = 27

    Arrayukd pDpOfwJhtcgrSm index_number[m [0]uaepNyD;awmh pDpOfygw,f/ tu&m char data typeeJY aMunmr,fqkd&ifawmh 'Dvkda&;&rSmyg/String[]a={"Hello!","Kyaw Zayarlay."};

    a[0] = Hello!

    a[1] = Kyaw Zayar Lay.

    uJ 'gqkd&ifawmh tajccH array typeukd tajccHavmufawmh em;vnfoabmaygufoGm;rSmyg/ 'Dawmh arraysrSmone-dimensional array, Two-dimensional array, Multi-

    dimensionalpojzifh uGJjym;jcm;em;wmawGudk wpfykdif;pD pepfwus &Sif;jyygr,f/ aoaocsmcsm tcsdef,lNyD;awmhavhvmyg/

    One-dimensional arrayOne-dimensional arrayOne-dimensional arrayOne-dimensional arrayOne-dimensional array

    A one-dimensional array has a data structure in

    which data is array in a Line.vkdY one-dimensional ar-ray&JU difinationukd t"dym,fzGifhqkdxm;ygw,f/ Array

    [m problem-oriented data structurexJu List struc-tureeJY tenf;i,fqifygw,f/ 'gayr,fh tvkH;pkHrwlygbl;/

    tvG,fajym&&ifawmh one-dimensional arrayqkdwm[mdata structureudkusevkyfNyD;awmhrS vkdif;wpfvkdif;xJrSmwifmultiple data itemawGudkgroupzGJUxm;wmqkd&if rrSm;yg

    bl;/ Array-name&JUaemufrSm square bracket [ ]ukd tokH;jyKxm;NyD; Array&JU index_numberawGudk aMunmtokH;jyKygw,f/ atmufrSmazmfjyxm;wJhFigure 1-3ukd avhvmMunfhyg/

    One-dimensional array&JU ykHpHygyJ/

    uJ 'gqkd&ifawmhone- dimensional arraytaMumif;udktajccHawmh &avmufygNyD/ owdjyK&rSmuawmh aMunmxm;wJh data type&JUaemufu variable name&JUaemufusquare bracket [ ]xJrSm 'orudef; (float, double)udef;eJY(-) negaiveudef;awG rxnfhrdzkdYygyJ/ Square bracket [ ]

    xJrSm rygzkdYyJaemf/Data type

    taeeJYawmhDeclare

    vkyfNyD;tokH;jyKvkdY&ygw,f/ uJ atmufrSm samplea&;jyyghr,f/&Sif;jywmudk rsufpdIyfaerSmpkd;vkdYyg/sample :sample :sample :sample :sample :float[]a={1.2,3.6,2.7};

    a[0] = 1.2a[1] = 3.6

    a[2] = 2.7

    Java&JU arrayykHpH[m C++rSmyg0ifwJharray typeeJY qifwl

    1st 2nd 3rd ..... i th .....

    Element Element Element ..... Element .....

    A(1) A(2) A(3) A(4)

    Figure 1-3 One-dimensional arrayFigure 1-3 One-dimensional arrayFigure 1-3 One-dimensional arrayFigure 1-3 One-dimensional arrayFigure 1-3 One-dimensional array

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    20/225

    uGefysLwm*sme,frwfv? 2005 ckESpff170

    uGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmoifcef;pm

    ovkd&Sdayr,fh uGJjym;jcm;em;ygw,f/ vufawGUtaeeJY csa&;jy&&ifawmhsample :sample :sample :sample :sample : int[]a=new int[5];//Java Lan-

    guageint a[5]; //C++ Language

    'DtcgrSm JavarSm tokH;jyKwJh ArrayykHpH[m C++rSmtokH;jyKwJhpointer typeeJY oGm;wlaewmudk owdjyK&rSmyg/JavarSm pointer typeykHpH[m oD;oefY featurestaeeJY

    ryg&Sdygbl;/ owdjyKNyD; odxm;&r,fhtcsufawGuawmhJavarSm poninter typezefwD;a&;om;jcif;eJYywfoufwJhmethodawGukd z,f&Sm;xm;jcif;yJjzpfygw,f/ Java&JU array typeykHpH[m C++u 'DvkdykHpHeJY oGm;wlaeygw,f/sample:sample:sample:sample:sample: int*a=new int[5]; //c++ pointer

    type use

    uJ 'gqkd&ifawmh ArrayseJYywfoufNyD;awmh aoaocsmcsm em;vnfoabmaygufoGm;avmufygNyD/ tvG,fqkH;ajym&&ifawmh Arrayqkdwm[m tvkyfwpfckudk vkyfukdifzkdYtwGuf same data typeuk d tokH;jyKNyD; multiple dataitemawGudk ykdifqkdifygw,f/ 'Dtcg 'D m ultiple data item

    awGukd ukd,fpm;jyKwJhTeam_nameukd ykdifqkdifwJhwork group[m arrayygyJ/

    Note :Note :Note :Note :Note : ArrayukdDeclarevkyfwJhtcgrSm uRefawmfwkdYtaeeJYC & C++ programming languagerSmvkdrsKd; aMunmvkdY

    vnf;&ygw,f/ owdjyK&rSmuawmhArray[m same datatypeukd tokH;jyKygw,f/ int data typeud k tokH;jyKcJh&if

    tkyfpk0if data itemawG b,favmufyJ&Sd&Sd tm;vkH;[m intdata typeyJjzpfNyD;awmh wlnDygw,f/ tu,fom mul-tiple data typeawGukdom tokH;jyKr,fqkd&if array type

    r[kwfbJ Record type jzpfoGm;awmhrSmyg/ atmufrSmRecord type&JUykHpHukd OyrmtaeeJY a&;jyxm;ygw,f/ Ar-ray[m same data typeqkdwmudk txl;owdjyKyg/

    uJArray&JU tajccHtaeeJY Listing 1.16ukd tokH;jyKNyD;awmh ArraytaMumif;udk vufawGUavhvmMunfh&atmif/Listing 1.16Listing 1.16Listing 1.16Listing 1.16Listing 1.16 Using one-dimensional ar-

    ray in JAVA1. class BasicArray {2. public static void main (String

    arg[ ]){3. int [ ]a - {1,3,5,7,9};4. for (int i=0; i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    21/225

    uGefysLwm*sme,f rwfv? 2005ckESpff 171

    uGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmoifcef;pm

    wpfckcsif; wkd;NyD; looping blockxJukd 0ifygw,f/ vkdif;

    eHygwf 7 rSmawmh System.out.println ( )qkdwJhprint

    statementukd tokH;jyKNyD;awmh outputxkwfygw,f/'DtcgrSm a[0] jzpfpOfrSm output 1, a[1]jzpfpOfrSm out-put 3, a[2]jzpfpOfrSm output 5, a[3] jzpfpOfrSm output7, a[4]jzpfpOfrSm output 9qkdNyD; output ukd xkwfay;ygw,f/ i&JUwefzkd;[m 5eJYnDpOfrSmawmh loopingblockxJudk 0ifvkdYr&awmhygbl;/ i[m 5xufi,frSomvQif looping blockxJukd 0ifcGifh&rSmqkdawmh for&JU

    blocktjyifukd ckefxGufNyD; vkdif;eHygwf 6 u main( )function&JU close brace }qDukd qif;vmygNyD/ NyD;awmh

    Basic ArraysqkdwJh primary class&JU close brace}qDukd qufqif;vmNyD;awmh program[m NyD;oGm;ygNyD/

    uJ 'Dawmh 'D Listing 1.16[m tenf;i,f complexjzpfaeEkdif&ifJavau vG,fuloGm;atmif oifhudk tultnDay;rSmyg/ JAVA&JU API (Application Programming Inter-face) method[m packageawGxJuae vkdcsifwJhmethod(or) object componentawGudk qGJac:,l tokH;jyKwJh enf;ynmygyJ/

    Note :Note :Note :Note :Note : JAVA packageqkdwmuawmhC & C++ program-merawGtwGuf rpdrf;avmufygbl;/ C & C++rSm oufqkdif

    &m programtvdkuf header fileawGudkdeclarevkyfNyD;vkdcsifwJhobject componentawGudk qGJac:,lNyD; tokH;cswJhenf;ynm&yfudk tokH;jyKzl; awGUzl;rSmyg/ Oyrm #includevkdY DeclarevkyfcJh&if sqrt ( ) square rootmethod, Log ( )tp&Sdojzifh ukd,fwkdif zefwD;a&;om;p&mrvkdbJ vkdcsifwJh object component methodukd qGJac:NyD;tokH;jyKwmygyJ/ JAVArSmyg0ifwJhpackageqkdwm[mvnf;'Dtwkdif;ygyJ/ C & C++ programmingrSm header fileawGukd ukd,fwkdif zefwD;a&;om;vkdY&ovkdJAVA LanguagerSmvnf; packageawGxJu object-componentawGudk

    qGJac:,lNyD; tokH;csEkdifkHomru ukd,fwkdifvnf; packageawGudk zefwD;a&; om;vkdY&ygw,f/ ukd,fykdif packageawGzefwD;NyD;awmh Java. sun.comukd vSrf;NyD; ay;ykdY Develop

    vkyfvkd Y &ygw,f/ trSefwu,fom tokH;0ifwJh featuresqkd&ifawmh aemufxGufvmr,fh SDK versiontopfawGrSm

    ToolstopftaeeJY jznfhoGif;NyD;awmh yg0ifvmrSmyg/ 'Dtcef;rSmawmhpackageawGtaMumif;udk em;vnfatmif tokH;0ifwJh

    APIav;awGukd qGJac:,lNyD; tokH;csjyygr,f/ aemufchap-terawGrSmawmh packageawGtaMumif;udk tjynfhpkHqkH;jzpfatmif ykdYcsay;rSmyg/

    uJ 'Dawmh Listing 1.16rSm a&;jycJhwJh programudk

    Length API methodudk tokH;jyKNyD;rS jyefa&;zGJUjyygr,f/

    ArraywpfckrSmyg0ifwJh data itemta&twGufukd odcsif&if

    ArrayName.Length methodukd tokH;jyKvkdY&ygw,f/ twdtusrod&wJh data itemta&twGufawGudk intputtaeeJYvufcH&r,fqkd&ifvnf; tokH;jyKvkdY&ygw,f/ SampletaeeJYt&ifa&;jyygOD;r,f/samplesamplesamplesamplesample

    int[ ]a={1,3,5,7,9};for(int i=0;a.length;i++){

    System.out.println(a[i]);}

    Listing 1.16ukd jyef a&;xm;wJhListing 1.17ukd avhvmMunfhyg/ ArrayName. Length methodukd tokH;jyKNyD; a&;om;xm;ygw,f/

    Listing 1.17Listing 1.17Listing 1.17Listing 1.17Listing 1.17 Using API to ArrayName.lengthmethod1. class APIClass {2. public static void main (String [] args){3. int [ ] a={1,3,5,7,9};4. for (int i=0; i < a.length; i++){5. System.out.println (a[i]);}6. }7. }output135

    79

    Analysis

    1/ 'Dprogramudk compilevkyfNyD; Runvkyfr,fqkd&if&vmwJhtajz[m Listing 1.16u outputeJYtwlwlygyJ/vkdif;eHygwf 4 u for loopingywfpOfrSm a.lengthqkdNyD;

    arrayName.Length methodukd qGJac:,l tokH;csvkdufygw,f/

    2/ NyD;awmh vkdif;eHygwf 5 rSm print statementukd tokH;jyKNyD;awmh outputudk kdufxkwfvdkufwmyg/ 'gudk avhvmr,fqkd&if Java&JU API methodawG[m program-

    mingvkyf&mrSm vG,fulapzkdY tultnDay;w,fqkdwmudkem;vnfoGm;rSmyg/ Memory & time wastejzpfjcif;rSumuG,frIay;w,fqkd&ifvnf; rrSm;ygbl;/'D arrayName.Length method[m uRefawmfhtaeeJY

    JAVA Developer Guideukd ykdYcswJhtcg yxrqkH;taeeJYpwifykdYcswJh API methodygyJ/ uJ 'Dawmh aemuf Listing

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    22/225

    uGefysLwm*sme,frwfv? 2005 ckESpff172

    uGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmoifcef;pm

    awGrSm APIawGudk xnfhoGif;NyD;awmh oifMum;ykdYcsoGm;rSmjzpfygw,f/ aoaocsmcsmowdjyKNyD;awmh avhvmyg/

    uJ qufvufNyD;awmh strintudk usevkyfNyD;rS textelementawGudk dimensionaltaeeJY okH;Munfh&atmif/Listing 1.18rSm a&;jyxm;ygw,f/ avhvmMunfhyg/

    Listing 1.18Listing 1.18Listing 1.18Listing 1.18Listing 1.18 Using in arrayName.Length method in JAVA API1. class lengthClass{2. public static void main (String[]

    args){3. String[]Hello = new string[3];4. Hello[0]="JAVA Developer Guide";5. Hello[1]="Kyaw Zayar Lay.";6. Hello[2]='IT Engineering.";7. for(int i=0; i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    23/225

    uGefysLwm*sme,f rwfv? 2005ckESpff 173

    uGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmoifcef;pm

    Figure 1.5 How data of a two-dimensional array isFigure 1.5 How data of a two-dimensional array isFigure 1.5 How data of a two-dimensional array isFigure 1.5 How data of a two-dimensional array isFigure 1.5 How data of a two-dimensional array is

    stored in a main memory unitstored in a main memory unitstored in a main memory unitstored in a main memory unitstored in a main memory unit

    10. for(int i=0;i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    24/225

    uGefysLwm*sme,frwfv? 2005 ckESpff174

    uGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmoifcef;pm

    uawmhint j udkDeclarevkyfygw,f/ txl;owdjyK&rSmuawmhloopingywfwJhtcgrSm loopingwpfckeJYwpfckikHxm;vkdY&ygw,f/ 'gayr,fh loopingawG[m crossjzwfvk dY r&ygbl;/ 'DtcsufukdawmhListing1.18rSm

    omru b,f programawGrSmrqkd owdjyKNyD;awmh a&;om;yg/

    xkH;pHtwkdif;ygyJ/ PackageawGxJu APImethodawGudk ,lrokH;awmh outputdkufxkwfcsifawmhvnf; forloopingeJYyJ jyefdkufxkwf&rSmyg/ tJ'gaMumifh vkdif;eHygwf

    10 eJY vkdif;eHygwf 11 rSm ieJYjtwGufloopingjyefywfxm;wmaygh/ tay:rSm i[m Row,j[m columnqdkNyD;nDcJhNyD;om;qdkawmh vkdif;eHygwf 12 u output state-mentaMumifh tajz[m *Pef;wpfvkH;eJY outputxkwfNyD;

    wkdif; Double quote " "ESpfckMum;u blanktuGmta0;twkdif; tenf;i,fpDjcm;NyD; ay:ygw,f/ NyD;awmh atmufwpfaMumif;rSm print commandudknew lineprintformeJY a&;xm;wJhtwGuf aemufwpfaMumif;rSmrS Row

    udk kdufxkwfwmyg/5/ tvG,fajym&&ifawmh1st RowtwGuf yg0ifwJhcolumn

    ta&twGufrjynfhrcsif; blockxJu xGufvkdY r&ygbl;/

    NyD;oGm;rS2nd RowtwGufcolumnudk vmdkufxkwfwmyg/ 'Dvkdenf;eJYyJ Table formtwkdif; Four Row andFive columnygwJh Z,m;wpfckukd&vmwmyg/ tao;pdwf

    aoaocsmcsmzwfNyD;awmhtracevkyfNyD; avhvmMunfhyg/Tow-dimensional arraytaMumif;udk em;vnf oabm

    aygufoGm;&if Multi-dimensional arraytaMumif;udkqufvufNyD; avhvmMuygpdkY/

    Multi-dimensionalMulti-dimensionalMulti-dimensionalMulti-dimensionalMulti-dimensional arrayarrayarrayarrayarray

    Multi-dimensionalarryas suchasthree-, four-,orn-dimensional arrays can be definedvkdYvnf; tvG,f

    ajym&atmifyg/ twdtust"dym,fzGifhqkdwmawmhr[kwfbl;

    aemf/ tvG,fajymr,fqkd&ifawmh Array_name&JUaemufrSmsquare bracket[ ] awG xyfwkd;vmwmygyJ/ Oyrm three-

    dimensionalarrayrSmqkd&ifcomprising planes, columnsand rowsqkdNyD; zGJUwnfaqmufovkdyJaygh/ Three-dimen-sional arrayudk xdef;csKyfwJhtcgrSmawmhtwo-dimensional

    uk d xdef;csKyfykHeJY twlwlygyJ/ uJ 'gqkd&ifawmh three-di-mensionalarrayuae two-dimensionalarray formudk

    ajymif;vJa&;zGJUxm;wJhFigure 1.6udk avhvmMunfhyg/ tvG,f

    wul &Sif;vif;oGm;rSmyg/

    A(1,1,1)A(1,1,1)A(1,1,1)A(1,1,1)A(1,1,1)A(1,1,2)A(1,1,2)A(1,1,2)A(1,1,2)A(1,1,2)

    A(1,2,1)A(1,2,1)A(1,2,1)A(1,2,1)A(1,2,1)A(1,2,2)A(1,2,2)A(1,2,2)A(1,2,2)A(1,2,2)

    A(1,3,1)A(1,3,1)A(1,3,1)A(1,3,1)A(1,3,1)A(1,3,2)A(1,3,2)A(1,3,2)A(1,3,2)A(1,3,2)

    Figure 1-6 Developing a three-dimensional array intoFigure 1-6 Developing a three-dimensional array intoFigure 1-6 Developing a three-dimensional array intoFigure 1-6 Developing a three-dimensional array intoFigure 1-6 Developing a three-dimensional array into

    a two-dimensional arraya two-dimensional arraya two-dimensional arraya two-dimensional arraya two-dimensional array

    A(1,1,1)A(1,1,1)A(1,1,1)A(1,1,1)A(1,1,1)A(1,1,2)A(1,1,2)A(1,1,2)A(1,1,2)A(1,1,2)

    A(1,2,1)A(1,2,1)A(1,2,1)A(1,2,1)A(1,2,1)A(1,2,2)A(1,2,2)A(1,2,2)A(1,2,2)A(1,2,2)

    A(1,3,1)A(1,3,1)A(1,3,1)A(1,3,1)A(1,3,1)A(1,3,2)A(1,3,2)A(1,3,2)A(1,3,2)A(1,3,2)

    A(2,1,1)A(2,1,1)A(2,1,1)A(2,1,1)A(2,1,1) A(2,1,2)A(2,1,2)A(2,1,2)A(2,1,2)A(2,1,2)

    A(2,1,1)A(2,1,1)A(2,1,1)A(2,1,1)A(2,1,1)A(2,1,2)A(2,1,2)A(2,1,2)A(2,1,2)A(2,1,2)

    A(2,2,1)A(2,2,1)A(2,2,1)A(2,2,1)A(2,2,1)A(2,2,2)A(2,2,2)A(2,2,2)A(2,2,2)A(2,2,2)

    A(2,3,1)A(2,3,1)A(2,3,1)A(2,3,1)A(2,3,1)A(2,3,2)A(2,3,2)A(2,3,2)A(2,3,2)A(2,3,2)

    Second planeSecond planeSecond planeSecond planeSecond plane

    RowRowRowRowRowFirst planeFirst planeFirst planeFirst planeFirst plane

    ColumnColumnColumnColumnColumn

    PlanePlanePlanePlanePlane

    One-dimensional array, two-dimensional arrayeJYMulti-dimensional arraypwJh arrayawGtaMumif;udk

    tajccHusus em;vnfoabmaygufoGm;&ifArray&JU t"duuswJh methodtaMumif;ukd &Sif;jyygr,f/ uJ 'gqkd&if Ar-rays&JU programming areaawGrSm vkyfEkdifpGrf;wJh method

    awGudk classifiedvkyfMunfh&atmif/ 'DtcgrSm- Static Array

    - Dynamic ArraypwJh methodESpfckudk awGUjrif&rSmyg/uRefawmfhtaeeJY Java&JU ykHpHjy keywordawGtaMumif;udk

    r&Sif;jy&ao;ygbl;/ 'gaMumifhkeywordawGtaMumif;udk&Sif;wJhtcgrSmyJ ,SOfwGJNyD;,SOfjyygawmhr,f/ rjynfhrpkH&Sif;vif;xm;&if trSefwu,fvkdtyfwJhtcsdefrSm oabmayguf em;vnfrSmr[kwfwJhtwGufkeywordtcef;rSm aoaocsmcsm &Sif;jy

    ygr,f/ qufvufNyD;awmhArrays classxJu API methodawGudk qGJac:NyD; tokH;jyKMunfh&atmif/ Listing 1.20rSmsort( ) methodukd ac:okH;xm;ygw,f/ avhvmMunfhyg/Listing 1.20Listing 1.20Listing 1.20Listing 1.20Listing 1.20 Using Sort( ) method in JavaAPI1. import java.util.arrays;//import

    java. util.*;2. class sortArray{3. public static void main(String[]

    args){4. int[]a={7,18,2,6,9,1,10};5. System.out.println("\t Before

    Sorting\n");

    6. for(int i=0;i

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    25/225

    uGefysLwm*sme,f rwfv? 2005ckESpff 175

    uGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmtaxGaxGuGefysLwmoifcef;pm

    13. }output

    BeforeJ Sorting

    7 18 2 6 9 1 10AfterJ Sorting

    1 2 6 7 9 10 18

    Note :Note :Note :Note :Note :'DprogramrSmokH;wJharray.sort( )method[mQuick-Sort Algorithm methodukd tokH;jyKxm;ygw,f/ uRefawmfh

    taeeJY Sort methodawGtaMumif;udkSort AlgorithmqkdwJhacgif;pOfi,feJY flowchart, AlgorithmeJY &Sif;jyNyD; vdktyfwJhae&mrSm Java program awGeJY xnfhoGif; &Sif;jyrSmyg/'Dae&mrSmawmh Listing 1.20rSmokH;wJh sort( ) method[mQuickSort methodukd okH;xm;w,fvkdYyJ rSwfxm;yg/Analysis

    1/ 'D Listing 1.20rSm Arrays classxJu sort methodukd ,lokH;xm;ygw,f/ 'Dvkd ac:,ltokH;jyKEkdifzkdYtwGufvkdif;eHygwf 1 rSm import java.util.Arrays;qkdNyD; a&;om;xm;wmudk awGU&rSmyg/ Java&JU packageudk ac:okH;wmyg/ Package&JU t"dym,fuawmh ta&SUrSm &Sif;jycJhovkdyJC & C++u header fileawGeJY ykHpHwlygw,f/ Arraysclassudk ac:okH;csif&if vkdif;eHygwf 1 rSmyJ //Backslash

    cHNyD; a&;xm;wJhcommentykHpH a&;xm;wJhimport java.util.*;vkdY ac:okH;&ifvnf; &ygw,f/ oluawmh Ar-rays classomruyJ java.util.packagewpfckvkH;ukd

    ac:okH;csif&if (tjcm; class awGtygt0if) a&;om;

    tokH;jyKygw,f/2/ vkdif;eHygwf 4 rSm int[ ]a={7,18,2,6,9,1,10};qkdNyD; one-

    dimensional arrayudkDeclarevkyfygw,f/ vkdif;eHygwf5 rSmawmhSystem.out.println("\tBefore Sorting\n");qkdNyD; printdkufxkwfygw,f/ Escape characterjzpfwJh(\t 0.5jcm;&ef) (\n new Lineqif;&ef) ac:okH;xm;wmudkvnf; awGU&rSmyg/ t"dym,fuawmh Sortingrvkyfcif(i,fpOfBuD;vkdufrpOfcif) t&if rlv datatwdkif; dkufxkwfjyr,fayghaemf/ NyD;awmh for loopingeJY arrayukdywfNyD; dkufxkwfygw,f/ 'DtcgrSm ArrayName.length

    ( ) API methodukd ac:okH;xm;wmudk awGu&rSmyg/For loopingeJY block braceukdvnf; awGU&rSmyg/ in-crementtaeeJY (1wkd;wkdif;) blockxJudk jyef0ifrSmyg/

    3/ 'Dawmh t&ifvkd aemufwpfaMumif;rSm Equals Sign(=)udk okH;NyD; a[i]=i;vkdY a&;p&mrvkdawmhygbl;/ uJ NyD;awmhvkdif;eHygwf 7 rSm DataawGudkfor loopingeJY dkufxkwfygw,f/ Datawpfck dkufxkwfNyD;wkdif; Double quote" "

    eJY blank (white) spacejcm;ygw,f/ trSefwu,fuawmh\tudk tokH;jyKNyD;awmhjcm;vnf;&ayr,fh 'DtcsdefrSmcomplex

    jzpfoGm;rSmpkd;vkdY" " Double quote

    eJYyJspace

    jcm;vdkufygw,f/ 'Dawmh outputtaeeJY Before Sort-ingqkdNyD; vmay:ygw,f/ tJ'D&JUatmufrSmrS7 18 2 6 91 10qkdNyD; sortrvkyf&ao;bJ vmjyrSmyg/

    4/ vkdif;eHygwf 8 rSmawmhjava.util.Arrays packagexJusort( )API methodukd ,lokH;NyD;awmh i,fpOfBuD;vkduf

    pDpOfygw,f/ CommenttaeeJYvnf; sortingvkdY a&;jyxm;wmudk awGU&rSmyg/ vkdif;eHygwf 9 uawmh print( )commandukd tokH;jyKNyD;awmh After SortingqkdwJh

    pmom;udkvmjyzkdYtwGuf a&;xm;wmygyJ/5/ vkdif;eHygwf 10 uawmhsortingvkyfNyD;om; (i,fpOfBuD;

    vdkuf)pDpOfNyD;om; Arrays&JU member dataawGukd forloopingukd tokH;jyKNyD;awmhoutputxkwfygw,f/ 'Dtcg

    rSmawmhoutputukd xkwfay;zkdY brace{xJudk 0ifNyD; vkdif;eHygwf 11 rSm a&;xm;wJhprint statementudk tvkyfoGm;vkyfygw,f/ 'Dvkdenf;eJY outputawGudk dkufxkwfoGm;wm[m 1 2 6 7 9 10 18qkdwJhsortingvkyfNyD;om; dataawGukd vmjywmaygh/ Arrays&JU member data itemawGMum;rSm white spacejcm;zkdYtwGufprograma&;pOfxJu Double quote" "eJY xnhfa&;cJhvkdYqkdwmukd owdjyKrdrSmyg/

    6/ vkdif;eHygwf 11 u print statement&JUtqkH;rSm forlooping&JU block braceukd vmydwfxm;wmudkvnf;

    awGU&rSmyg/ vkdif;eHygwf 12 eJY vkdif;eHygwf 13 uawmhmain( ) function&JU close braceeJY primary class&JUclose brace}awGqkdwmudk owdjyKrdrSmyg/

    Note :Note :Note :Note :Note : 'DprogramrSm topftqef;taeeJYuawmh JavapackageawGudk ac:okH;wmawGudkygyJ/ rSwfrdoGm;atmif ao

    aocsmcsmavhvmyg/ a&SUavQmuf qufvuftokH;jyK&r,fhtoolsawGjzpfvkdYygyJ/

    qufvufNyD;awmhJava LanguageeJY programawGudka&;om;wnfaqmufwJhtcgrSm API methodawGudkvnf;

    ac:,ltokH;cs&if;eJY wpfzufuvnf; ukd,fykdiffunctionawGudk a&;om;NyD; tvkyfvkyfMunfhMu&atmif/ Listing 1.21u program[mqkd&if Java packageawGxJu APImethodawGudk ac:,ltokH;jyKkHomruyJ ukd,fykdif func-tionawGudk createvkyfxm;NyD; tokH;csxm;ygw,f/

    (a&SYv qufvufazmfjyygrnf)ausmfaZ,smav; (uom)

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    26/225

    uGefysLwm*sme,f {jyDv? 2005 ckESpff168

    uGefysLwmoifcef;pm

    'Dae&mrSm functiontaMumif;udk oD;oefY acgif;pOftaeeJY &Sif;jyygr,f/

    Function Method In JAFunction Method In JAFunction Method In JAFunction Method In JAFunction Method In JAVVVVVAAAAA

    Function( )qkdwmuawmh Java Developer Guideukd avhvmaeoltaeeJY rpdrf;ygbl;/ bmvkdYajym&wmvJqkd

    awmhJava&JU tajccH Listing 1.1uae pwifa&;om;ykdYcsay;cJhwJh programawGrSm yg0ifwJh main( )qkdwm[m Java&JUfunctionwpfckjzpfvkdYygyJ/ C & C++rSmvnf; twlwlygyJ/

    tck a&;om;ykdYcsr,fhfunction( )awG&JUykHpHeJY main( )ykHpH[mqifwlygw,f/ tcka&;r,fh functionawGeJY main( )[m xyfwlxyfrQwlovm;qkd&ifawmh pGrf;&nftaeeJYuawmhtrsm;BuD; uGJjym;jcm;em;ygw,f/ ta&;tBuD;qkH;tcsufukdajym&&ifawmh main( ) [m ukd,fykdif&yfwnfrI&Sdygw,f/Function( )awG[m ukd,fykdif&yfwnfrIr&Sdygbl;/ main( )

    [m rDSckdrIuif;r,fhkHomruygbl; main( )qkdwJh method

    rygvm&if tJ'D program[m compilevkyfEkdifpGrf;awmifr&Sdawmhygbl;/ NyD;awmhfunctionawG b,favmufyJa&;xm;ayr,fh program compilevkyfNyD; RunNyDqkdwmeJY main( )methodukd awGUatmif&SmNyD; tJ'Dae&mupNyD;awmhrS com-pilevkyfygw,f/ 'Dawmhmain( )qkdwm[m programwpfck&JU

    0ifaygufjzpfaewmaygh/ OyrmtaeeJYajym&&ifawmhmain( )function[m tdrfwpftdrf&JU0ifayguf (wHcg;rBuD;)eJY wlaeyg

    w,f/ Function( )qkdwmuawmh tdrfxJrSm&SdwJh tcef;i,fawG (tdyfcef;^xrif;pm;cef;)eJYwlygw,f/ tdrfxJa&mufaeayr,fh tdyfcef;xJ^xrif;pm;cef;xJ 0ifcsifrS0ifrSmaygh/ 'Doabmw&m;[m function( )awG a&;cJhNyD;awmh ac:okH;csifrS okH;r,f/

    rokH;csifvnf;&ygw,fqkdwJh oabmw&m;yJaygh/ uJ 'gqkd&ifmain( ) functionuawmh tdrfwHcg;rBuD;eJY wlygw,fqkdrS

    awmh wHcg;rBuD;udk zGifhr0ifbJ tdrfxJudk 0ifvkdYudk r&awmhygbl;/ tdrfxJudk 0ifvkdYr&awmhbl;qkdrSawmh function( )awG

    jzpfwJh tdrfcef;^xrif;pm;cef;xJudka&m 0ifvkdY&EkdifygOD;rvm;?

    r&Ekdifygbl;/

    uJ 'gqkd&ifawmhmain( ) functioneJY ukd,fykdifzefwD;a&;om;wJhfunction( ) methodawG uGJjym;jcm;em;wmudk oabmaygufoGm;awmhrSmyg/ C & C++eJY uGJjym;jcm;em;wmuawmhJavarSm return typeudk xnfhoGif;a&;zGJUp&mrvkdygbl;/ uJFigure 1.7ukd avhvmMunfhyg/ Function( )awG tvkyfvkyf

    wJhykHpHudkDiagram

    qGJjyxm;wmyg/Figure 1.7 When a program calls a function, execu-tion switches to the function and then resumes at

    the line after the function call.

    Main ()Main ()Main ()Main ()Main ()

    {{{{{ SSSSStatement;tatement;tatement;tatement;tatement;

    func1 ();func1 ();func1 ();func1 ();func1 ();

    SSSSStatementtatementtatementtatementtatement

    func2 ();func2 ();func2 ();func2 ();func2 ();

    SSSSStatement;tatement;tatement;tatement;tatement;

    func4 ();func4 ();func4 ();func4 ();func4 ();

    }}}}} SSSSStatement;tatement;tatement;tatement;tatement;

    ProgramProgramProgramProgramProgram

    retumretumretumretumretum

    func1func1func1func1func1

    retum;retum;retum;retum;retum;

    func4func4func4func4func4

    retum;retum;retum;retum;retum;

    func3func3func3func3func3

    retum;retum;retum;retum;retum;

    Statement

    func3();

    func2func2func2func2func2

    >

    >

    0

    f (k-1) X kf (k)

    End

    1f (k)

    No

    Step 1: As a preparatory step, pointers i and j must be

    initialized.

    - i is at the left end, that is 1.

    - j is at the last position but a (7) of the pivot, that

    is 6.

    Step 2-1: i is mived to the right until an element

    larger than the pivot is detected.

    Step 2-2: J is moved to the left until an element

    smaller than the pivot is detected.

    Step 2-3: a (i) is exchanged with a (j).

    Step 2-4: Step 2-1, 2-2 and 2-3 are repeated until

    i j.

    Step 2-5: a (i) is exchanged with the pivot at the right

    end.

    Figure 1.12 Algotrithm of the quick sort method

    Moving data

    Rollof

    dataitem

    Pivot

    Rollof

    dataitem

    Data items

    smaller than

    the pivot

    Data items

    larger than

    the pivot

    Data items

    smaller than 8Data items

    larger than 8Pivot

    (Example) 6 1 7 4 3 8 12 11 13 9

    Pivot&JU b,fbuf rSm&SdwhJdata itemsawG[m i,fae

    NyD;awmhpivot&JU nbufrSm&SdwhJdata itemsawG[m BuD;aewmudk awGU&ygw,f/ 'g[mqkd&if sortingvkyfr,fh data

    itemsawGudk divided into two sections (division)vkyfjcif;ygyJ/ uJ 'Dtxd&NyDaemf/ uJ. . 'Dvkddata itemsawGudkgroupESpftkyfpk cGJNyD;whJtcgrSmawmhsortvkyfygw,f/ Sorting

    vk yfwhJtcgrSm omref sort operation awGxuf vG,fulvsifjrefpGm oGm;Ekdifygw,f/ Figure 1.12udk avhvmMunhfyg/

    Quick sort method&JU AlogrithmeJY calculation factori-alsudk a&;jyxm;ygw,f/ aoaocsmcsm avhvmMunhfyg/

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    40/225

    uGefysLwm*sme,f ZGefv? 2005 ckESpff 183

    uGefysLwmoifcef;pm

    uJ 'gqkd&if Quick sort method&JU Algorithm&JU

    calculation factorialsudk em;vnf oabmaygufoGm;NyDqkd&ifawmhFigure 1.13taeeJY a&;qGJjyxm;whJQuick sort

    method&JU flowchartudk avhvmMunhfyg/uJ 'gqdk&ifawmh Quick sort methodeJ Y ywfoufwhJ

    Agorithm, DataawGudkcomparevkyfNyD;ae&ma&GUwhJcal-culation facterialseJY flowchartawGudk avhvmNyD;oGm;&if

    awmh Java.util parkagerSm yg0ifwhJ sort ( ) methodudkusedvkyfwhJtcgrSm based on designvkyfxm;whJ Quicksort methodudk em;vnf oabmaygufoGm;rSmyg/ Quicksort methodudk Bubble sort methodvkdawmh program

    a&;NyD; r&Sif;jyawmhygbl;/ PackagexJrSm yg0ifNyD;om;rkdYygyJ/'gayr,fhAlogrithm & FlowchartawGudkawmh txyfxyftcgcg avhvmyg/

    uRefawmfhtaeeJY ArrayseJY ywfoufNyD;awmh 'Dtcef;rSmtjynfhpHkqH k;jzpfatmif ydkYcschJ ygw,f/ 'DtcgrSm tcsdKUaomtqifhjrifh arraysykpmawGudk &Sif;jywhJtcgrSm Algorithm& FlowchartqdkwhJ System DevelopmenteJY InternalDesignydkif;qkdif&m enf;ynmawG yg0ifvmwmudk pmzwfol

    awGU&rSmyg/ 'Dawmhprogrammertqifh (tajccHupNyD;awmh)avhvmoif,lwhJtcgrSm 'Denf;ynmawGudk csefxm;chJvkd Y r&ygbl;/ 'D System DevelopmenteJY Internal Designydkif;qkdif&m methodawGuvnf; Java languagewpfckxJrSmomr[kwfygbl;/ C & C++, Ada, Java, Fortran, .....tp&Sd

    ojzifh b,fLanguageawGrSmrqkd toHk;0ifygw,f/ Pro-gramwpfck&JU FlowoGm;yHkudkprogram flowcharteJY wGufcsufa&;qGJjy&NyD;awmh System DevelopmentyJjzpfjzpf Sys-tem Maintenance methodrSmyJjzpfjzpf tvkyfvkyfoGm;whJFlowudkawmhSystem FlowcharteJ Y tvkyfvkyf a&;om;jy&

    ygw,f/ 'Dawmh 'DFlowchart method[m toHk;0ifw,fqkdwmudk tajccHavmufawmh oabmaygufvmavmufygNyD/'gaMumifh vHk;0 rwwfajrmuf^roifMum;bl;ao;whJ olawGupNyD;awmh wwfajrmufxm;olawGyg em;vnfoabmaygufEkdifzkdYtwGufJava&JU Sample Programi,fav;awGudk toHk;jyKNyD;awmh Algorithm statementawG a&;om;wnfaqmuf

    enf; FlowchartawG a&;qGJenf;udk aoaocsmcsm avhvm Munhfyg/ tvGef toHk;0ifwhJ System DevelopmentMethodjzpfygw,f/ tvG,fwul wwfajrmufEkdifMuvdrfhr,f

    vk dY ,HkMunfygw,f/ausmfaZ,smav; (uom)

    Figure 10.13 Algorithm of the quick sort method

    Divide

    si

    e-1j

    a (e)PIVOT

    Loop 1

    i j

    Loop 2

    i j

    or a (i) PIVOT

    i + 1 i

    Loop 2

    Loop 3

    i j

    or PIVOTa (j)

    j-1j

    Loop 3

    i : j

    a (i)SAVE

    a (j)SAVE

    a (j)a (i)

    SAVEa (j)

    Loop 1

    a (i)SAVE

    a (e)a (i)

    SAVEa (j)

    return j

    Divide

    si

    e-1j

    a (e)PIVOT

    Loop 1

    i j

    Loop 2

    i j

    or a (i) PIVOT

    i + 1 i

    Loop 2

    Loop 3

    i j

    or PIVOTa (j)

    j-1j

    Loop 3

    i : j

    a (i)SAVE

    a (j)SAVE

    a (j)a (i)

    SAVEa (j)

    Loop 1

    a (i)SAVE

    a (e)a (i)

    SAVEa (j)

    return j

    System's CLASSPATH xJrSmyJjzpfjzpf? 'grSr[kwf

    C: \> &JU atmufrSm&SdwJh b,f System's CLASS-PATH atmufrSmyJ jzpfap tqifajywJh b,fSystem's CLASSPATHatmufrSmrqdk Savevkyf

    NyD; ac:,l toHk;csEkdifygw,f/ C+ +&JU compiler

    u 'Dtcsufudk tvG,fwul ajz&Sif;ay;Ekdifygw,f/ aemuf tvGef ta&;BuD;wJhtcsufu C & C++projectawGudk zefwD;wJhtcgrSm C: \ > System'sCLASSPATH&JUatmufrSm sub- directorywpfckudk

    zefwD;NyD;awmh tJ'DHsub-folderxJrSmyJprojecttjzpfzefwD;r,fhHeader fileawG? program fileawG?icon file

    awGudkCreate

    vkyf&ygw,f/ Oyrmajym&&ifawmh- C:\B C5\BIN >&J U atmufrSm CalculateqdkwJh folderwpfckudk zefwD;vdkufygr,f/

    'DawmhC: \BC5\ BIN \ Calculate >qkdwJhSystem's

    CLASSPATH udk &&SdvmrSmyg/ tJ'Dh System'sCLASSPATH udk &&SdvmwJhtcgrSm zefwD;a&;zGJYwJhHeader fileawG? programfileawG? GUIzefwD;

    rIawG Cursor-movement & icon awGudk tJ'Dhsystem's CLASSPATHxJrSmyJ (wpfenf;ajym&&if

    awmhC: \B C5\ BIN\ Calculate>xJrSmyJ) vmNyD;savevkyf odrf;qnf;&ygw,f/ Program fileudk

    zefwD;NyD;vkdY Run & compilevkyfwJhtcgrSm HeaderfileeJY program fileawGSystem's CLASSPATH

    wpfckwnf;atmufrSm &SdaeayrJh Errorwufrvmygbl;/

    'gaMumifh C & C + +e,fy,fuvmwJh programmerawGtzdkYawmh 'Down packageawG wnfaqmufwJhtcgrSm

    txl;owdjyKNyD;awmh a&;zGJUMuapcsifygw,f/ LanguageESpfck

    &JU oabmw&m;ud k twwfEdkifqH k; &Sif ;vif; oabmaygufem;vnfapcsifygw,f/ 'Dawmh Java&JU own packageawG

    zefwD;NyD;NyDqkdawmhmain ( ) programudk wnfaqmuf&atmifvm;/ Listing 2.24taeeJY a&;zGJYxm;wJhprogram code_lineav;awGudk toHk;jyKNyD;awmhprogramudk zefwD; wnfaqmufyg/

    Listing 2.24 use my own package method in JAVA

    1. import calculate .Cal;2. public class testOwnPackage {

    3. public statevoid main (string args [ ] )}4. cal obj = new cal ( ) ;5. double Length = 9.0 ;6. double width = 11.0;

    7. public

    getArea

    (double L, double w)

    8. {length = L; width = w;}9. System .out. printIn ("Area is" + obj Cal Area ( ) );10. }11. }output

    Area is 99

    Note: 'Dprogramudk a&;NyD;wJhtcgrSm xyfrHNyD;awmh owday;ygOD;r,f/ 'Dfileudk pmzwfol&JU ComputerxJu System's CLASSPATHjzpfwJh -C: \ j2sdk 1.4.1-01 >

    C: \jdk 1.4 >

    C: \java 2 >tp&SdwhJ pmzwfolInstrallvkyfxm;wJhJAVA Developement kit&Sd&matmufrSm save

    vkyfNyD;rSyJjzpfjzpf C: \j2sdk 1.4 .1-01 /bin >&JUatmufrSmyJjzpfjzpfSavevkyfNyD;awmhrSCompilevkyf&rSmyg/ 'gudk txl;owdxm;yg/

    Analysis

    1/ Listing 2.24rSma&;xm;wJhprogram code -line[mpmzwfoltwGuf b,fvdkrQ complexjzpfp&m r&Sdygbl;/'g[m tvGef dk;pif;vG,fulNyD;awmh txyfxyftcgcga&;om; avhvmcJh&wJhProgram typejzpfvkdYygyJ/ vdkif;

    eHygwf (1) rSm uRefawmfwdkY a&SUrSm a&;zGJYcJhwJh packagefileudkimportvkyf ac:,lygw,f/ 'DtcgrSm uRefawmf

    wkdY zefwD;cJhwhJ package file[m program&JU Base

    Class & objecttjzpf a&muf&S dvmwmyg/ tJ'Dhaemufvkdif;eHygwf (2) rSmawmhtest Own PackageqdkNyD;awmhPrimary Classwpfckudk zefwD;ygw,f/ tJ'Dprimary

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    96/225

    uGefysLwmoifcef;pm

    uGefysLwm*sme,f rwfv? 2006 ckESpff 183

    classxJrSmawmhpackage filetjzpf a&;om;xm;wJhCalqdkwJhClassudk objecttaeeJY ObjvdkY Name

    ay;NyD ;awmh ac:,lvkdufygw,f/

    2/ vkdif;eHygwf (5) eJY (6) rSmawmhlengtheJY widthwkdY&JUwefzdk;udk Declarevkyfygw,f/ Data typeudkawmhdouble data typeudk useagevkyfxm;ygw,f/

    vkdif;eHygwf (7) rSmawmh getArea ( )qdkwJhfunctionav;udk a&;zGJYygw,f/ tJ'D functionrSm parameterargumentstaeeJ Y a&;om;NyD;awmh function ( )&JUbodyxJrSm assignvkyfNyD;awmh nd,lxm;ygw,f/

    3/ vk dif;eHygwf (10) rSmawmh program&J U yifr bodyxJrSm yg0ifwJhdata assign valueawGudk toHk;jyKNyD;awmhpackage filetjzpfa&;om;xm;wJh ClassxJugetArea ( )qdkwJhmethodudk ac:,ltoHk;csNyD;awmh

    outputxkwf ay;xm;ygw,f/ 'g[m 'DprogramrSmyg0ifwJh code-lineawG&J U oabmw&m;ygyJ/'Dae&mrSm pmzwfolbufuae Complainwufvmp&m

    &Sdwmuawmh package filetjzpf oD;jcm;a&;zGJYraeawmhbJClasstjzpf zefwD;NyD;awmhrSobjecttaeeJY ac:,l toHk;cs

    Ekdif&ifaum r&Ekdifbl;vm;qdkwJh tar;ygyJ/'Dtcsuf[m rwlygbl;/ Userudksupportay;wJh type

    [mvnf; rwljyefygbl;/ bmaMumifhvJqdkawmhClasstaeeJYzefwD;r,f? ac:,l toHk;csr,fqkd&if 'D Classudk yifr mian( ) programuom ac:,ltoHk;csvdkY &rSmyg/ tjcm; pro-gram

    uom ac:,lr,fqkd&if r&Ekdifawmhygbl;/ 'Dawmh tjcm;userawGtwGufsupportrjzpfEkdifawmhygbl;/

    uJtck uRefawmfydkYcsay;wJhenf;vrf;eJYom zefwD; wnfaqmufr,fqkd&ifawmh API (Application ProgrammingInterface) methodtaeeJY jzpfwnfoGm;wmyg/ 'D APImethodud k tjcm; programawG a&;om;pOfrSm import

    vkyfNyD;awmh ac:,ltoHk;csvkdY &ygw,f/ 'g[m API methodawG&J U oabmw&m;ygyJ/

    Note: APImethodawGeJY ywfoufNyD;awmh 1.5 Arraysof JAVAqkdwJh tcef;u@rSm tajccHusus jynfhpHk

    atmif &Sif;jyay;cJhNyD;ygNyD/ tcktcsdefrSm jyefvSef avh

    vmapcsifygw,f/ API method &JU aemufxyfsupportjzpfwJh tcsufuawmh userawGtaeeJY a&SU

    u programmerawG zefwD;oGm;wJhmethodawGudkrdrdpdwfBudKuffeaturesawG xyfrHjznfhpGufNyD; qifhyGm;package awG zefwD;vkdY&ygw,f/ Oyrmay;&&if-

    Sample

    Package A;udkProgrammer Au zefwD;ygw,f/ 'DPackage AxJrSm API methodwpfck yg0ifyg

    w,f/ Package B ;udkProgrammer Bu zefwD;ygw,f/ 'Dpackage BxJrSm package AxJu API method

    udk tajcjyKNyD;awmh pdwfBudKuf APImethod ( )udka&;om; zefwD;ygw,f/ 'Dpackage BxJrSm ta&SUuprogrammer Aa&;om;xm;wJhpackage AwpfckvHk;

    udk importvkyfxm;ygw,f/ 'Dtcg package Budk ac:,l toHk;cs&ifpackage

    Audkyg tvdktavsmufinvolvetaeeJY yg0ifvmrSmyg/

    'g[m a&SUu zefwD;oGm;wJhAPI methodawGukd tajccHNyD;awmh qifhyGm; packageawGudk zefwD;wnfaqmufwJhenf;vrf;ygyJ/ 'gqkd&if tajccH package fileawG wnfaqmufzkdY

    enf;vrf;udk em;vnfoabmaygufoGm;NyDjzpfwJhtwGuf xyfrHNyD;awmh avhvmEkdifatmif2.5.2 Sample Application ofJAVAqdkwJ h tcef;u@udk ydkYcsay;xm;ygw,f/ pmzwfol

    twGuf JAVA Language eJY ywfoufwJh taumif;qHk;taxmuftuljzpfapEkdifr,fvdkY ,HkMunfygw,f/ uJ aoaocsmcsmav; qufvuf avhvmvdkufygOD;/

    KYAWZAYAR LAY [ IT ENGINEERING ]

    aus;&Gm pmMunfhwdkufrsm;udk tm; (3) tm;jzifh zGJUpnf;xlaxmif

    jyefMum;a&;0ef BuD;Xme? jyefMum;a&;ESifh jynfolYqufqHa&;OD;pD;Xmeonf EdkifiHawmftBuD;tuJ\ vrf;TefcsufESifhtnD vlYpGrf;tm; t&if;

    tjrpf zGHU NzdK;wdk;wufa&;udk taxmuftuljzpfap&ef? wdkif;&if;om;jynfolrsm; todynm A[kokw

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    97/225

    uGefysLwmoifcef;pm

    uGefysLwm*sme,f {NyDv? 2006 ckESpff 169

    2.5.2 SAMPLE APPLICATION OF JAVA

    JAVA DEVELOPERGUIDEJAVA DEVELOPERGUIDE

    uRefawmfwdkYtaeeJ Y 'Dtcef;u@rSm object & classqdkwJh tydkif;rSmudkyJ awmfawmfav; a&maxG;oGm;Ekdifygw,f/Oyrmajym&&ifawmh Access ControleJY passing Argu-ments tydkif;/ NyD;awmh ConstructoreJY Destructor

    Method/ aemufInheritancepwJhClass&JU tajccH yifrfeatures awG/ 'gawGudk pmzwfoltaeeJY arhavsmhaumif;

    arhavsmhaerSmyg/Interfacetydkif;rSmqkd&ifvnf; Implementing and

    using Interfaceoabmw&m;/ NyD;awmh Extending andMethods Insideoabmw&m; pwmawG us,fus,fjyefYjyefY

    yg0ifaeygw,f/Inner Class typeawGrSm qkd&ifvnf; Static Member,

    Class, Member Class, Local Class and Anonymous

    Classtp&SdwJhClass typeawGudk a&;om; toHk;cs[efawGyg0ifaeygw,f/

    uJ- 'Dawmh pmzwfoltaeeJY tenf;i,fa&maxG;aumif;a&maxG;aeEkdifwJh 'Dtcef;u@rSm avhusifh&r,fhprogramtaeeJY ta&SUu oifMum;cJhwJh oabmw&m;awG tukef yg0ifaewJhStorefront Application Programudk avhvmMunfhMu

    &atmifvm;/ 'g[m JAVA programmawpfa,muftwGufjynfhpHkwJh tawGYtMuHKudk &&SdapzkdY taxmuftul jzpfapEkdifvdrhfr,fvdkY ,HkMunfygw,f/ vkdtyfovdkclass & objectawGudkzefwD;NyD;awmh projectozG,f zefwD;&,lwmaMumifh aoaocsmcsm avhvm oif,lapcsifygw,f/ em;vnfatmif twwfEkdifqH k; BudK;pm;ydkYcsay;xm;ygw,f/

    Creating an Online Storefront Application'Dprogram[m Application programjzpfwmaMumifh

    codeawG a&;&wm rsm;jym;rI&Sdovdk wnfaqmuf zGJYpnf;rIrSmvnf; complexjzpfvmEkdifwJhtwGufMultifile programozG,f a&;om;NyD;awmh tJ'D a&;om;xm;wJhMultifile pro-gramawG pkpnf;NyD;rS Executable Programjzpfvmatmif

    zefwD;Mu&rSmygyJ/ ProjectwpfckozG,f zefwD;&wmjzpfwJhtwGufprogram&JU wpfpdwfwpfa'opDudk cGJjcrf;a&;wJhtcgu pvdkY Date type, variables, MethodpwmawGudk *kwpdkuf avhvm&ygr,f/ 'DApplication projectrSm t"du

    pGrf;aqmif&nftjyifencapsulationqkdwJh tcsufudkyg xnfhoGif; pOf;pm;Mu&ygr,f/ uJ 'gqkd&if oifcef;pmwpfckudk

    avhvmovdkrsKd;yJ oHk;oyfMu&atmifvm;/ t"du 'D program&JU &nf&G,fcsufuawmh-

    Calculating the sale price of each item depending

    on how much of it is presently in stock

    Sorting items according to sale price.

    pwJh &nf&G,f csufawGeJY t"d u wnfaqmufwmygyJ/'g[m tajccH tMurf;zsif;tm;jzifh wnfaqmufwmvnf;yJjzpfygw,f/ pmzwfoltaeeJY vdkcsifwJhfeaturesawGudkvnf;xyfrHjznfhpGuf a&;om;vkdY &Ekdifygw,f/

    Storefront ApplicationrSm yifr t"du container,classESpfcku t"du yg0ifygw,f/ tJ'guawmhItem ClasseJY Storefront ClasswdkYyJ jzpfygw,f/ tJ'DhClassESpfck[mrdrdukd,fwkdifyJ zefwD;a&;om;&r,fh classawGyg/ tJ'DhclassawGudk uRefawmfu a&;om;NyD;awmhpackagetjzpf zefwD;&,lygr,f/ 'DawmhPackage_Nametjzpf com.perfect.ecommercexJrSm OrganizedxkwfrSm jzpfygw,f/ 'gaMumifh

    t&ifqHk; pmzwfol&JU System directory xJrSm tJ'D

    package's classudk storevkyfzdkY directory structureudk

    zefwD;zdkY vdkvmygNyD/Note: udk,fydkifown packageawG zefwD;&,lr,fqdk&if

    directory structureudk zefwD;NyD ;awmh &nfnGef;&,l oHk;pGJwJhenf;udk a&SUoifcef;pmrSm aoaocsmcsmydkYcsay;cJhNyD;ygNyD/ 'g[m 'DtcsdefrSm a&maxG;apr,fh taMumif;t&m r[kwfawmhygbl;/ uJ 'DawmhpackagetwGufCLASSPATH (ClassPath)udk

    zefwD;Mu&atmif/ pmzwfol&JU pufxJrSm JAVA 5DK

  • 8/3/2019 JAVA Developer Guide Www.nyinaymin

    98/225

    uGefysLwmoifcef;pm

    uGefysLwm*sme,f {NyDv? 2006 ckESpff170

    1.4udk Instrallvkyfxm;&ifC: \ jdk 1.4taeeJY

    wnf&SdrSmyg/'Dawmh uRefawmfwkdYtaeeJY C:\ jdk 1.4\com \prefect\

    ecommerceqdkwJh System's CLASSPATHudk for pack-age in the folder listedtaeeJY zefwD;&ygr,f/

    'grSomvQif uRefawmfwdkY zefwD;r,f