L o g o
Програмчлалын хэл
Улаанбаатар Их Сургууль
2013 он
Класс, функцын тухай
багш Б.Ганзориг
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Агуулга
Math классын тухай, хэрэглээ3
Классын хувьсагчид4
1
2
Байгуулагч функцын тухай5
Жишээ, шинэ үгс болон даалгавар6
Scanner классын тухай, хэрэглээ
JTextArea классын тухай, хэрэглээ
L o g o
Scanner класс
Хэрэглэгчээс утга авах, файлаас
авах зэрэг чадвартай
import java.util.Scanner
Гараас оруулах утгаа консол
ашиглаж оруулдаг
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
L o g o
Scanner класс
Утгаа авахдаа утгын төрлөөс хамаарч
доорх функцүүдийн аль нэгийг дуудна.
next() String утга буцаана.
nextInt() int
nextByte() byte
nextBoolean() boolean
nextFloat() float
nextDouble() double
nextLine() тэмдэгт мөр
nextShort() short
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
L o g o
Scanner класс (жишээ)
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
L o g o
Scanner класс
Оролтыг Ctrl+z дарж дуусгаж болно.
hasNext() функц нь дахин оролт байгаа
эсэхийг шалгана. Ctrl + z дарсан бол энэ
функц нь false утга буцаана.
while(input.hasNext())
{
grade = input.nextInt();
total += grade;
}
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Math класс
 Математик, тригинометрын функцүүдийг ашиглах
боломж олгоно.
 Ашиглахын тулд import java.lang.Math гэж оруулж ирэх
хэрэгтэй.
Жишээ: 900-аас язгуур гаргахдаа
Math.sqrt( 900.0 )
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Math класс
 Маth классын зарим функцүүдээс жагсаавал:
функц Тайлбар Жишээ
abs( x ) x-ийн модулийг олно (абсолют утгыг) abs( 23.7 ) нь 23.7
abs( 0.0 ) нь 0.0
abs( -23.7 ) нь 23.7
ceil( x ) x-ийг өөрөөс нь багагүй хамгийн ойр бүхэл
тоо руу тоймлох
ceil( 9.2 ) нь 10.0
ceil( -9.8 ) нь -9.0
cos( x ) x-ийн косинус (x нь радианаар) cos( 0.0 ) нь 1.0
exp( x ) e тооны х зэргийг олно. exp( 1.0 ) нь 2.71828
exp( 2.0 ) нь 7.38906
floor( x ) x-ийг өөрөөс нь ихгүй хамгийн ойр бүхэл тоо
руу тоймлох
floor( 9.2 ) нь 9.0
floor( -9.8 ) нь -10.0
log( x ) x-ийн натурал логарифм (e суурьтай) log( Math.E ) нь 1.0
log( Math.E * Math.E ) нь 2.0
max( x, y ) x ба y ийн аль ихийг нь олно. max( 2.3, 12.7 ) нь 12.7
max( -2.3, -12.7 ) нь -2.3
min( x, y ) x ба y ийн аль багыг нь олно. min( 2.3, 12.7 ) нь 2.3
min( -2.3, -12.7 ) нь -12.7
pow( x, y ) x -ийг y зэрэгт дэвшүүлэх pow( 2.0, 7.0 ) нь 128.0
pow( 9.0, 0.5 ) нь 3.0
sin( x ) x-ийн синус утга (x нь радианаар) sin( 0.0 ) нь 0.0
sqrt( x ) x-ээс язгуур гаргах sqrt( 900.0 ) нь 30.0
sqrt( 9.0 ) нь 3.0
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Math класс жишээ
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Санамсаргүй тоо ашиглах
 Програм бичих явцад ямар нэгэн урьдчилан зохиосон
биш санамсаргүйгээр үүсэх тоонуудыг ашиглах
шаардлага гардаг.
Жишээ нь:
• Мөрий тавьж морь уралдуулах програм.
• 4 шагай хаях тоглоом
• Ижил эрхтэй 10 хүнээс нэгийг нь сонгох.
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Санамсаргүй тоо ашиглах
 Санамсаргүйгээр тоо үүсгэхийн тулд Math.random
