Java бағдарламалау тілі

Home » Рефераттар » Java бағдарламалау тілі
Рефераттар Комментариев нет

Java бағдарламалау тіліне кіріспе. Java құрылуының тарихы. Java бағдарламаларын орындау. JDK ұғымы. Java тілінің ерекшеліктері. Лексикалық негіздер (жадыда сақталған ұйытқы сөздер, идентификаторлар, литер, бөлгіштер).

Java тіліндегі бастапқы файл — ол өзінде бір немесе бірнеше класстардың  сипаттамасын қамтитын  мәтіндік файл. Java трансляторы, бағдарламаның бастапқы мәтіні кеңейтулері бар файлдарда сақталатынымен түсіндіріледі. Трансляция барысында әр класс үшін алынатын код, сәйкес ат, класс атымен және  class кеңейтілуімен жеке шығу файлдарында жазылады.

Ең алдымен, бұл тарауда, біз трансляция жасап және канондық «Hello World» деген бағдарламаны жазып жүргіземіз. Бұдан әрі біз Java- трансляторы қабылдайтын барлық лексикалық элементтерді қарастырамыз: аралықтар, түсініктемелер, негізгі сөздер, идентификаторлар, литералдарды, операторлар және бөлгіштер. Тараудың соңына қарай сіздер Java- бағдарламасында өздігінен бағыттала алатындай жеткілікті мәлімет ала аласыздар.

Hello World

Біздің бірінші Java-программамыз:

class HelloWorld {

public static void main (String args []) {

System. out. println («Hello World»);

}

}

Қадамнан қадамға

Әрине, HelloWorld — бұл тривиальды мысал. Алайда тіпті мынадай жай бағдарлама  Java тіліндегі жаңа қолданушыға күрделі болып көрінеді, өйткені ол сендерді көптеген жаңа ұғымдар мен тіл синтаксисының бөлшегтерімен таныстырады.

class HelloWorld

1 қатар

