java language overview

Upload: jarkinbek-japar

Post on 06-Jul-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Java language overview

    1/33

    JAVA ПРОГРАМЧИЛАЛ

    Монгол Улсын Шинжлэх Ухаан

    Технологийн Их Сугуул!

  • 8/18/2019 Java language overview

    2/33

    "#гнэх $а%агаа

    &'() * +),-.

    2

    Лекц

    Бие даалт ний/ ,- оноо У%и%а0ж 1* %олоо хоног/ гана2

    Явцын сорил соил*3

    43- оноо 5 6 %олоо хоног4

    соил*7

    43- оноо 5 31 %олоо хоног4

    8ий/ 7- оноо

    ИРЦ ИДЭВХИ-ЛАБ ний/ 7- оноо

  • 8/18/2019 Java language overview

    3/33

    Мэ%лэг %#гнэх %#э0

    &'() * +),-.

    3

    Ла9: ле;< 9#/гэнэ2  И< и%э=хийн оноон% н>л>>лн>2

    ?ие %аал/ыг $аасан хуга

  • 8/18/2019 Java language overview

    4/33

    Мэ%ээлэл >г>х хол9оос

    &'() * +),-.

    4

    @иээлийн ин/ене/ хуу%асE

      !!"#$$%&'!-'()!*+,.'"!*)%

    @иээлийн хол9ог%ол/ой эле;/он хуу%асE

     

    !!"#$$///*0112'*)% FGHHIK /ухай

      L*HMNO хээглэг/эй 9айх Bс/ой2

    PPP2QGGQOI2RGH @айл/ын сис/е0

    KSMTOMKI2QGGQOI2H Оуулгын сис/е0  АDиглах но0

      +KSGURKNG2KG2JMWM2XSGQSMHHNQ2YKZ2[UNKNG \охиог ]2 ^MNIO _NMQ

  • 8/18/2019 Java language overview

    5/33

    JMWM хэлний ##сэл: /##х

    &'() * +),-.

    JMWM*гийн /##х

      `3663a ( ;о0bанийн />с>л 9олох cLSIId н!

    эле;/он />х>>>0жийн х>гж##лэх $оилго/ой

    9айсан2

      cLSIId />с>л% сууиас ха0ааалг#й

    bога0лалын хэлний Dаа%лага гасан2  JMHIT LGTONQ Dинэ bога0лалын хэл $охиосон

    н! eMf 9айлаа2 gнэ хэл н! л 9и$несийн hн$ 9#ийн

    Dал/гаанаас 9олж $огссон2

      iэ9 ил## ний/ийг ха0а ( ;о0bани eMf*ийг

    ин/енэ/ bога0лал% аDиглахаа Dий%сэн2

  • 8/18/2019 Java language overview

    6/33

    JMWM хэлний ##сэл: /##х

    &'() * +),-.

    JMWM*гийн /##х

      (: jGKJMWM нэ/эй 9ай/*;о%ыг ажиллуул%аг =э9 $уу

    bога0ыг 9#/ээсэн2

      eMf 5ийн нэ JMWM 9олж >>л>г%с>н2

      `3661a (: JMWM*г ин/енэ/ийн е/>н% игл##лснээ >г>н

    хээглг>>н/ />х>>>0ж##%э%E J7&[

    Шиээний ;о0b!C/еийнE J7([`JMWM (PNQa

      О%оо ( ;о0bани н! eSMROI ;о0bани% $ааг%сан2

  • 8/18/2019 Java language overview

    7/33

    JMWM хэлний #н%эс

    &'() * +),-.

    5 JMWM*гийн хээглээ: иглэл

      n>нхий $оиулал/ын bога0 ханга0ж

    FGTGOI*oMTIU хээглээний bога0

    Шиээний ;о0b!C/еийн

    Се=э bога0 ханга0ж

    iэ9 bога0 `pйллэг /алын* pйлл##лэг /алынa Тахал//ай 4m*KNIS bога0уу%: bааллел! bога0лал

    С#лжээний bога0 4FONIK /ал: (ISWIS /ал4

    Гэ ахуйн х>>>0ж 4Суулгаг%сан сис/е0##%4

    \>>=ийн />х>>>0жийн bога0 Чиbийн: qа/ын bога0

     pйл%лийн сис/е0 `JMWMe(a

  • 8/18/2019 Java language overview

    8/33

    JMWM хэлний #н%эс

    &'() * +),-.

    6 JMWM хэлний он=ийн: ахи/е;/уын ха0ааалг#й`h0а />х>>>0жийнху=!%a

      rн%> 9оло0ж/ой

      Олон 9о%логын гои0ыг %э0ж%эг

     

    Уhн ха/ан

  • 8/18/2019 Java language overview

    9/33

    JMWM хэлний #н%эс

    &'() * +),-.

    7 JMWM хэлний а%=а

      О@*ыг ула0 сайжуулан о9sе;/ хан%лага/ 9иD

    9оло0жуу%ыг ус/гасан `жиDээ н!: Ftt хэлний 0а;о 9а

    гло9ал! ху=!саг: uSNIU vун;н%>сг>%>г санах ойн

    $аагийн #йл%л##%ийг ус/гаж $аал/ 9олон $ааг гэх0э/ийн $аи0 $>лийг аилгасан2

      "ина0и; санах ойн $охион 9айгуулал//ай2

      rг>г%лийн />лийн ху=!% />лийн аCулг#й2

      8ий/лэг /охиол%%ог 9ууу />лийн

    ху=игал/: 0асси=ын ин%е;с: санах ойн$аагийн ал%ааны ху=!% ажиллах

    #еийн Dалгал//ай2

  • 8/18/2019 Java language overview

    10/33

    JMWM хэлний #н%эс

    &'() * +),-.

    89 JMWM хэлний а%=а

      Олон 9о%логын 9а с#лжээний

    bога0 $охиохыг сайн %э0ж%эг2

      Онгж##лэл/ийн # аDиг/ай 9ай%ал2  cgлс/эй са=ныd нуу

  • 8/18/2019 Java language overview

    11/33

    JMWM хэлний #н%эс

    &'() * +),-.

    88

    JMWM хэлний сул /ал

      JMWM ;о%ыг ажиллуул%аг нэ0эл/

    bога0 ханга0ж Dаа%лага/ай2

     p#нийг Java Virtual Machine (JVM)

    Java бараг л машин 2

    JMWM ;о% н! />х>>>0жийн ойлго%ог 0аDины ;о% уу Dуу%

    х>=##лэг%%эгг#й2

    @аин >> нэгэн %оо% /#=Dний хэл 9олох 9ай/*;о% уу

    х>=##лэг%%эг2

    Байт-к! ("#tec$%e) н! JV&*% ойлгог%%ог 9а JV& /##нийг

    /ухайн 0аDины хэл ## х>=##л%эг2

     p#нээс 9олоо% JMWM bога0 эхлэх%ээ у%аан `JV&*г эхл##лэх

    хуга><

    Dаа%%аг2

  • 8/18/2019 Java language overview

    12/33

    JMWM хэлний #н%эс

    &'() * +),-.

    82

    JMWM хэлний сул /ал

      @элний онх ху=ил9аын JMWM bога0 н! #нэхээ 9уса% хэл %ээ9ииг%сэн bога0аас `Ftta ха!н%>сг>х /оо=##лэг`JTK*N*KNHI RGHlNOISa

    jGK(lGK ;о%ын ажиллагааны сайжуулал/

    %ина0и; хог

  • 8/18/2019 Java language overview

    13/33

    JMWM хэлний #н%эс

    &'() * +),-.

    83

    JV&*ийн х>=##лэл/ 9олон ажиллагаа 9а

    JMWM bога0ын х>=##лэл/ 9олон

    ажиллагаа

  • 8/18/2019 Java language overview

    14/33

    rг>г%лийн />>л

    &'() * +),-.

    84

    qо0b!C/еийн али=аа bога0 н! >г>г%>л %ээ

    #йл%эл хийн # %#нг гага%аг2

    JMWM хэлэн% h0а нэгэн >г>г%>л $аа=ал /о%охой

    />лийнх 9айх Bс/ой2

    &г'г!лийн т'р'л н ;о0b!C/е/ хэхэн%#слэг%эх 9а /##н %ээ h0а #йл%эл хийг%эхийг

    /о%охойлж >г%>г2

    \аи0 />лийн >г>г%>л 0аD >г>н хээглэг%%эгуи JMWM /э%гээ >г>г%лийн />лийг >>/>>

    агуулсан 9ай%аг 9а /э%гээийг тан!арт(**рилаг!ан) т'р'л гэ%эг2

  • 8/18/2019 Java language overview

    15/33

    rг>г%лийн />>л #гэлжлэл

    &'() * +),-.

    8

    М>н JMWM н! bога0 $охиог%о% >>с%ийн

    >г>г%лийн />лийг /о%охойлж аDиглах 9оло0жийг

    олго%ог2

    Тий0 >г>г%лийн />лийг +рграм ,иг.ийн- т!рйлн(/р/гл/г.ийн -т!рйлн)гэ%эг2

    JMWM*гийн >г>г%лийн />лийн е>нхий %#  JMWM 5гийн сууилаг%сан >г>г%лийн />>л * /нгийн 9олон

     ий0/р  JMWM санах ой% >г>г%лийн у/гыг h0а хэл9эээ ха%галж

    9айгаагаас ха0ааан %ээх 7 е>нхий хэсэг /о%охойлог%%ог2

  • 8/18/2019 Java language overview

    16/33

    rг>г%лийн />>л #гэлжлэл

    &'() * +),-.

    8

    1нгийн т'рлийн 'г'г!'л 

  • 8/18/2019 Java language overview

    17/33

    Тог/0ол ху=!саг

    &'() * +),-.

    85

    Тог/0ол*:(;1, /#лх## #гээ ху=!сагийн у/га>>л>г%>хг#йг $аана2

    xиDээл9элE

    uNMO (KSNQ ()Ay( z {||||||||{}

    uNMO RZMS ~_Am• z € €}

    uNMO (KSNQ ~ee•)+)_[ z {+KSGURKNG KG

    JMWM{}

    uNMO (KSNQ &[((AL[ z {[SSGS RGUNKNG{}

  • 8/18/2019 Java language overview

    18/33

    TKMKNR /#лх## #г

    &'()*+),-.

    (KMKNR /#лх## #г н! vун;< 9олон ху=!сагийн ху=!%

    0>н /ухайн ;лассын ху=!% =х>н ;лассын нэийг

    9инэ2 xиDээ н!E

    ROMTT &MNFOMTT

    loONR TKMKNR NK &Mk z 3-}

    ƒ

    „ &MNFOMTT2&Mk z 71} „

  • 8/18/2019 Java language overview

    19/33

    "а=/ал/ uGS`a}PZNOI`a}UG PZNOI`a}

    &'() * +),-.

    87

    JMWM н! , %а=/ал/ын ;о0ан%*>г##л9э/эйE  PZNOI`a

      UG PZNOI`a

      uGS`a Си 9олон Fиtt хэлнээс >=л>с>н2 "ээх

    гу=ан /о%охой н>хл 9иелж 9айха% нэг

    эс=эл 9ло;оо хаDиг%сан #йл%лийг %а=/аж9иел##л%эг2

  • 8/18/2019 Java language overview

    20/33

    "а=/ал/ uGS`a}PZNOI`a}UG PZNOI`a}

    &'() * +),-.

    29

    /(,= >@алAаB-илCрBиDлCл

    E давтаAдаB-коFанд-GAHHлICр J

    K>L

    E давтаAдаB-коFанд-GAHHлICрJ

    /(,= >@алAаB-илCрBиDлCлM

    NO>

    :O>CBлCл-илCрB-лM @алAаB-илCр-л MалBаF-илCр-л

    E давтаAдаB-коFанд-GAHHлICрJ

  • 8/18/2019 Java language overview

    21/33

    "а=/ал/ uGS`a}PZNOI`a}UG PZNOI`a}

    &'() * +),-.

    28

    Pи@CCлICл#

    -:O>

    uGS `k z -} k … 3-} ktta ‚

      (†TKIH2GK2lSNKO`cу/га н! c t ka}

    ƒ

    *UG`a

    kz-}

    UG‚

    ktt}(†TKIH2GK2lSNKO`cу/га н! d t ka}

    ƒ

    PZNOI`k…3-a}

    Энэ комманд 10удаа биелэнэ.

  • 8/18/2019 Java language overview

    22/33

    "а=/ал/ uGS`a}PZNOI`a}UG PZNOI`a}

    &'() * +),-.

    22

    Pи@CCлICл#

    -/(,=>

    x=0;

    while(x

    s=0;x=0;

    while(x

  • 8/18/2019 Java language overview

    23/33

    ~SIMf} RGKNI}

    &'() * +),-.

    23

    );!(;&=for (int i = 0; i < 10; i++) {

    if (i == 5) {

    continue;//эндээс давталтын дараагийн үйлдлүүдийг орхино// давталтын дараагийн алхмыг эхлүүлнэ.

    }

    continue(c++-ийн goto адилхан)

     mainLoo: for (int i = 0; i < 10; i++) {

    for (int j = 0; j < 50; j++) {

    if (j == 25 && i == 5) {

      System.out.println(“ot it!);

      continue mainLoo;

    }

    }

    }

  • 8/18/2019 Java language overview

    24/33

    ~SIMf} RGKNI}

    &'() * +),-.

    24

    -+O=1Qfor (int i = 0; i < 10; i++) {

    if (i == 5) {

     !"ea#; // давталт $огсо% д&&сна.

    }

    System.out.println(“"#e $%lue of i is “ + i);

    }

    for(;;)

    {

    ''*, -/

    }

  • 8/18/2019 Java language overview

    25/33

    +u: IOTI: TPNKRZ

    &'() * +),-.

    2

    int ' ( )*;i+ ,' - *

    +i"0t10tatementR // энэ үйлдэл үргэл% гүй2этгэгдэнэ.

    3 e40e i+ ,' - )5

    0econ610tatementR // үйлдэл хэ$ээ 7 гүй2эгдэхгүй8

    3 e40e

    t9i"610tatementR

    3

    '(:;

    0itc9 ,'

    ca0e )<

    6o10omet9in=; !"ea#;

    ca0e :<

    6o10omet9in=1e40e;

     !"ea#;

    6e+au4t<

    6o14a0t1t9in=; !"ea#;

  • 8/18/2019 Java language overview

    26/33

    +u*ийн хуаангуй хэл9э

    &'() * +),-.

    2

    ХSвTсаAU V >нGBцGл ? WнCн тоBиолдолд #

    ХSдал тоBиолдолд

    xиDээ н!E

    NK k}

    oGGOIM ozuMOTI}

    kz `o ‡ 3- E ,-a} (†TKIH2GK2lSNKO`ckzd t ka}

    x=!0

  • 8/18/2019 Java language overview

    27/33

    Масси=*ASSM†

    &'() * +),-.

    25

    Масси=/ энгийн: $аал/`о9sе;/a 9олон >> 0асси=

    />лийн >г>г%лийг ха%галах 9оло0ж/ой2

    JMWM хэлэн% нэг 0асси= н! $>=х>н нэг />лийн

    >г>г%л##%ийг ха%гал%аг2

    xиDээл9элE NK ˆ‰ MSSM†3}

    o†KIˆ‰ MSSM†7}

    (KSNQˆ‰ MSSM†,}

    Олон хэ0жээс 0асси= н! ˆ ‰ хаал/аа илэхийлэг%%эг2 i"# $ % &''&1;

    *#e$ % $ %&''&+;

    ,#'i"-$! % $ +% $+ %&''&!;

  • 8/18/2019 Java language overview

    28/33

    rг>г%>л х>=##лэл/

    &'()*+),-.

     Али=аа bога0лалын хэлний ху=!% />>л

    ху=игал/ын асуу%ал hиг%%аг2 Ий0% h0а нэг

    bога0лалын хэл %ээ а0жил//ай bога0

    9иихийн /ул% /ухайн хэлний />>л ху=игах

    $а0ын /алаа /о%охой ойлгол//ой 9айх н!

    ухал C02

     &/& х>=##лэг н! />л##%ийг хооон% н!

    х>=##лэх %ааах 7 хэл9эээ хангаг%сан2 p#н%E  АвтоFатаар (Automathic)#  Xар арAаар (Manual)#

  • 8/18/2019 Java language overview

    29/33

    rг>г%>л х>=##лэл/

    &'()*+),-.

      АвтоFатаар (Automatic)# @ээ= /ухайн 7 />>лнэг 9#лэг/ 9аг/аж 9ай=ал /э%гээийг хооон%оо

    ниDцтCD тGрлHHд (compatible types) гэж #$ээ% &/& ;о0bилh/о н! /##нийг а=/о0а/аа х>=##л%эг2

    Гэх%ээ />лийн хэ0жээ ихсэж 9айгх #е%2  Xар арAаар (Manual)# @ээ= /ухайн 7 />>л

    хооон%оо ний2г3й (incompatible) 9ай=ал/>лийг а=/о0а/аа х>=##лэх 9оло0жг#й /ул

    х>=##лэл/ийг га агаа (/>>л ху=игал/ #e2&s#3ыг) хийх Dаа%лага/ай2 М>н нийл##%ийн $аи0 онн />>л

    ху=игал/ыг г#й

  • 8/18/2019 Java language overview

    30/33

    gнгийн />лийн х>=##лэл/

    &'()*+),-.

    xа=а хэлний />>л н! 7 ангил%аг  rг>г%лийн #н%сэн />>л

    xиDээ н!E NK: o†KI:OGQ:TZGSK:UGoOI:uOGMK „

      rг>г%лийн хийс=э />>л

    (KSNQ:FMS:)IMRZIS:XISTG „

    rг>г%лийн #н%сэн />>л 9уCу энгийн />лийн

    ху=игал/ н! %ааах %#0ийг 9аи0/ал%аг2

    RZMS 

    TZGSKo†KI

    NK OGQ uOGMK UGoOI

  • 8/18/2019 Java language overview

    31/33

    rг>г%>л х>=##лэл/

    &'()*+),-.

    (KSNQ >г>г%лийн />лийг /оон энгийн

    >г>г%лийн />>л ## %ааах vун;=##лнэ2

    (KSNQ  cNKd * Š +KIQIS2lMSTI+K`(KSNQa}

      cuOGMKd * Š ‹OGMK2lMSTI‹OGMK`(KSNQa}

     

    cUGoOId * Š ^GoOI2lMSTI^GoOI`(KSNQa}  co†KId * Š ~†KI2lMSTI~†KI`(KSNQa}

  • 8/18/2019 Java language overview

    32/33

    rг>г%лийн хан%ал/

    &'() * +),-.

    32

    priate! хандал""ай #и$%%д н& '#а*н,.ад х/.#//. (%нд./н 0н12 ,лн ,.ад1ла..аа.) далдла#д.ан ,айна3 4%%ндхандахдаа "хайн 1ла..н ний"ийн хандал""ай#и$%%н 0н12// да*5л5 хандана3

    public! хандал""ай #и$%%д/д '#а*н днх/.#//. хандах ,л*5"й3

    protecte6! хандал""ай #и$%%д н& 77ийн х%%1ла..даа хаа#дда#8 хаин '#а*н ,.ад

    х/.#//. далдла#дан ,айда#3 6e9ault! хандал" н& "хайн ха:"а.нхаа

    1ла..дад хаа#дда#8 '#а*н ,.ад х/./#,лх ха:"а.ндаа. далдла#д.ан хандал" ;*3

  • 8/18/2019 Java language overview

    33/33

     Анхааал /а=!сан% 9аhлалаа2

    &'() * +),-.

    33