Pl lecture6
Transcript of Pl lecture6
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() intnextByte() bytenextBoolean() booleannextFloat() floatnextDouble() doublenextLine() тэмдэгт мөр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.0ceil( -9.8 ) нь -9.0
cos( x ) x-ийн косинус (x нь радианаар) cos( 0.0 ) нь 1.0exp( x ) e тооны х зэргийг олно. exp( 1.0 ) нь 2.71828
exp( 2.0 ) нь 7.38906floor( x ) x-ийг өөрөөс нь ихгүй хамгийн ойр бүхэл тоо
руу тоймлохfloor( 9.2 ) нь 9.0floor( -9.8 ) нь -10.0
log( x ) x-ийн натурал логарифм (e суурьтай) log( Math.E ) нь 1.0log( Math.E * Math.E ) нь 2.0
max( x, y ) x ба y ийн аль ихийг нь олно. max( 2.3, 12.7 ) нь 12.7max( -2.3, -12.7 ) нь -2.3
min( x, y ) x ба y ийн аль багыг нь олно. min( 2.3, 12.7 ) нь 2.3min( -2.3, -12.7 ) нь -12.7
pow( x, y ) x -ийг y зэрэгт дэвшүүлэх pow( 2.0, 7.0 ) нь 128.0pow( 9.0, 0.5 ) нь 3.0
sin( x ) x-ийн синус утга (x нь радианаар) sin( 0.0 ) нь 0.0sqrt( 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 он
Програмчлалын хэл