8. Logo
Програмчлалын тухай үндсэн ойлголт
1. Гэтэл ямарч компьютер бодож чаддаггүй,
програм зохиогч юу хүсч тухайн өгүүлбэрийг
бичсэнийг мэдэхгүй учраас, нэг талаас ийм олон
утгатай зүйл гарахгүй байхаар програмчлалын
хэлний синтакс дүрмийг зохиосон байдаг.
2. Нөгөө талаас хэлний дүрмийг өөрийг нь маш
тодорхой
бөгөөд
энгийн
хэлбэртэйгээр
тайлбарлаж хүмүүст хүргэх шаардлагатай
байдаг.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
9. Logo
Програмчлалын тухай үндсэн ойлголт
1. Гэтэл ямарч компьютер бодож чаддаггүй,
програм зохиогч юу хүсч тухайн өгүүлбэрийг
бичсэнийг мэдэхгүй учраас, нэг талаас ийм олон
утгатай зүйл гарахгүй байхаар програмчлалын
хэлний синтакс дүрмийг зохиосон байдаг.
2. Нөгөө талаас хэлний дүрмийг өөрийг нь маш
тодорхой
бөгөөд
энгийн
хэлбэртэйгээр
тайлбарлаж хүмүүст хүргэх шаардлагатай
байдаг.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
10. Logo
Жава програм ажиллах зарчим
Windows, Linux, Unix, Mac зэрэг ихэнх
системүүд дотроо Java 2 Platformийг агуулсан байдаг.
Java платформ нь дотроо 2 зүйлийг
агуулдаг.
Java Виртуаль
Машин
Java 2
Platform
Java Application
Programming
Interface (Java API)
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
11. Logo
Жава виртуаль машин
JVM нь програмын аргаар бүтээсэн
хийсвэр компьютер юм
Компьютер болгон өөрийн машины
хэлтэй
Виртуаль машин ч мөн өөрийн гэсэн
машины хэлтэй
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
12. Logo
Жава виртуаль машин
Java кодыг Java хөрвүүлэгч програм
(javac) байт код руу хөрвүүлдэг
Виртуаль машины үүрэг нь байт
кодоор бичигдсэн програмыг тухайн
үйлдлийн системийн машины код руу
хөрвүүлэн ажиллуулдаг
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
13. Logo
Жава виртуаль машин
JVM-ны ачаар Java код нь Windows,
Linux, Unix, Mac зэрэг бүх төрлийн
үйлдлийн системүүд, компьютер
дээр огт ялгаварлахгүй ажиллаж
чаддаг
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
14. Logo
Жава виртуаль машин
Програмын код (Source code)
javac New.java
Java компилятор
(javac)
Байт код (Byte code)
New.class
Байт кодыг хүн ойлгохгүй тул нууцлалт болж өгдөг
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
15. Logo
Жава виртуаль машин
Байт код (Byte code)
Java New
Виртуаль машин нь ажиллах
гэж байгаа байт кодонд
нууцлалт хамгаалалтын
зарчмын шалгалт хийдэг.
(Санах ойн зөвшөөрөлгүй
хэсэгт хандах эсэх…)
Java Виртуаль Машин
(java)
Шалгалт ОК бол
ажиллуулна…
Програмчлалын хэл
How
Монгол Улаанбаатар Их Сургууль 2013 он
16. Logo
Жава виртуаль машин
Windows
Виртуаль Машин
(BM)
Linux
Java Код
Байт код
Виртуаль Машин
(BM)
Mac
Виртуаль Машин
(BM)
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
17. Logo
Java API
Java Application Programming
Interface буюу Java API нь Java
програм ажиллахдаа шаардах
функцуудын санг дотроо агуулж
байдаг.
Жишээ нь: Хэвлэх үйлдэлд Print
функц ашигласан. Энэ функы нь API
юм.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
18. Logo
Жава хэлний үндсэн элементүүд
Класс
Объект
Тогтмол
Хувьсагч
Функц
Аргументууд
Буцаах утга
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
19. Logo
Жава хэлний үндсэн элементүүд
Классын жишээ:
рublic class Human {
String
name;
String
firstName;
int
age;
Head
head;
void eat (String food, String tea)
{
….
}
void go(String direction, int speed)
{
…..
}
public static void main (String args[])
{
…..
}
}
Програмчлалын хэл
Хувьсагчид
head бол Head классын
обьект юм. Тиймээс
класс дотроо өөр
классын обьект агуулж
байж болно.
Монгол Улаанбаатар Их Сургууль 2013 он
20. Logo
Жава хэлний үндсэн элементүүд
Объект:
Класс нь өгөгдлийн хийсвэр төрөл
учраас шууд ашиглах боломжгүй.
Классын объект бол уг классын бодит
дүр юм.
Класст объект зарлахдаа new оператор
ашигладаг.
Жишээ:
Human ganaa = new Human( );
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
21. Logo
Жава хэлний үндсэн элементүүд
Хувьсагчид:
Хувьсагч бол өгөгдөл хадгалах санах
ойн жижиг орон зай юм.
Хувьсагчийн нэр:
• үсгээр (a…z)
• _ (доогуур зураас)
• $ -ээр эхэлж болно.
Том жижиг үсэг ялгаатай байдаг тул
name, Name гэсэн 2 хувьсагчийг
ялгаатайд тооцно.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
22. Logo
Жава хэлний үндсэн элементүүд
Жавагын түлхүүр үгээр хувьсагч нэрлэж
болохгүй.
Жавагын түлхүүр үгс:
abstract
assert
boolean
break
byte
case
catch
char
class
continue
default
do
double
else
extends
final
finally
float
for
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
Жавад түлхүүр үгээр ашиглагддаггүй боловч нөөцлөгдсөн байдаг
const
goto
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
23. Logo
Жава хэлний үндсэн элементүүд
Хувьсагчид:
Java нь програмыг хөрвүүлэхийн өмнө
кодыг Unicode руу хөрвүүлдэг
Тиймээс хувьсагчдын нэрийг Unicode
дээр бичиж болно
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
24. Logo
Жава хэлний үндсэн элементүүд
Хувьсагчийн зарлалт нь
<Өгөгдлийн төрөл> Хувьсагч1, хувьсагч2,..;
гэсэн бүтэцтэй байна.
Өгөгдлийн үндсэн төрлүүд:
boolean
char
int
byte
short
long
float
double
String
Програмчлалын хэл
Үнэн ба Худал
Тэмдэгт
бүхэл тоо
бүхэл тоо
бүхэл тоо
бүхэл тоо
бутархай тоо
бутархай тоо
тэмдэгт мөр
Монгол Улаанбаатар Их Сургууль 2013 он
25. Logo
Жава хэлний үндсэн элементүүд
Төрлүүдийн хэмжээ:
Төрөл
boolean
Хэмжээ (бит) Утга
char
16
byte
8
short
16
int
32
long
64
float
32
double
64
Програмчлалын хэл
Стандарт
True , false
(ISO Unicode)
'u0000' –ээс 'uFFFF'
(0 –ээс 65535)
–128 to +127
(–27 to 27 – 1)
–32,768 to +32,767
(–215 to 215 – 1)
–2,147,483,648 to +2,147,483,647
(–231 to 231 – 1)
–9,223,372,036,854,775,808 to +9,223,372,036,854,775,807
(–263 to 263 – 1)
Сөрөг хязгаар:
–3.4028234663852886E+38 to –1.40129846432481707e–45
Эерэг хязгаар:
1.40129846432481707e–45 to 3.4028234663852886E+38
Сөрөг хязгаар:
–1.7976931348623157E+308 to –4.94065645841246544e–
324
Эерэг хязгаар:
4.94065645841246544e–324 to 1.7976931348623157E+308
(IEEE 754
floating point)
(IEEE 754
floating point)
Монгол Улаанбаатар Их Сургууль 2013 он
26. Logo
Жава хэлний үндсэн элементүүд
Хувьсагч зарлалт:
Жишээ нь:
int count;
byte hour, minute, second;
String firstName;
float $pi, _salary, Zeel;
Анхаарах зүйлс: String ээс бусад төрөл жижгээр бичигдсэн байгаа. String
бол өгөгдлийн үндсэн төрөл биш харин класс учраас томоор бичигдсэн
байгаа. Том жижгийг нь сольвол алдаа гарна. Тэгэхээр firstName бол
хувьсагч биш объект юм. Объект нь дотроо хувьсагчдыг агуулж болдог бол
хувьсагч нь цаашаа задардаггүй.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
27. Logo
Жава хэлний үндсэн элементүүд
Өгөгдөл:
Бүхэл тоон төрөл нь int төрөлтэй
байдаг. Тиймээс 1, -999, 12548464
тоонууд нь int төрөлтэй гэсэн үг.
Хэрэв long төрөлтэй тоо ашиглах бол
хойно нь L үсэг нэмдэг. Жишээ нь:
216554L, 1L
16-тын тооллын систем дэх тоог
бичихдээ урд нь 0x нэмж бичдэг.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
28. Logo
Жава хэлний үндсэн элементүүд
Өгөгдөл:
16-тын тооллын систем дэх тоог
бичихдээ урд нь 0x нэмж бичдэг.
16-тын системд
10-тын системд
256
4660
57007
3243
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
29. Logo
Жава хэлний үндсэн элементүүд
Өгөгдөл:
8-тын тооллын системийн тоог бичихдээ
урд нь 0 нэмж бичдэг.
Жишээ нь: 037, 065
Тайлбар: Дээр үед компьютеруудын санах ой бага хэмжээтэй
байхад 3 битийн санах ойг хувьсагчид хэрэглэдэг байсан. Ийм
зайнд 8-тын тооллын системийн тоо л багтдаг байв. Харин одоо 8тын тооллын системийг бараг хэрэглэхээ больсон.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
30. Logo
Жава хэлний үндсэн элементүүд
Өгөгдөл:
Long bigOne; гэж зарласан байхад энэ
хувьсагчид анхны утга олгодоггүй.
Хэрвээ анхны утга олгоё гэвэл:
• Long bigOne = 2222L ; гэх мэтээр олгож
болно.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
31. Logo
Жава хэлний үндсэн элементүүд
Өгөгдөл:
Бутархай тоонууд нь double төрөлтэй
байх бөгөөд хэрвээ float төрөлтэй тоо
ашиглая гэвэл f хойно нь нэмж бичнэ.
• 1.0f , 345.254f
• float pi = 3.14f;
г.м
Энэ цэгийн оронд таслал тавибал
алдаатай болно.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
32. Logo
Жава хэлний үндсэн элементүүд
Өгөгдөл:
Хэрвээ маш том тоо эсвэл маш жижиг
тоо ашиглах шаардлага гарвал E
тэмдэглэгээг ашигладаг.
Дэлхийгээс нар хүртэлх зай 149.600.000
км гэхийг 1.496E8 гэж бичвэл илүү
x
тохиромжтой.
Double sunDistance = 1.496E8;
Ex 10
1.496 E8 1.496 *10
Програмчлалын хэл
8
Монгол Улаанбаатар Их Сургууль 2013 он
33. Logo
Жава хэлний үндсэн элементүүд
Өгөгдөл:
Электроны масс нь
0.0000000000000000000000000009 гр
хэмжээтэй гэхийг:
float electronMass = 9E-28F;
9 E 28 9.0 *10
Програмчлалын хэл
28
Монгол Улаанбаатар Их Сургууль 2013 он
34. Logo
Арифметик үйлдлүүд
Нэмэх:
x = y + z;
x = x + 1 гэхийг
x++ эсвэл ++x гэж бичиж
болдог.
x = x + z гэхийг x += z гэж бичиж болно.
Хасах:
x = y - z;
x = x - 1 гэхийг x-- эсвэл --x гэж бичиж болдог.
x = x - z гэхийг x -= z гэж бичиж болно.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
35. Logo
Арифметик үйлдлүүд
Үржих:
x = y * z;
x = x * z гэхийг
x *= z гэж бичиж болно.
Хуваах:
x = y / z;
x = x / z гэхийг
Програмчлалын хэл
x /= z гэж бичиж болно.
Монгол Улаанбаатар Их Сургууль 2013 он
36. Logo
Арифметик үйлдлүүд
Утга олголт:
Утга олголт
int c = 3, d = 5, e = 4,
f = 6, g = 12; гэж
үзье
+=
-=
*=
/=
%=
Жишээ
Тайлбар
Утга
c += 7
d -= 4
e *= 5
f /= 3
g %= 9
c=c+7
d=d -4
e=e*5
f=f/3
g= g%9
с – ийн утга 10
d – ийн утга 1
e – ийн утга 20
f – ийн утга 4
g – ийн утга 3
Арифметик утга олгох операторууд
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
37. Logo
Арифметик үйлдлүүд
Үлдэгдэл олох (жиших):
y тоог z-д хуваагаад гарах үлдэгдлийг
x –д олгоё гэвэл:
x = y % z;
Нийлүүлбэл:
y = a * x * x + b * x + c;
z = ((a + b + c) / 2 – d ) % 3;
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
38. Logo
Арифметик үйлдлүүд Жишээ:
x++ ба ++x ийн ялгаа юу вэ? ++x нь
түрүүлж боловсруулагддаг.
Эхлээд хэвлэх үйлдэл хийгдээд
дараа нь нэмэгдэх үйлдэл
Жишээ:
хийгдэнэ
int x = 2;
System.out.println(x);
System.out.println(x++);
System.out.println(x);
System.out.println(x);
System.out.println(++x);
System.out.println(x);
Програмчлалын хэл
2
2
3
2
3
3
Эхлээд нэмэгдэх үйлдэл
хийгдээд дараа нь хэвлэх
үйлдэл хийгдэнэ
Монгол Улаанбаатар Их Сургууль 2013 он
39. Logo
Арифметик үйлдлүүд
Boolean төрөл
Boolean төрөл нь true, false (үнэн,
худал) гэсэн хоёр утгатай. Ихэвчлэн
нөхцөл шалгалтанд хэрэглэгддэг.
Жишээ:
Boolean start;
start = false;
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
40. Logo
Цонхонд мэдээлэл үзүүлэх програм
package javaapplication1;
import javax.swing.JOptionPane;
public class Welcome4 {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Welcome n to
n Java n programming!");
System.exit(0);
}
}
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
41. Logo
Цонхонд мэдээлэл үзүүлэх програм
JOptionPane бол javax.swing сангийн класс
юм. Түүний тусламжтайгаар тусгай
цонхонд мэдээлэл үзүүлэх, хэрэглэгчээс
мэдээлэл хүлээж авах зэрэг олон үйлдэл
хийж болно.
Үүнийг ашиглахын тулд бид уг санг зарлаж
өгөх ёстой:
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
42. Logo
Цонхонд мэдээлэл үзүүлэх програм
Мөр 1-4: тайлбар явж байна.
4
// Java packages
Java API дотор хоёр бүлгийн package байдаг:
Үндсэн package
• java гэж эхэлдэг
• Java 2 Software Development Kit –д агуулагдсан.
Өргөтгөл package
• javax гэж эхэлсэн байдаг.
• Шинэ Java package-ууд юм.
import тодорхойлолт
5
import javax.swing.JOptionPane;
// program uses OptionPane
• Java програм дотор хэрэглэгдэж байгаа классуудыг олоход
тусалдаг (компиляторт).
• JOptionPane классыг javax.swing package-аас ачаалахыг
компиляторт зааж өгнө.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
44. Logo
Цонхонд мэдээлэл үзүүлэх програм
Бүх бичлэгүүд ; ээр төгсөнө.
Нэг бичлэгийг хэд хэдэн мөрөнд таслан бичиж болно.
Тодорхойлогчийн дундуур бичлэгийг таслаж болохгүй.
12-13 мөрийг ажиллуулснаар доорх dialog box гарч
ирнэ:
OK товчийг автоматаар оруулсан байна.
Дарвал уг цонхыг алга болгоно.
Title bar дээр Message гэсэн текст байна.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
45. Logo
Цонхонд мэдээлэл үзүүлэх програм
15 System.exit( 0 );
window
// terminate application with
System классын статик exit функцийг дуудаж байна.
Програмыг дуусгана.
График хэрэглэж байгаа бүх програмуудад хэрэглэдэг.
Статик функц тул, классын нэр ба цэгийг хэрэглэнэ (.)
Томоор эхэлсэн тодорхойлогчид нь ихэвчлэн класс байна.
0 гэсэн аргумент нь програм амжилттай дууссаныг илтгэнэ.
0 оос ялгаатай утга нь ямар нэг алдааг илтгэдэг.
System класс нь java.lang сангийн класс юм.
Import зарлалт шаардлаггүй байдаг.
java.lang сан нь бүх Java програмд автоматаар
импортлогддог.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
46. Logo
Бүхэл тоотой ажиллах програм
Жишээ програм:
Input Dialog ашиглан хэрэглэгчээс 2 утга хүлээж авна.
Уг хоёр утгын нийлбэрийг message Dialog ашиглан буцаан
үзүүлнэ.
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он
47. Logo
Бүхэл тоотой ажиллах програм
package javaapplication1;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String firstNumber;
String secondNumber;
int number1,number2,sum;
firstNumber = JOptionPane.showInputDialog("Enter first number = ")
secondNumber =JOptionPane.showInputDialog("Enter second
number = ");
number1 = Integer.parseInt(firstNumber);
number2 = Integer.parseInt(secondNumber);
sum = number1 + number2;
JOptionPane.showMessageDialog(null,"The sum is " +sum);
System.exit(0); } }
Програмчлалын хэл
Монгол Улаанбаатар Их Сургууль 2013 он