функцийг ашигладаг. Энэ функц нь [0;1[ завсрын
санамсаргүй бутархай тоо буцаадаг.
Жишээ:
(int) ( Math.random() * 6 ) нь 0-6 хоорондох
санамсаргүй нэг утга буцаана.
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Санамсаргүй тоог массивт ашиглах
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
JTextArea класс
 Олон мөрөөс тогтсон текстүүдийг цонхон дээр
дүрслэх чадвартай.
Цагаан хэсэг
нь JTextArea
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
JTextArea класс
 Ашиглахын тулд
import javax.swing.JTextArea; эсвэл
import javax.swing.*; гэж оруулж өгнө.
 Обьектийг нь зарлана:
JTextArea myText = new JTextArea();
 Текстийг нь setText функцээр нь оруулж өгдөг.
myText.setText (“Hello class!”);
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
JTextArea класс ашигласан жишээ
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
JTextArea класс ашигласан жишээ үр дүн
L o g o
Програмчлалын хэл
Санамсаргүй тоо гаргах жишээ
Улаанбаатар Их Сургууль 2013 он
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Санамсаргүй тоо гаргах жишээ
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Классын хувьсагчид
Классын хувьсагчид нь уг классын
бүх функцүүдэд ашиглагдаж болно.
Классын хувьсагчдийг классын эхэнд
функцүүдийн өмнө зарладаг.
Классын хувьсагчид нь хандалтын
тодорхойлогчтой байдаг:
• Public
• Private
• protected
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Классын хувьсагчид
Public хувьсагч: ийм хувьсагчид
програмд оролцож байгаа бүх классын
функцүүд хандаж чадна.
• public String name;
Private хувьсагч: ийм хувьсагчид зөвхөн
уг классын л функцүүд хандаж чадна.
• private int age;
Protected хувьсагч: ийм хувьсагчид уг
классын функцүүд болон түүнээс
удамшсан классын функцүүд хандаж
чадна.
• protected int x;
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Классын байгуулагч функц (constructor)
Классын обьектийг үүсгэн анхны
утгыг нь олгоход хэрэглэгдэнэ.
Обьектийг үүсгэх үед дуудагддаг.
Класс дотор зарлагдана.
Нэр нь классын нэртэй адилхан
байна.
Аргумент авч болох боловч утга
буцаадаггүй.
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Классын байгуулагч функц (constructor)
Нэг класст олон байгуулагч функц
байж болно.
(Дахин тодорхойлолт= overloading)
 new ClassName( argument1, argument2, …,
arugmentN );
 new нь шинэ обьект үүсгэж байгааг илтгэнэ.
 ClassName нь ямар төрлийн обьект үүсгэж
байгааг заана.
 Аргументууд нь классын энэ байгуулагч функцэд
дамжуулагдана.
• TestClass myObject = new TestClass();
• TestClass myObject = new TestClass(1, 5, “test”);
L o g o
Java сан (Package)
Урьдчилан бэлдэж өгсөн классууд Java-
ийн санд бүлэг бүлгээрээ байдаг.
Нэг төрлийн үүрэг гүйцэтгэдэг классууд
нэг сан дотор байрладаг.
Санг import түлхүүр үгийн тусламжтай
ашигладаг.
Жишээ нь:
import javax.swing.JOptionPane;
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
L o g o
Жишээ сангууд
 java.lang: java дээр бичигдсэн ихэнх програмууд
ашигладаг гол үндсэн функцүүд байрлана. Бүх
java програмд автоматаар импортлогддог.
 javax.swing: График, цонх ашигласан java
программуудад хэрэглэгдэнэ.
 java.applet: аудио, клип, интернэт програмчлалд
ашиглагдах аплет класс.
 java.util: огноо, тэмдэгт мөр, санамсаргүй тоотой
ажиллах классууд байрлана.
 java.io: Java-н оролт гаралтын классууд. Файлаас
угших, бичих гэх мэт.
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
L o g o
Шинэ үгс
 Abstract class: Хийсвэр класс. Функцүүд нь кодгүй
байна. Удамшсан классуудад нь ямар функц заавал
байх ёстойг зааж өгдөг.
 Abstract method: Абстракт класс дотор байх функцийн
тодорхойлолт. Энэ функц нь кодгүй байдаг бөгөөд
абстракт классаас удамшсан класс нь түүнийг абстракт
функцүүдийг дахин тодорхойлох ёстой.
 implementation: Код бичих процессийг implementation
гэдэг.
 protected: Уг классын болон түүнээс удамшсан
бусад классын функцүүдээс хандаж болох хувьсагч
болон функц.
 Garbage collection: Java нь ашиглагдахгүй болсон
обьектуудыг санах ойгоос олж түүний finalize функцийг
дуудан уг обьектийг санах ойгоос чөлөөлдөг. Энэ
процессийг хог цуглуулалт буюу garbage collection гэдэг.
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
L o g o
Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
Даалгавар
 n элементтэй массивын бүх элементүүдийн
нийлбэрийг ол.
 n элементтэй массивын бүх сондгой элементүүдийн
нийлбэрийг ол.
 n элементтэй массивын бүх сондгой индекстэй
элементүүдийн нийлбэрийг ол.
 Массивын бүх элементийг хэвлэдэг функц бич.
 Массивын i ба j-р элементийн байрыг сольдог функц
бич.
L o g o
Улаанбаатар Их Сургууль
2013 он
Програмчлалын хэл

Pl lecture6

  • 1.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Класс, функцын тухай багш Б.Ганзориг
  • 2.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Агуулга Math классын тухай, хэрэглээ3 Классын хувьсагчид4 1 2 Байгуулагч функцын тухай5 Жишээ, шинэ үгс болон даалгавар6 Scanner классын тухай, хэрэглээ JTextArea классын тухай, хэрэглээ
  • 3.
    L o go Scanner класс Хэрэглэгчээс утга авах, файлаас авах зэрэг чадвартай import java.util.Scanner Гараас оруулах утгаа консол ашиглаж оруулдаг Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
  • 4.
    L o go Scanner класс Утгаа авахдаа утгын төрлөөс хамаарч доорх функцүүдийн аль нэгийг дуудна. next() String утга буцаана. nextInt() int nextByte() byte nextBoolean() boolean nextFloat() float nextDouble() double nextLine() тэмдэгт мөр nextShort() short Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
  • 5.
    L o go Scanner класс (жишээ) Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
  • 6.
    L o go Scanner класс Оролтыг Ctrl+z дарж дуусгаж болно. hasNext() функц нь дахин оролт байгаа эсэхийг шалгана. Ctrl + z дарсан бол энэ функц нь false утга буцаана. while(input.hasNext()) { grade = input.nextInt(); total += grade; } Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
  • 7.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Math класс  Математик, тригинометрын функцүүдийг ашиглах боломж олгоно.  Ашиглахын тулд import java.lang.Math гэж оруулж ирэх хэрэгтэй. Жишээ: 900-аас язгуур гаргахдаа Math.sqrt( 900.0 )
  • 8.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Math класс  Маth классын зарим функцүүдээс жагсаавал: функц Тайлбар Жишээ abs( x ) x-ийн модулийг олно (абсолют утгыг) abs( 23.7 ) нь 23.7 abs( 0.0 ) нь 0.0 abs( -23.7 ) нь 23.7 ceil( x ) x-ийг өөрөөс нь багагүй хамгийн ойр бүхэл тоо руу тоймлох ceil( 9.2 ) нь 10.0 ceil( -9.8 ) нь -9.0 cos( x ) x-ийн косинус (x нь радианаар) cos( 0.0 ) нь 1.0 exp( x ) e тооны х зэргийг олно. exp( 1.0 ) нь 2.71828 exp( 2.0 ) нь 7.38906 floor( x ) x-ийг өөрөөс нь ихгүй хамгийн ойр бүхэл тоо руу тоймлох floor( 9.2 ) нь 9.0 floor( -9.8 ) нь -10.0 log( x ) x-ийн натурал логарифм (e суурьтай) log( Math.E ) нь 1.0 log( Math.E * Math.E ) нь 2.0 max( x, y ) x ба y ийн аль ихийг нь олно. max( 2.3, 12.7 ) нь 12.7 max( -2.3, -12.7 ) нь -2.3 min( x, y ) x ба y ийн аль багыг нь олно. min( 2.3, 12.7 ) нь 2.3 min( -2.3, -12.7 ) нь -12.7 pow( x, y ) x -ийг y зэрэгт дэвшүүлэх pow( 2.0, 7.0 ) нь 128.0 pow( 9.0, 0.5 ) нь 3.0 sin( x ) x-ийн синус утга (x нь радианаар) sin( 0.0 ) нь 0.0 sqrt( x ) x-ээс язгуур гаргах sqrt( 900.0 ) нь 30.0 sqrt( 9.0 ) нь 3.0
  • 9.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Math класс жишээ
  • 10.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Санамсаргүй тоо ашиглах  Програм бичих явцад ямар нэгэн урьдчилан зохиосон биш санамсаргүйгээр үүсэх тоонуудыг ашиглах шаардлага гардаг. Жишээ нь: • Мөрий тавьж морь уралдуулах програм. • 4 шагай хаях тоглоом • Ижил эрхтэй 10 хүнээс нэгийг нь сонгох.
  • 11.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Санамсаргүй тоо ашиглах  Санамсаргүйгээр тоо үүсгэхийн тулд Math.random функцийг ашигладаг. Энэ функц нь [0;1[ завсрын санамсаргүй бутархай тоо буцаадаг. Жишээ: (int) ( Math.random() * 6 ) нь 0-6 хоорондох санамсаргүй нэг утга буцаана.
  • 12.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Санамсаргүй тоог массивт ашиглах
  • 13.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он JTextArea класс  Олон мөрөөс тогтсон текстүүдийг цонхон дээр дүрслэх чадвартай. Цагаан хэсэг нь JTextArea
  • 14.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он JTextArea класс  Ашиглахын тулд import javax.swing.JTextArea; эсвэл import javax.swing.*; гэж оруулж өгнө.  Обьектийг нь зарлана: JTextArea myText = new JTextArea();  Текстийг нь setText функцээр нь оруулж өгдөг. myText.setText (“Hello class!”);
  • 15.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он JTextArea класс ашигласан жишээ
  • 16.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он JTextArea класс ашигласан жишээ үр дүн
  • 17.
    L o go Програмчлалын хэл Санамсаргүй тоо гаргах жишээ Улаанбаатар Их Сургууль 2013 он
  • 18.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Санамсаргүй тоо гаргах жишээ
  • 19.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Классын хувьсагчид Классын хувьсагчид нь уг классын бүх функцүүдэд ашиглагдаж болно. Классын хувьсагчдийг классын эхэнд функцүүдийн өмнө зарладаг. Классын хувьсагчид нь хандалтын тодорхойлогчтой байдаг: • Public • Private • protected
  • 20.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Классын хувьсагчид Public хувьсагч: ийм хувьсагчид програмд оролцож байгаа бүх классын функцүүд хандаж чадна. • public String name; Private хувьсагч: ийм хувьсагчид зөвхөн уг классын л функцүүд хандаж чадна. • private int age; Protected хувьсагч: ийм хувьсагчид уг классын функцүүд болон түүнээс удамшсан классын функцүүд хандаж чадна. • protected int x;
  • 21.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Классын байгуулагч функц (constructor) Классын обьектийг үүсгэн анхны утгыг нь олгоход хэрэглэгдэнэ. Обьектийг үүсгэх үед дуудагддаг. Класс дотор зарлагдана. Нэр нь классын нэртэй адилхан байна. Аргумент авч болох боловч утга буцаадаггүй.
  • 22.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Классын байгуулагч функц (constructor) Нэг класст олон байгуулагч функц байж болно. (Дахин тодорхойлолт= overloading)  new ClassName( argument1, argument2, …, arugmentN );  new нь шинэ обьект үүсгэж байгааг илтгэнэ.  ClassName нь ямар төрлийн обьект үүсгэж байгааг заана.  Аргументууд нь классын энэ байгуулагч функцэд дамжуулагдана. • TestClass myObject = new TestClass(); • TestClass myObject = new TestClass(1, 5, “test”);
  • 23.
    L o go Java сан (Package) Урьдчилан бэлдэж өгсөн классууд Java- ийн санд бүлэг бүлгээрээ байдаг. Нэг төрлийн үүрэг гүйцэтгэдэг классууд нэг сан дотор байрладаг. Санг import түлхүүр үгийн тусламжтай ашигладаг. Жишээ нь: import javax.swing.JOptionPane; Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
  • 24.
    L o go Жишээ сангууд  java.lang: java дээр бичигдсэн ихэнх програмууд ашигладаг гол үндсэн функцүүд байрлана. Бүх java програмд автоматаар импортлогддог.  javax.swing: График, цонх ашигласан java программуудад хэрэглэгдэнэ.  java.applet: аудио, клип, интернэт програмчлалд ашиглагдах аплет класс.  java.util: огноо, тэмдэгт мөр, санамсаргүй тоотой ажиллах классууд байрлана.  java.io: Java-н оролт гаралтын классууд. Файлаас угших, бичих гэх мэт. Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
  • 25.
    L o go Шинэ үгс  Abstract class: Хийсвэр класс. Функцүүд нь кодгүй байна. Удамшсан классуудад нь ямар функц заавал байх ёстойг зааж өгдөг.  Abstract method: Абстракт класс дотор байх функцийн тодорхойлолт. Энэ функц нь кодгүй байдаг бөгөөд абстракт классаас удамшсан класс нь түүнийг абстракт функцүүдийг дахин тодорхойлох ёстой.  implementation: Код бичих процессийг implementation гэдэг.  protected: Уг классын болон түүнээс удамшсан бусад классын функцүүдээс хандаж болох хувьсагч болон функц.  Garbage collection: Java нь ашиглагдахгүй болсон обьектуудыг санах ойгоос олж түүний finalize функцийг дуудан уг обьектийг санах ойгоос чөлөөлдөг. Энэ процессийг хог цуглуулалт буюу garbage collection гэдэг. Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он
  • 26.
    L o go Програмчлалын хэл Улаанбаатар Их Сургууль 2013 он Даалгавар  n элементтэй массивын бүх элементүүдийн нийлбэрийг ол.  n элементтэй массивын бүх сондгой элементүүдийн нийлбэрийг ол.  n элементтэй массивын бүх сондгой индекстэй элементүүдийн нийлбэрийг ол.  Массивын бүх элементийг хэвлэдэг функц бич.  Массивын i ба j-р элементийн байрыг сольдог функц бич.
  • 27.
    L o go Улаанбаатар Их Сургууль 2013 он Програмчлалын хэл