Urganch davlat universiteti


OYD ni tashkil etuvchilari



Download 316,94 Kb.
bet2/6
Sana13.12.2019
Hajmi316,94 Kb.
#29857
1   2   3   4   5   6
Bog'liq
diplom ishi 09-06-189


OYD ni tashkil etuvchilari:

  • Class-sinf

  • Object-ob’ekt

  • Inheritance-merosxo’rlik

  • Polimorphism-polimorfizm

  • Incapsulation-inkapsulyatsiya

  • Abstrction-mavhumlik





3-ilova.Paketlar va interfyslar

Java dasturlash tili klasslarni package nomli o’ramlarga guruhlash imkoniyatini beradi. Paketlarni qo’llashni asosiy maqsadi bu klass nomini qaytarilmasligini ta’minlashdir.



Interfeys klass bajarishi kerak bo’lgan metodlar to’plamini e’lon qiladi. Interfeysni interface kalit so’zi bilan e’lon qilinadi va interfeysda abstrakt, ya’ni metod tanasi bo’lmagan metodlar e’lon qilinadi.

4-ilova. Klasslar (Sinflar) va qobiqlar.

Javada sinflar quyidagilardan tashkil topadi:

  • Data member-o’zgaruvchilar

  • Method-funksiya

  • Constructor-konstrukor

  • Block-blok({} qavslar ichiga sinf tanasi yoziladi)

  • Class and interface-klass va interfeys.





6-ilova. Klass kolleksiyalari

Java klasslari:



  • Class String

  • Class Vector

  • Class Stack

  • Class Hashtable

  • Class String Tokenizer

  • Class String buffer



5-ilova.Satrlar va ular bilan ishlash.

Javada satr char tipining massivi bilan initsiallashtiriladi.String asosan char tipidagi qiymatlar ketma-ketligini ifodalovchi ob’ekt hisoblanadi.

Java String klassida quyidagi funksiyalardan foydalaniladi:


  • compare To()

  • concat()

  • cubstring()

  • equals()

  • indexOf()

  • length()

  • replace()





7-ilova.Klass utilitlar.

Kalendar klassi abstrakt bo’lib unda yulian,gregorian va oy(lunniy) kalendarlarining umumiy xususiyatlari to’plami.Java API da esa faqat bu klassning xosilaviy klassi sifatida GregorinCalendar mavjud.Kalendar abstrakt bo’lgani sababli uni 4 xil statik metodlar yordamida egzeplyarlari yaratiladi yoki soatlar poyasi bo’yicha:

1.Calendar getIntance();

2. Calendar getIntance(Locale loc);

3 Calendar getIntance(TimeZone tz);

4.Calendar getIntance(TimeZone tz, Locale loc);



8-ilova. Grafik interfeylarni qurish prinsipi.

Javada grafik interfeys qurish uchun quyidagi klasslardan foydalaniladi:



  • Abstract Window Toolkit(AWT)

  • Swing





9-ilova.Grafik primitiv(maxsus grafik klasslar).

Maxsus grafik klasslar;



  • Class Polygon

  • FontMetrics

  • BasicStroke

  • GeneralPath

  • GradientPaint va TexturePaint



11-ilova.komponentlarni o’rnatish.

AWT va Swing klasslarining layoutlari:



  • BorderLayout

  • FlowLayout

  • GridLayout

  • GardLayout

  • GridBagLayout

  • BoxLayout

  • CardLayout

  • SpringLayout

  • GroupLayout



10-ilova.Asosiy komponentlar.

Maydon komponentlari:



  • Button

  • Checkbox

  • ChecboxGroup

  • Choise

  • List

Matn kiritish komponentalari:

  • TextFiled

  • TextArea

  • Scrollbar

  • Panel

  • Fialog

  • Frame



12-ilova.Apletlar.

Java o’ziningbilovalaridan tashqari apletlar yaratish imkonini beradi.

Aplet bu programma bo’lib boshqa dasturiy sohalarda ishlaydi.Java nuqtai nazaridan bu Aplet sinfini kengaytirish bo’lib u o’z navbatida anel sinfini kengaytiradi.Aplet bu maxsus panel(konteyner) bo’lib qo’shimcha metod va xususiyatlarni o’zida joylashtiradi.Joylashtirish komponenti menejeri sifatida Panel sifidagi FlowLayout xizmat qiladi.




13-ilova. Qism jarayonlar.

Class Thread metodlari:



  • Start()

  • Run()

  • toString()

  • stop()

  • sleep()

  • yield()

Thread - bu bir nechta vazifalarning bir vaqtning o'zida bir jarayonda ishlashiga imkon berish uchun qulay muhit.

14-ilova. Javaning tarmoq vositalari.

