java language overview
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