Јава (програмски језик)

Из Википедије, слободне енциклопедије
Јава
Java logo.gif
Лого програмског језика Јава
Оригиналан назив: енгл. Java
Изговара се: јава
Модел: структурирани, објектно-оријентисани
Појавио се: 1995.
Аутор(и): Џејмс Гозлинг
Дизајнер(и): Sun Microsystems
Актуелна верзија: JDK SE6 Update 10 Beta (build 14)
Типови променљивих: статички, јаки, сигурни, номинални
Утицаји: Objective-C, C++, Smalltalk, Eiffel, Mesa
Утицао на: C#, D, J#, Ada 2005, ECMAscript, PHP, Scala
Оперативни системи: вишеплатформски језик
Лиценца: ГНУ-ова општа јавна лиценца/Java Community Process
Званична веб локација: http://www.oracle.com/us/technologies/java/index.html

Јава (енгл. Java, изговор: јава, ∗џава) је објектно-оријентисани програмски језик, који је развила компанија Sun Microsystems почетком деведесетих година. Многи концепти Јаве су засновани на језику Оберон Никлауса Вирта, творца Паскала, Модуле и других језика, и Ханспетера Месенбека. Избацили су концепт модула и увели пакете какве данас знамо, који се ослањају на фајл систем и увели формално концепт класа из објектно-оријентисане парадигме. Осим тога, језик има синтаксу сличну језицима C и C++, али је много строжи при превођењу, дизајниран тако да буде независан од платформе, и са поједностављеним управљањем меморијом. Претпоставља се да је ово урађено због популарности језика C, али и због једноставности неких структура. Прва верзија је званично објављена 1995. године.

Историја Јаве[уреди]

Писање и извршавање Јава кода[уреди]

Јава је објектно-оријентисани програмски језик те као такав поштује правило да се једна класа налази у једном фајлу (осим унутрашњих класа). Изворни код се чува у фајловима са наставком .java. Програми написани у програмском језику Јава се не компајлирају у машински код, већ се преводе у бајт-код, и тако преведени фајлови имају наставак .class. Да би се извршио програм написан у Јави, неопходно је имати Јава Виртуелну Машину, на којој се интерпретира бајт-код. Управо се кориштењем Јава Виртуелне Машине постиже независност од платформе, тако да се исти бајт-код може једнако извршавати на сваком оперативном систему на коме је инсталирана Јава Виртуелна Машина.

Уништавање објеката[уреди]

Уклањање непотребних објеката из меморије обавља garbage collector. Овај процес ради независно од покренутих програма и самостално одлучује које објекте ће уклонити из меморије. Осим уклањања сувишних објеката он врши дефрагментацију меморије. Његовим кориштењем се програмер ослобађа посла који се односи на ослобађање меморије кроз програмски код. На овај начин се не мора водити рачуна о деструкторима већ се њихов посао изводи аутоматски. Garbage collector је могуће покренути и мануелно.

Синтакса[уреди]

Пример кода[уреди]

// Ако се класа зове Pozdrav, име фајла мора бити Pozdrav.java
 
public class Pozdrav {
    // Главној методи се предаје низ параметара унетих са командне линије
 
    public static void main(String[] args) {
        System.out.println("Здраво свете!");
    }
}

Коментари[уреди]

  • Једноредни коментари обележавају се са // и завршавају се на крају реда
  • Двосмерни коментари обележавају се са /* и завршавају се са */. Ови коментари могу се простирати преко више редова. Не могу бити угнеждени.
  • Коментари за документацију обележавају се са /** и завршавају се са */. Ови коментари могу се простирати преко више редова. Не могу бити угнеждени.

Сепаратори[уреди]

За раздвајање, јава користи неколико знакова:

  • () (обичне заграде) - Служе за одвајање листе параметара од позива методе. Користе се и за наглашавање приоритета израза, за груписање израза у управљачким наредбама као и за одређивање типова података при конверзији.
  • {} (витичасте заграде) - Служе за ограђивање вредности аутоматски иницијализованих низова, за дефинисање блокова наредби, класа, метода као и за дефинисање локалног опсега важења променљивих.
  • [] (угласте заграде) - Користе се за издвајање вредности чланова низова и за декларисање самих низова.
  • ; (тачка са запетом) - Закључује наредбу.
  • , (запета) - Раздваја идентификаторе у декларацији променљиве и користи се за повезивање наредби унутар петљи.
  • . (тачка) - Служи за раздвајање назива пакета од потпакета и класа као и за раздвајање променљивих или метода од имена објеката.

Резервисане речи[уреди]

Све до J2SE5, јава је садржавала 48 резервисаних речи. Уз синтаксу сепаратора и оператора оне представљају дефиницију програмског језика Јава.

Резервисане речи јаве су: abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends, final, finally, float, for, goto, 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.

Осим ових, резервисане су и вредности: true, false и null.

Изговор[уреди]

Програмски језик Јава је добио назив по острву у Индонезији, са кога САД увозе велике количине кафе. Другим речима, Јава је у САД појам који се везује за кафу на сличан начин као што је то у Србији Бразил. Американци име овог острва (па самим тим и име програмског језика) изговарају Џава или Ђава, што је погрешно, јер Индонежани, своје острво називају управо тако - Јава. У српском говорном подручју је устаљено да се име програмског језика изговара исто као и име острва, дакле, Јава, иако се понегде практикује амерички изговор.

Спољашње везе[уреди]

Sun[уреди]

Алтернативе[уреди]

Упутства за почетнике[уреди]

Извори[уреди]

Историја[уреди]

Критике[уреди]