www tizimida ishlash http protokoli asosida amalga oshriladi.Unda kengaytirilgan adresslar ya’ni URL qo’llaniladi.Javada socket sinfi mavjud.Socket sinfi java.io paketidan olingan.Java.net paketida serverlardan foydalnish uchun ServerSocket sinfidan foydalaniladi.Bu sinf konstruktorida port nomeri ko’rsatiladi.

ServerSocket(int port)


15-ilova.Javada ilovalar.

Javada operatsion sistemlarning boshqa imkoniyatlari va boshqa dasturlar imkoniyatlaridan foydalanish mumkin.Masalan jar arivatorini keltirish mumkin.Bu arxivator zip arxivator metodiga asoslangan.



2.3 Dasturlash tillarini o’qitishda innovatsion uslublar

Mavzu:Berilganlarning asosiy va primitiv turlari.

Java tilida programmada ishlatiladigan barcha o‘zgaruvchilar

qo‘llanishidan oldin ta’riflangan bo‘lishi kerak. Ko‘p programmalash

tillarida (Algol, Paskal, Delphi va h.k.) o‘zgaruvchilar programmaning bosh

qismida ta’riflanadi va bu o‘zgaruvchilar programmaning oxirigacha

xotiradan egallagan joylarini bo‘shatmaydilar. Java da esa o‘zgaruvchilarni

kerakli joyda (blokda) ta’riflash mumkin. Blokdan chiqish bilan o‘zgaruvchi

xotiradan egallagan joy bo‘shatiladi. Bu haqda keyinroq batafsil to‘xtalamiz.

O‘zgaruvchilarni ta’riflash deganda, uning qabul qiladigan qiymatiga

qarab turini aniqlashga aytiladi. Programma o‘zgaruvchining turiga qarab,

xotiradan mos joy ajratadi.

Java tilida malumotlar tiplari ikki guruhga bo’linadi: oddiy tiplar (primitive types)

va havola qiluvchi tiplar (reference types).

Havola qilivchi tiplarga massivlar (arrays), sinflar (classes), interfeyslar

(interfaces) va hisoblash tiplari (enum) kiradi.




Javada berilganlar toifalari

Primitiv(oddiy )toifa

Mantiqiy toifa

Butun

short

Sanoqli toifa

Sonli toifa

Haqiqiy

byte

char

long

int

double

float

Interfeys

Klass

Massiv



Ko’rsatkichli toifa(Havola qilivchi)




Javada sakkizta primitiv(oddiy) tip mavjud – byte,short,int,long,char,

float,double va boolean.Ularni to’rt turga ajratish mumkin.

1. Butun.Ularga byte, short, int, long turlarni kiradi.Bular belgili butun

sonlar uchun mo’ljallangan.

2. Haqiqiy(nuqtali) turlarga – float va double tegishli.Ular kasr sonlarni

ifodalovchi sonlarni taqdim etadi.

3. Char turi.Bu tur belgilar jadvali elementlarini ifodalovchi tur

hisoblanadi.

4. Boolean turi.Bu mantiqiy kattaliklarni tasvirlovchi maxsus tur

hisoblanadi.

Java dasturlash tilida unsigned(ishorasiz) ta’rifi ishlatilmaydi.

Butun qiymat qabul qiluvchi o‘zgaruvchilar.

Butun qiymat qabul qiluvchi o‘zgaruvchilar qabul qilishi mumkin

bo‘lgan qiymatning kattaligiga qarab, bir necha turga bo‘linadi (3.5-jadval).

O‘zgaruvchining

turi


Xotiradan

ajratiladigan joy


Qabul qilishi mumkin bo‘lgan qiymatning oralig‘i


byte

1 bayt

-27 dan +27-1 gacha


short

2 bayt

-215 dan +215-1 gacha


int

4 bayt

-231dan +231 -1 gacha


long

8 bayt

-263 dan +263-1gacha


3.5-jadval.

Misol:

byte a;

byte s;

byte G;

Yuqorida uchta o‘zgaruvchi ta’riflangan. Ta’riflovchi so‘z jadvalda

qanday yozilgan bo‘lsa, programmada ham shunday yoziladi, ya’ni byte

o‘rniga Byte yozish mumkin emas. Java tilida xizmatchi so‘zlarning qat’iy

yozilish qoidasi mavjud. O‘zgaruvchini ta’riflash nuqtali vergul bilan tugashi

shart. O‘zgaruvchilarning turi bir xil bo‘lsa, ularni umumlashtirish ham

mumkin. Yuqoridagini quyidagicha yozish ham mumkin:

byte a, s, G;

Bu holda uzgaruvchilar orasiga vergul belgisi qo‘yiladi. Bu qoidalar

boshqa turdagi o‘zgaruvchilar uchun ham o‘rinli:

short A, a;

int k,l,m; long v,h;

