<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hr">
	<id>https://croatianschoolsydney.com/index.php?action=history&amp;feed=atom&amp;title=Java_%28programski_jezik%29</id>
	<title>Java (programski jezik) - Povijest promjena</title>
	<link rel="self" type="application/atom+xml" href="https://croatianschoolsydney.com/index.php?action=history&amp;feed=atom&amp;title=Java_%28programski_jezik%29"/>
	<link rel="alternate" type="text/html" href="https://croatianschoolsydney.com/index.php?title=Java_(programski_jezik)&amp;action=history"/>
	<updated>2026-05-16T10:31:14Z</updated>
	<subtitle>Povijest promjena ove stranice na wikiju</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>https://croatianschoolsydney.com/index.php?title=Java_(programski_jezik)&amp;diff=399910&amp;oldid=prev</id>
		<title>WikiSysop: Bot: Automatski unos stranica</title>
		<link rel="alternate" type="text/html" href="https://croatianschoolsydney.com/index.php?title=Java_(programski_jezik)&amp;diff=399910&amp;oldid=prev"/>
		<updated>2021-12-21T03:25:37Z</updated>

		<summary type="html">&lt;p&gt;Bot: Automatski unos stranica&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nova stranica&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--'''Java (programski jezik)'''--&amp;gt;'''Java''' je [[Objektno orijentirano programiranje|objektno orijentirani]] [[programski jezik]] koji su razvili [[James Gosling]], [[Patrick Naughton]] i drugi inženjeri u tvrtci Sun Microsystems. Razvoj je počeo [[1991.]], kao dio projekta Green, a objavljen je u [[studeni|studenom]] [[1995.]]&lt;br /&gt;