class HelloWorld{

Бұл қатарда сақталынған class сөзі пайдаланылады. Ол трансляторға біздің жаңа классты сипаттайтынымызды хабарлайды. Класстың толық сипаттамасы бірінші қатарда ашылған фигуралы жақша мен оған қос 5 қатардағы жабылатын фигуралы жақшалардың арасында орналасқан. Java-да қолданылатын фигуралы жақшалар  С мен С++ тілдеріндегідей қолданылады.

2 қатар

public static void main (String args []) {

Бір көзге қарағанда мысал қатарының тым қиын болуы, Java тілін өңдеуде қаланған маңызды талаптардың салдары болып табылады. Java-да ғаламдық атқаратын қызметтер болмайды. Осындай қатарлар бірінші тараудың көп бөлігінде кездескендіктен, екінші қатардың әрбір элементін қарастырайық.

Public

Бұл қатарларды бөлек лексемаларға бөле отырып, public сөзімен кездесеміз. Бұл —  бағдарламашыға көрінетін кез келген әдіс пен айнымалыларды басқаратын модификатордың мүмкіндігі. Бұл жағдайдағы public модификатордың мүмкіндігі, main әдісі кез келген класста көрінетіндігін және жетімділігін білдіреді. Мүмкіндіктің (доступ) тағы 2 сілтегіш деңгейі бар — private және protected бар.

static

Бұл сөз арқылы класстың әдістері мен айнымалылар жарияланып, класстармен толық жұмыс жасау үшін пайдаланылады. Static сөзі қолданылатын әдістер, тек локальды және статистикалық айнымалылармен жұмыс жасайды.

void

Сіздерде бір немесе басқа үлгінің мағынасын қайтаратын әдістерге жиі қажеттілік туады: мысалға, бағдарламашымен тағайындалатын int толық мағыналар үшін, float – заттай немесе деректер үлгілерінің класс атауы үшін. Біздің жағдайда экранға тек қатарды шығару керек, ал main әдісінен мағынасын қайтарудың керегі жоқ. Дәл осы себептен void модификаторы пайдаланылды.

main

Енді main әдісін талқылайық. Бұл жерде ешқандай ерекшелік жоқ, тек барлығын Java- интерпретаторымен  жүзеге асыру керек, классты интерпретациялау командасын алып, main әдісінің шақыруынан өзінің жұмысын бастайды. Java- транслятор main әдісі жоқ классты трансляторлай алады. Ал Java- интерпретатор классты main әдісінсіз жүргізе алмайды.

Әдіске жіберілетін барлық параметрлер, «;» символымен бөлінген элементтер тізбегі ретінде қос домалақ жақшада көрсетіледі.  Параметрлер тізбегінің әрбір элементі, бөлшектенген қадам типі мен идентификатордан тұрады. Тіпті әдісте параметрлер болмаған жағдайда, оның артынан міндетті түрде бірнеше домалақ жақша қою керек. Қазір талқылап отырған мысалда, main әдісінде күрделендірілген типтегі тек бір параметр бар.

String args элементі[] args атымен аталатын  параметрді жариялайды, ол  String классты массивтер объектілерін жариялайды. args идентификаторынан кейін тұрған тік бұрышты жақшаларға назар аударыңыздар. Олар біздің көрсетілген типтің жеке элементімен емес, массивтермен жұмыс істеп жатқанымызды айтады.

3 қатар

System. out. prlntln(«Hello World!»);

Осы қатарда out  нысанының println әдісі орындалады. out нысаны OutputStream классында жарияланған және статикалық System классында инициализацияланады.  Main әдісін хабарлау 4 қатардағы жабылмалы ирек жақшамен бітеді, ал HelloWorld классы 5 қатарда дәл осындай фигуралы жақшамен хабарлануымен аяқталады.

Лексикалық негіздер

Java- классын тереңірек қарастырғаннан кейін, енді осы тілдің синтаксисының ортақ аспекттерін қарастырайық. Java-ның бағдарламалары— қадамдар, түсініктемелердің, бұлақты сөздердің, идентификаторлардың, литералдық тұрақтылардың, операторлар мен бөлгіштердің жиынтығы.

Қадамдар

Java – тілі,  бағдарламаның мәтінін еркін өңдеуге мүмкіндік беретін тіл. Бағдарлама дұрыс жұмыс жасау үшін, мәтінді арнайы әдістермен түзетудің қажеті жоқ. Мысалы, HelloWorld классын екі қатарда немесе кез келген басқа әдіспен жазуға болар еді. Тек бөлек лексамалардың арасында бір қадам, табуляция символы немесе қатар аудармасының символы болуы керек, сонда ол дұрыс жұмыс атқарады.

Түсініктемелер

Түсініктемелер бағдарламаның  кодына  әсер етпесе де, оны дұрыс пайдалану, бастапқы мәтіннің байыпты бөлігі болып табылады. Түсініктемелердің үш түрі: бір қатарға түсініктемелер, бірнеше қатардағы түсініктемелер және документтеудегі  түсініктеме деп бөлінеді. Бір қатарды алатын түсініктемелер // деген символмен басталып, қатар соңында аяқталады. Бұл түрдегі түсініктемелер бөлек қатар кодтарына қысқаша түсініктеме бергенге пайдалы.

а = 42; // егер 42 – жауап болса, онда қандай сұрақ болды?

Бірнеше қатарларда орналасқан және мәтін түсініктемелерін /*  мына символмен бастап,  */ осы символмен аяқтау арқылы, біз түсініктемелерді толық түсіну үшін пайдалана аламыз. Осы  қос символдар арасында орналасқан мәтін, түсініктеме ретінде пайымдалады және оны транслятор ескерусіз қалдырады.

/*

* Этот код несколько замысловат…

* түсіндіруге тырысайық:

* ….

*/

Үшінші түрдегі ерекше түсініктемелер  javadoc сервисті бағдарламасына арналған,  ол Java-транслятор компоненттерін автоматты түрде класс интерфейстері бойынша документтер генерациясына қолданылады. Түсініктемелердің бұл түрін қолданудың келісімі мынада: ашық (public) классын хабарлау алдында, /** түріндегі символдан бастау керек. Бұндай түсініктемелер, қарапайым түсініктемелер сияқты аяқталады.  Javadoc  бағдарламасы түсініктемелі құжаттардағы @ деген символдан басталатын кейбір арнайы айнымалыларды ажырата алады.

/**

* Осы класс керемет мүмкіндіктерді жасай алады.

* бұдан да жетілдірілген класс жазам  деушілерге,

* осыны негіз етіп алуды ұсынамыз.

* @see Java. applet. Applet

* ©author Patrick Naughton

* @version 1. 2

*/

class CoolApplet extends Applet { /**

* бұл әдістің екі параметрі:

* @param key – параметрдің аты.

* @param value — key есімді параметрдің мағынасы .

*/ void put (String key, Object value) {

Жадыда сақталған ұйытқы сөздер

Жадыда сақталған сөздер- Java тілінде кірістірілген типтерді, модификатор мен басқару құралдарын  идентификаторлау үшін қолданылатын бағдарлама. Бүгінгі таңда Java тілінде 59 жадыда сақталған сөздер бар (2 кестені қараңыз). Жадыда сақталған сөздер операторлар және бөлгіштердің синтаксисымен Java тілінің сипаттамасына кіреді. Оларды айнымалылар, класстар мен әдістердің идентификаторы ретінде қолдануға болмайды.

2 кесте

Жадыда сақталған Java сөздері

abstract boolean break byte byvalue
case cast catch char class
const continue default do double
else extends false final finally
float for future generic goto
if implements import inner instanceof
int interface long native new
null operator outer package private
protected public rest return short
static super switch syncronized this
throw throws transient true try
var void volatile while

byvalue, cast, const, future, generic, goto, inner, operator, outer, rest, var сөздері Java-ның жадысында сақталған, бірақ әлі қолданысқа кірмеген. Сонымен қатар Java да жадыда сақталған әдіс атаулары бар.

Java әдістерінің жадыда сақталған аттары

clone equals finalize getClass hashCode
notify notifyAll toString wait

Идентификаторлар

Идентификатор класстарды, әдістер мен айнымалыларды атау үшін қолданылады. Идентификатор ретінде кез келген тізбектелген қатар, жазбаша әріптер, сандар және мына символдарды  (_   $) қолданылады. Транслятор  оларды астында сипатталған сандық литералдармен, константамен салыстырмау үшін , идентификатор сандардан басталмауы керек. Java — әріптің регистріне сезімтал тіл. Мысалы , Value және VALUE — түрлі идентификаторлар дегенді білдіреді.

 Java дегеніміз не?

Ол Индонезия аумағындағы Ява аралы. Ол Java(«Джава» деп айтылады, екпін бірінші буында) жаратушыларының сүйікті кофе сұрыпы. Шындығына келгенде,бұл сұраққа жауап беру қиын, себебі  Java-ның  шекаралары, ауқымы күннен күнге ауқымдалуда. Алғашында Java телефондар сияқты тұрмыстық электрондық құрылығыларды программалау үшін арналған.

Кейін Java браузерлерді программалау үшін қолданыла бастады. Сосын Java-мен толыққанды бағдарламаларды жасауға болатыны анықталды. Оның графикалық элементтері компоненттер түрінде рәсімделетін – JavaBeans, CORBA технологиясымен байланысты  бағдарламалық қамсыздандырудың әлеміне кірді. Серверлерді  программалауының бір қадамы қалды, ол сервлет пен  EJB(Enterprise JavaBeans) пайда болуымен ол қадам жасалды. Серверлер деректер базасымен  әрекеттесетін JDBC(Java DataBase Connection) драйвер пайда болды. Әрекеттестік сәтті болды, және көптеген деректер базасын басқаратын жүйелер мен операциялық жүйелер Java-ны өздерәне қосты, мысалы Oracle, Linux, MacOS X, AIX. Тағы не қамтылмады? Атап көріндер және жарты жылда Java-ның ол жақты да қамтығанын ести аласыздар.

.Java технологиясының кең таралуы,  программалауға арнайы құрылған  Java тілімен байланысты. Осы тіл Smalltalk, Pascal және C++ тілдерінің негізінде құрылған.  Бұл жөнінде көптеген пікірлер бар, бірақ тілді игеруде және қолдануда ыңғайлығы сөзсіз. Java тілі объектіге бағытталған программалаудың оқу тілі бола бастады, және  Pascal сияқты құрылымды программалау тілі болды.Суреттің толықтығы үшін айта кету керек, Java технологиясы үшін бағдарлама құру, тек Java тілі емес, сонымен қатар Pascal және C++ тілдерінің  компиляторларын қолдануға болады.

Java технологиясын бір кітапта баяндауға болмайды, оның толық мүмкіндігі кітапхананы құрайды. Бұл кітап тек Java тіліне арналған. Оны оқып, сендер көптеген күрделі бағдарламаларды Java-да жасай аласыңдар. Java тілі де өте қарқынды дамуда, оның кейбір әдістері ескірген, оның орнына жаңа конструкциялар пайда болып, кірістірілген класс кітапханасы кеңейтілуде.

Java бағдарламаларының  орындалуы.

Java тілінде жазылған бағдарлама бастапқы модульде бірден орындалмайды. Оны алғашында компиляциялау керек, яғни  машиналы команданың тізбектілігі — нысан модульіне ауыстыру керек.

Java—да жазылған бастапқы модуль бұдан алыстамайды, бірақ осы жерде технологиясының басты ерекшелігі пайда болады — Java—да бағдарлама бірден машиналық командада компиляцияланады.

Java виртуалды машинасы — оларды орынайтын жүйе командасы.

Сондықтан JVM командалары қысқа, олардың ұзындықтары көбінде 1 байт, осыдан JVM командаларын (bytecodes) деп атайды, сонымен қатар оларда ұзындығы 2 және 3 байттық командалар да бар. Статистикалық зерттеулерге сәйкес командалардың ортаа ұзындығы 1,8 байт. Командалардың толық мәліметтері мен JVM барлық архитектурасы Java (VMS, Virtual Machine Specification) виртуалды машинасында орналасқан. Java  виртуалды машинасы қалай жұмыс істейтінін білу үшін мына спецификациямен танысу керек.

Java басқа өзгешелігі —  ло командамен шақырылатын стандартты функциялар. Мамандардың айтуынша, үдемелі құрастырылым(dynamic binding) болып жатады. Бұл да компиляцияланған бағдарламаның көлемін  азайтады.

Бірінші кезеңде, Java тілінде жазып қойған бағдарлама компилятормен байт-кодқа аударылады. Бұл компиляция  қандай да бір нақты процессордың және әлдебір нақты компьютердің архитектура үлгісінен деген тәуелді болмайды. Ол бағдарламаны жазып болған соң бір рет орындалады. Байт-кодтар бір немесе бірнеше файлда жазылып, сыртқы жадта сақталып немесе желі арқылы жіберіле алады. Бұл файлдың шағын өлшемді байт-кодтар үшін ыңғайлы. Компиляция нәтижесінде алынған байт кодтарды кез келген JVMді жүзеге асыратын жүйесі бар компьютерлерде орындауға болады.

Байт-кодтардың интерпретациясы және үдемелі құрастырылым бірталай бағдарламаның орындалуын баяулатады. Байт кодтарды желі арқылы жібергенде ескерілмейді. Сол себептен ылғи интерпретаторды жетілдіру жұмысы жүріп жатады. Процессордың машиналық командасындағы интерпретацияланған код аумағының есінде сақтайтын JIT-компиляторлары құрастырылды. Ол бірталай қайталанатын есептеулердің жылдамдығын көбейтеді. SUN фирмасы толыққанды Hot-Spot технологиясын  әзірлеп,  оны Java өзінің виртуалды машинасына қосып алды. Бірақ, әрине, үлкенірек жылдамдықты арнайы процессорлар  ғана  бере алады.

SUN Microsystems фирмасы  JVM командасының жүйесінде жұмыс істейтін PicoJava процессорларын шығарды. Басқа фирмалардың Java- процессорлары бар. Осы процессорлар байт-коды орындайды. Java бағдарламасын басқа процессорларда орындау үшін, нақты процессордың  JVM командасының интерпретациясы қажет.

Бұл мәселе  іс жүзінде барлық компьютерлік тұғырнамалар үшін шешілді. Оларда Java виртуалды машиналары жүзеге асырылды, ал кең таралған  тұғырнамалар үшін бөлек-бөлек фирмаларның JVM бар.  жүзеге асуында бар. Көптеген  операциялық жүйе және басқарма жүйелерінің дерекқорлары JVM  өзінің ядросының ішіне алады. Және арнаулы электрондық құрылымдарда қолданатын JavaOS операциялық жүйесі жасалған. Браузерлердің көпшілігінде апплеттің орындалуы үшін Java виртуалды машинасы кірістірілген.

Байт кодтарды JVM жүзеге асуыру үшін  компьютерде тағы да атқаратын қызмет терімі қажет. Бұл терім Java классының бір немесе бірнеше пакеттен құралған кітапханада рәсімделеді. Әр  функция  байт-код түрінде жазылады.  Осындай функцияларды «жақын» әдістер (native methods) деп атайды. «Жақын» әдістертерді қолдану бағдарламаның орындалуын тездетеді.

Java технологиясын жаратқан — SUN Microsystems  фирмасы –осы тілдегі толық циклды жұмыс үшін тегін түрде қажетті бағдарламалық аспаптарды таратады: компиляция, интерпретациялар, отладтар, JDK (Java Development Kit) деп аталатын кітапхана класстарына қосады. Аспаптың бағдарламасының және басқа фирмасылардың терімдері болады. Айталық, IBM фирмасының JDK- сы.

JDK дегеніміз не?

JDK классы және бағдарлама терімдері құрайды:

бастапқы мәтіннен байт-кодты javac компиляторы; java интерпретаторының JVM жүзеге асуын құрайды;

jre(соңғы болжамдарда болмайды) жеңілдікті интерпретаторы;

браузерді ауыстыратын appietviewer апплеті;

jdt дұрыстаушысы>;

javap дизассемблері;

архивтеудің және jar қусыруының бағдарламасын;

javadoc құжаттамасының жинақтау бағдарламасын;

С тілінің  файлдарының генерациясының javah бағдарламасын;

электрондық қол қосымшасының javakey бағдарламасын;

бинарные файлдарды мәтіндікке ауыстыратын native2ascii бағдарламасы;

объектілерді жою үшін rmic және rmiregist бағдарламалары;

сынып нөмірін айқындаушы seriaiver бағдарламасы;

«жақын» әдістің кітапханасы және тақырыптаманың файлдары;

Java API(Application Programming Interface) классының кітапханалары.

SUN Microsystems компаниясы үнемі JDK дамытып, жыл сайын жаңа үлгілерін шығарып отырады.

1996 ж. JDK 1.0 бірінші үлгісі шығарылған. Бұл үлгіде Java API классының кітапханасы 8 пакеттен тұрған. JDK 1.0.2 барлық терімі өлшемі шамамен  5 Мбайт болатын бір файлда құрылған.

В 1997 г. появилась версия JDK 1.1, последняя ее модификация, 1.1.8, выпущена в 1998 г. В этой версии было 23 пакета классов, занимала она 8,5 Мбайт в упакованном виде и около 30 Мбайт на диске.

1997 ж. JDK 1.1 үлгісі, соңғы оның түрөзгертушілігі 1.1.8  1998 ж. шығарылған. Бұл үлгіде класстың 23 пакеті болды, ол 8,5 Мбайтты алып жатты.

JDK бірінші үлгілерінде Java API кітапханасының барлық пакеттері classes.zip деген бір архив файлында мұрағаттан.

Кейін JDK аспап терімі қатты өңдеуден өткен.

JDK 1.2 үлгісі 1998 ж. желтоқсанында шықты және ол класстың 57 пакетінен тұрды. Архив түрінде ол 20Мбайт өлшеміндегі  файл. Толық үлгісі 130 Мбайтты дискті аумағын алады және оның құжаттамасы 80 Мбайт.

Осы үлгіден бастап, Java технологиясының барлық өнімдері SUN компаниясы Java 2 Platform, Standard Edition деп атай бастады, қысқаша J2SE, aл JDK  Java 2де  SDK деп атала бастады. SUN компаниясы жиі өздерінің ескі атауын қолданады. 57 класс пакетінен басқа, кез келген тұғырнамада тындырымды  атауы Core API, ал Java 2 SDK vl.2 тағы Standard Extension API  деп аталатын класстың қосымша пакеттері кіреді.

Қазіргі уақытта JDK 1.0.2 үлгісі пайдаланылмайды. JDK 1.1.5 болжамы AWT жазу-сызудың кітапханасымен Internet Explorer 5.0 және  Netscape Communicator 4.7 танымал браузерлеріне кіргізілген, сол себептен ол апплетті құру үшін қолданылады. Java 2 технологиясы  серверлерде пайдаланылады.

JDKдан басқа , SUN  компаниясы бөлек JRE(Java Runtime Environment) таратады.

JRE дегеніміз не?

JRE классының пакеті және бағдарламалары байт-кодтарды орындалуы үшін қажеттінің бәрін қамтиды,  соның ішінде java(алғашқы болжамдарда jre ) интерпретаторы мен класс кітапханасы . Бұл компиляторды, дұрыстаушыларды және басқа зерттеменің JDK бөлігі. JRE 1.3.0 үлгісі — бұл өлшемі шамамен 8 Мбайтты архив файлы.

 

LEAVE A COMMENT

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.