Haqiqiy turdagi o‘zgaruvchilar.

Haqiqiy turdagi o‘zgaruvchilar ikki xil bo‘ladi:

O‘zgaruvchining

turi

Xotiradan

ajratiladigan joy

Qabul qilishi mumkin bo‘lgan

qiymatning oralig‘i

float

4 bayt

1.4E-45 dan +3.4E+38 gacha


double

8 bayt

4.9E-324 dan +1.8E+308 gacha

Misol.

float x1, x2;

double d, s, pi;

Belgi o‘zgaruvchilar.

Qiymati bitta belgidan iborat bo‘lgan o‘zgaruvchilarni Java da ta’riflash

uchun char xizmatchi so‘zidan foydalaniladi. Bu turdagi o‘zgaruvchilar

uchun xotiradan ikki bayt joy ajratiladi. Misol:

char s$, f_f;

Mantiqiy turdagi o‘zgaruvchilar.

Qiymati mantiqiy kattalik bo‘lgan (true yoki false) o‘zgaruvchilarni

ta’riflash uchun boolean xizmatchi so‘zidan foydalaniladi. Misol:

boolean l, m, j;

Satrli o‘zgaruvchilar.

Qiymati ixtiyoriy satr bo‘lgan o‘zgaruvchilarni ta’riflash uchun String

xizmatchi so‘zidan foydalaniladi. Ammo, bu so‘z Java da klassning nomi

bo‘lgani uchun, undan keng ma’noda foydalanish mumkin. Bu haqda

keyinroq batafsil to‘xtalamiz. Hozircha String dan satrli o‘zgaruvchilarni

ta’riflashda foydalanamiz. Misol:

String aa, bb, cc;

String so‘zining yozilishiga e’tibor bering. Bu so‘z bosh harfdan

boshlangan.

Tipni keltirish.

Tipni keltirish(type casting) – C++ ning noqulay xossalaridan biridir,biroq bu xossa Java tilida ham saqlanib qolgan.Ba’zan shunaqa vaziyatlar yuzaga keladiki,sizda biror tipdagi kattalik mavjud,biroq uni boshqa tipdagi o’zgaruvchiga ta’minlashingiz kerak bo’ladi.Ba’zi tiplar uchun buni tipni keltirmasdan ham bajarish mumkin bo’lib,bunday hollarda tiplarni avtomatik almashtirish haqida gapiriladi.Javada avtomatik almashtirish faqat shu holda mumkinki,agar aylantirish natijasida hosil bo’luvchi o’zgaruvchining sonlarni tasvirlash aniqligi boshlang’ich qiymatni saqlash uchun yetarli bo’lsa.Bunday almashtirish M: byte yoki short tipidagi o’zgaruvchi qiymatini yoki o’zgarmasni int tipiga o’tkazishda yuz beradi.Bu kengayish (widening) yoki oshirish(promotion) deb nomlanadi,sababi kichikroq razryaddagi tip kattaroq sig’imli tipgacha kengayadi. Int tipining o’lchami byte tipi diapazonidagi sonlarni sig’dirish uchun doim yetarlidir.Kattalikni muayyan tipga keltirish uchun shu kattalikdan oldin qavs ichiga olingan tip nomini yozish kerak.Quyida keltirilgan kod parchasida manba tipi (int tipidagi o’zgaruvchi)ni voris tipiga(byte tipidagi o’zgaruvchiga) keltirish namoyish etiladi.Agar bu amal chog’ida butun qiymat byte uchun mumkin bo’lgan diapazon chegarasidan oshib ketganda edi,u byte diapazoniga modul bo’yicha bo’lish orqali kuchaytirilardi.(modul bo’yicha songa bo’lish natijasi – bu shu songa bo’lishda olingan qoldiq)

int a = 100;

byte b = (byte) a;

Ifodalarda tipning avtomatik almashtirilishi

Ifodaning qiymatini hisoblayotgan chog’ingizda oraliq natijalarni saqlash uchun talab etiladigan aniqlik yakuniy natijani ifodalash uchun talab etiluvchi aniqlikdan katta bo’lishi kerak.

byte a = 40;

byte b = 50;

byte с = 100;

int d = a* b / с;

(a*b) oraliq ifoda qiymati byte uchun ruxsat berilgan diapazondan oshib ketishi mumkin.Shu sababli Java avtomatik ravishda ifodaning har ikki tarafining tipini int tipigacha shunday oshirdiki,(a*b) qiymati uchun joy yetarli bo’ladi.