&lt;br /&gt;
Tvrtka Sun posjeduje [[trademark]] na ime Java, ali samo okruženje je moguće bez plaćanja skinuti sa Sunovih [[internet]] poslužitelja.&lt;br /&gt;
&lt;br /&gt;
Velika prednost u odnosu na većinu dotadašnjih programskih jezika je to što se programi pisani u Javi mogu izvoditi bez preinaka na svim operativnim sustavima za koje postoji '''JVM''' ([[Java (virtualni stroj)|Java Virtual Machine]]), dok je klasične programe pisane primjerice u C-u potrebno prilagođavati platformi([[OS|Operacijskom sustavu]]) na kojem se izvode.&lt;br /&gt;
&lt;br /&gt;
Time i bogatim skupom klasa za rad s mrežnim komunikacijama u jednom trenutku je Java bila najbolji izbor za široku lepezu mogućih aplikacija. Microsoft je stoga razvio svoj [[C povisilica (programski jezik)|C#]] i [[.NET]] platformu kao odgovor na [[open source]] alternative.&lt;br /&gt;
&lt;br /&gt;
Java je jedan od najkorištenijih programskih jezika. Procjene i izvješća o broju korisnika kreću se od gotovo 7 do preko 10 milijuna.&amp;lt;ref&amp;gt;[http://plumbr.eu/blog/how-many-java-developers-in-the-world (en.) Plumbr.eu: How many Java developers are there in the world? July 18, 2012, by Priit Potter], pristupljeno 9. siječnja 2013.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://langpop.com/ (en.) LangPop.com: Programming Language Popularity] {{Webarchive|url=https://web.archive.org/web/20180903221633/http://www.langpop.com/ |date=3. rujna 2018. }}, pristupljeno 9. siječnja 2013.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (en.) TIOBE: Programming Community Index for January 2013], pristupljeno 9. siječnja 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Na današnjem tržištu, Java se koristi široko i dosljedno tamo gdje preteže brzina razvoja programskog sustava nad zahtjevima do brzine rada programa. Iako inspirirana jezikom C, Java pruža bolji stupanj sigurnosti i pouzdanosti zahvaljujući VM-u i hermetički zatvorenom okolišu u kome svaki program operira: na Javi se brže razvija program s manje pogrešaka.&lt;br /&gt;
&lt;br /&gt;
Upravo zbog toga je popularna za razvoj programa na mobilnim telefonima i kod financijskih kompanija. Javlja se kao osnovni jezik za programiranje [[Google]]ovog sustava [[Android (operacijski sustav)|Android]].&lt;br /&gt;
&lt;br /&gt;
== Sintaksa jezika ==&lt;br /&gt;
Javina sintaksa je slična sintaksi [[C++]]-a. Sav kod se piše u klasama, a svaki podatak je objekt - uz iznimku primitivnih tipova podataka (cijeli i decimalni brojevi, boolean vrijednosti i znakovi).&lt;br /&gt;
&lt;br /&gt;
Za razliku od C++-a, java ne podržava preopterećivanje operatora (ad-hoc polimorfizam). Također ne podržava višestruko nasljeđivanje klasa (ali dopušta višestruko nasljeđivanje sučelja). Uz dva tipa komentara korištena u C++-u ({{Mono|// ...}} za jednolinijski i {{Mono|/* ... */}} za višelinijski kod), java uvodi i tzv. Javadoc komentare ({{Mono|/** ... */}}) koji dopuštaju pisanje dokumentacije za klase i metode.&lt;br /&gt;
&lt;br /&gt;
Primjer Javadoc dokumentacije za klasu:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
* Objašnjenje koda klase&lt;br /&gt;
* može se protezati kroz više linija. *&lt;br /&gt;
* @author  Ivan Horvat ** definira autora ove klase&lt;br /&gt;
* @version 1.0         ** definira inačicu ovog koda&lt;br /&gt;
* @since   2014-03-31  ** broj inačice u kojoj je prvi put&lt;br /&gt;
*                      ** uvedena ova funkcionalnost&lt;br /&gt;
*/ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Javadoc dokumentacija za metode ima još niz dodatnih parametara, na primjer:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 /**&lt;br /&gt;
   * Kao primjer ćemo koristiti metodu koja prima dva broja&lt;br /&gt;
   * i vraća njihov zbroj&lt;br /&gt;
   * @param brojA  Ovo je prvi parametar metode&lt;br /&gt;
   * @param brojB  Ovo je drugi parametar metode&lt;br /&gt;
   * @return int   Metoda vraća cjelobrojni zbroj dva broja &lt;br /&gt;
   * @exception IOException iznimka pri unosu vrijednosti koje nisu brojevi&lt;br /&gt;
   * @see IOException  ** poveznica na stranicu o iznimci&lt;br /&gt;
   */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Neki programi mogu automatski generirati dokumentaciju za program iz Javadoc komentara. &lt;br /&gt;
&lt;br /&gt;
=== Primjer &amp;quot;Hello world!&amp;quot; programa ===&lt;br /&gt;
{{Glavni|&amp;quot;Hello, World!&amp;quot;}}&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class HelloWorldApp {&lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        System.out.println(&amp;quot;Hello World!&amp;quot;); // ispisuje string u konzolu&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Datoteke izvornog koda moraju biti imenovane prema javnoj klasi koju sadrže, uz ekstenziju {{Mono|.java}} (u našem slučaju HelloWorldApp.java). Ta će se datoteka kompajlirati u ''bytecode'' ekstenzije {{Mono|.class}}, što će dopustiti pokretanje koda. Moguće je imati samo jednu javnu ({{Mono|public}}) klasu u datoteci. Sve klase koje nisu javne mogu biti spremljene u bilo kojoj .java datoteci, no kompajlirat će se po jedna .class datoteka za svaku klasu, istog imena kao i klasa. Anonimne klase dobit će spojeni naziv njihove roditeljske klase, znaka $ i cijelog broja.&lt;br /&gt;
&lt;br /&gt;
==== Modifikatori razine pristupa ====&lt;br /&gt;
Svaka klasa i njezine metode (funkcije u klasi) imaju definirane razine pristupa, koje ograničavaju tko ih sve smije pozvati i tko ima pristup njihovim [[Varijabla|varijablama]] (u primjeru ključna riječ {{Mono|public}}. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!&lt;br /&gt;
!Klasa&lt;br /&gt;
!Paket&lt;br /&gt;
!Naslijeđena klasa&lt;br /&gt;
(isti paket)&lt;br /&gt;
!Naslijeđena klasa&lt;br /&gt;
(drugi paket)&lt;br /&gt;
!Ostalo&lt;br /&gt;
|-&lt;br /&gt;
|'''public'''&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
|-&lt;br /&gt;
|'''protected'''&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|nema modifikator&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
|ima pristup&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|'''private'''&lt;br /&gt;
|ima pristup&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
Klase zadano trebaju biti vezane za objekte (klasa definira tip objekta), i samo se putem objekta mogu pozvati varijable i metode neke klase, na primjer: &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class mojaKlasa {&lt;br /&gt;
  int x = 5;&lt;br /&gt;
&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    mojaKlasa mojObjekt = new mojaKlasa();&lt;br /&gt;
    System.out.println(mojaKlasa.x); //pogrešno&lt;br /&gt;
    System.out.println(mojObjekt.x); //ispravno - ispisuje 5&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Ključna riječ {{Mono|static}} ispred klase označava da se ta klasa ne treba instancirati, odn. ne treba biti vezana za objekt kako bi se pozvala:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public static class mojaKlasa { //statička klasa&lt;br /&gt;
  static int x = 5;             //statička varijabla&lt;br /&gt;
&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    System.out.println(mojaKlasa.x); //ovo je sada u redu&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Statičke metode ne mogu pristupiti ni jednom članu klase koji također nije statičan.&lt;br /&gt;
&lt;br /&gt;
Ključna riječ {{Mono|void}} označava da funkcija na koncu izvođenja ne vraća nikakvu vrijednost onome tko ju je pozvao. Ako Java program prestaje raditi uslijed greške, mora eksplicitno pozvati {{Mono|System.exit( int )}}, gdje je int cijeli broj, kako bi mogao vratiti broj pogreške (obično se broj 0 uzima kao završetak bez pogreške).&lt;br /&gt;
&lt;br /&gt;
Funkcija naziva {{Mono|main}} je točka ulaska u program. Funkcija mora primati niz (polje) stringova (string je niz znakova), u slučaju da se funkcija pokreće uz dodatne argumente, oni se spremaju u niz imena ''args.''&lt;br /&gt;
&lt;br /&gt;
Klasa {{Mono|System}} deklarira {{Mono|public static}} polje imena {{Mono|out}}. {{Mono|Out}} objekt je instanca klase {{Mono|PrintStream}}, koja pruža mnoge metode za ispis.&lt;br /&gt;
&lt;br /&gt;
== Izvori ==&lt;br /&gt;
{{Izvori}}&lt;br /&gt;
&lt;br /&gt;
== Vanjske poveznice ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.oracle.com/us/technologies/java/overview/index.html službena stranica ORACLE-a o Javi]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
[[Kategorija:Programski jezici]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>