Avtomatik tip almashtirish ba’zan kutilmagan xatolar haqida transyatorning xabar berishiga olib keladi. M: Quyida keltirilgan kod korrekt ko’rinsada,translyatsiya fazasida xatolik haqida xabar beradi.Unda biz 50*2 qiymatni byte ozgaruvchiga joylashtirmoqchimiz 100 – byte tipida juda yaxshi joylashadi.Biroq natija tipining int ga avtomatik almashtirilishi natijasida translyatordan xatolik haqida xabarga ega bo’lamiz – sababi int ni byte ga ta’minlash chog’ida aniqlik yo’qotilishi mumkin.

byte b = 50;

b = b* 2;

^ Incompatible type for =. Explicit cast needed to convert int to byte. (= uchun mos kelmaydigan tiplik int ni byte ga oshkor keltirish zarur)

To’g’rilangan matn :

byte b = 50;

b = (byte) (b* 2);

natijasida b ga 100 qiymat to’g’ri ta’minlanishiga olib keladi.

Agar ifodada byte,short va int tipidagi o’zgaruvchilar ishlatilsa,u holda to’lib ketmaslik uchun butun ifoda tipi avtomatik int tipiga o’tkaziladi.Agar ifodada hech bo’lmasa bitta o’zgaruvchii tipi long bo’lsa,butun ifoda tipi ham longgacha oshiriladi.Oxirida L (yoki l) belgisi bo’lmagan butun literallar (o’zgaruvchilar) ega bo’ladi.Agar ifodada float tipidagi o’zgaruvchilar qatnashsa,ifoda tipi floatga o’tkaziladi.Agar ifodada hech bo’lmasa bitta oprant double tipida bo’lsa,butun ifoda doublega keltiriladi .Jimlik holatida Java barcha qo’zg’aluvchan nuqtali literallarni double tipiga ega deb qabul qilinadi.Quyida keltirilgan dastur ifodadagi har bir kattalikning tipi har birar operatorning ikkinchi operandi bilan mos bo’lishi uchun qanday qilib oshirilishi ko’rsatilgan.

class Promote {

public static void main (String args []) {

byte b = 42;

char с = 'a';

short s = 1024;

int i = 50000;

float f = 5.67f;

double d =.1234;

double result = (f* b) + (i/ c) - (d* s);

System. out. println ((f* b)+ "+ "+ (i / с)+ " - " + (d* s));

System. out. println ("result = "+ result); }}

Java dasturlash tilidagi ma’lumotlar tiplar o’rgatish jarayonida c++ dasturlash tilidagi ma’lumotlar tiplari qiyoslagan holda olib boramiz



Tur nomi

Java

dasturlash

tilida

qiymati

Java dasturlash tilida ishlatadigan xotira

Java dasturlash tilida turning qiymat chegarasi

C++

dasturlash

tilida

qiymati

C++ dasturlash tilida ishlatadigan xotira

C++ dasturlash tilida turning qiymat chegarasi

boolean

true yoki false

1 byte




true yoki false

1 byte




char

Bitta xarf

2 byte

Barcha Unikod xarflari

Bitta xarf

1 byte

0..255

byte

Butun son

1 byte

-128 dan 127 gacha

ba'zi bir kontekstlarda char

1 byte

-128 dan 127 gacha

short

Butun son

2 byte

-32768 dan 32767 gacha

Butun son

2 byte

–32,768 to 32,767

int

Butun son

4 byte

-2147483648 dan 2147483647 gacha

Butun son

4 byte

-32768.. 32767

long

Butun son

8 byte

-9223372036854775808 dan 9223372036854775807 gacha

Butun son

4 byte

–2,147,483,648 to 2,147,483,647




float

Ratsional son

4 byte

byte -3.40282347*10+38 dan -1.40239846*10-45 gacha

Ratsional son

4 byte

1.2Е-38..3.4Е38

double

Ratsional son

8 byte

±1.76769313486231570*10+308 dan ±4.94065645841246544*10-324 gacha

Ratsional son

8 byte

2.2Е-308..1.8Е308



Bu qiyosiy jadvalimizda shuni takidlashimiz joizki ma’lumotlarni tiplari dasturlash tillarida asosi bir xil,ya’ni dasturlash tillarida malumotlarni tiplari bir xil ammo dasturdagi yozilish buyruq kodlari sintaksis jihatidan har xil ifodalanadi.Java va C++ dasturlash tillarida ma’lumotlar tiplari deyarli bir xil ammo,Javada byte tipi char tipi ma’lumotlarni ham o’z ichiga oladi.Java va C++ tilida ma’lumot tiplari bir xil bo’lsada ularni qiymatlar chegarasi har xil.Masalan int tipining Java da qiymatlar chegarasi -2147483648 dan 2147483647 gacha C++ da esa -32768.. 32767 ,long tipining Java da qiymatlar chegarasi -9223372036854775808 dan 9223372036854775807 gacha C++ da esa
–2,147,483,648 to 2,147,483,647.

Download 316,94 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish