210 likes | 454 Views
Java. Programski jezik. Java. Java – programski jezik razvit pri podjetju Sun ( http://java.sun.com ) Java NI JavaScript – gre za dva različna jezika Samostojni programi Programi (programčki) za splet Applet Neodvisnost od operacijskega sistema / strojne opreme Vmesna koda (enaka)
E N D
Java Programski jezik
Java • Java – programski jezik razvit pri podjetju Sun (http://java.sun.com ) • Java NI JavaScript – gre za dva različna jezika • Samostojni programi • Programi (programčki) za splet • Applet • Neodvisnost od operacijskega sistema / strojne opreme • Vmesna koda (enaka) • tolmači jo javanski stroj (JVM) • ta je specifičen za vsako okolje
Zgodovina • JAVA TECHNOLOGY: AN EARLY HISTORY • http://java.sun.com/features/1998/05/birthday.html • A Brief History of the Green Project by James Gosling • http://java.sun.com/people/jag/green/index.html • Marc Abrams, ed., World Wide Web - Beyond the Basics, Prentice Hall, 1998 • http://ei.cs.vt.edu/~wwwbtb/book/chap1/java_hist.html • The Story of the Java Platform on the java.sun.com Web site • http://java.sun.com//nav/whatis/storyofjava.html • The Java Saga by David Bank in Wired • http://www.wired.com/wired/archive/3.12/java.saga.html • The JavaTM Platform: Five Years in Review • http://java.sun.com/features/2000/06/time-line.html • Glej tudi: Nina Kerčmar, Prvi koraki v Javi, diplomska naloga, FMF, 2006
Programčki Brskalniki (preko HTML) podpirajo izvajanje programov, napisanih v programskem jeziku Java Preko spleta se prenese ustrezni program (*.class datoteka(e)) na naš računalnik (kot se prenese npr. slika) Brskalnik z vgrajeno podporo za Javo ta program izvede (lokalno, na našem računalniku) Določeni problemi: nepopolna podpora, varnost (čeprav ...) ...
Samostojno pisanje • Programčke lahko napišemo tudi sami • Potrebujemo • Prevajalnik za javo • JavaSDK (brezplačno razvojno okolje) (SUN) • JBuilder (Borland), IBM Visual Age for Java, ... • Znanje programskega jezika java • Programčke bomo pisali kasneje, zaenkrat bomo pisali samostojne programe (take, ki se ne izvajajo znotraj spletnih strani) • Potrebujemo • Prevajalnik za javo • JavaSDK (brezplačno razvojno okolje) (SUN) • JBuilder (Borland), IBM Visual Age for Java, ... • Javanski navidezni stroj (JVM) • Prej je bil že v sklopu brskalnika • Običajno ga dobimo tudi skupaj s prevajalnikom • Samostojno: • SUN: JRE (Java Runtime Environment) • Še vedno: • Znanje programskega jezika java
Priprava JavaSDK Različica 1.6.0_06 (čisto vseeno če 1.4.2) Java SE 6 Update 10 (tudi starejše še čisto Ok) CD drJava Okolje za delo z Javo NE vsebuje prevajalnika ali JVM TextPad Preizkusni program Že “pozna” Javo Configure/Preferences/Tools Add / Java SDK Commands
Prvi program • TextPad • Urejevalnik teksta • Že pripravljeno okolje za prevajanje • Lahko uporabimo tudi Beležnico ali poljubni drugi urejevalnik ... (kot za pisanje datotek HTML) • Glej CD • Zelo pomembno poimenovanje datotek, velike/male črke, ... • Prvi.java • Prevedemo v Prvi.class • Naj nas ne moti, če večine stvari v kodi ne razumemo • Trenutno je to pač recept
Prvi program public class Prvi { public static void main(String[]nekaj) { // Prvi program v javi System.out.println("Moj prvi program v javi!"); } }
"okostje" public class Ime_razreda { public static void main(String[] args) { .... } }
Izpisovanje System.out.print(niz); System.out.println(niz); public class Naslov { public static void main(String[] args){ System.out.print("Matija"); System.out.println("Lokar"); System.out.print("Kranj"); } }
drJava Nameščeno mora biti JavaSDK ali drugo izvajalno javansko okolje Le prekopiramo JAR datoteko Poženemo z dvoklikom na to datoteko Interactions Okno za neposredno izvajanje ukazov
System.out.println • Metoda za izpis na zaslon • Izpisovanje nizov: • System.out.println("To je niz"); • System.out.println("Presledek je del niza le, ce je med narekovaji"); • System.out.println( "Matija"); • System.out.println("Izpis \" narekovaja"); • System.out.println("Kaj\nje\nto"); • System.out.println("Kaj\tje\tto");
Posebni znaki \n – prehod v novo vrsto \" – narekovaj znotraj niza \t – tabulator \\ – \ znotraj niza
Konstante • 12, 327469, -56.98329, 344.34, "bla", ... • Števila • Zaporedja znakov (nizi) • Cela števila • Decimalna števila • Decimalna pika • Razlika od matematičnega pojma števila • Končnost • Nenatančnost • Nizi • Zaporedja znakov med " • "Brez Jave mi živeti ni" • "Danes se strahotno dolgočasim" • "1 + 1 = 3"
Izpisovanje vrednosti System.out.println(14); System.out.println(-14.892); System.out.println(1 + 2); System.out.println(1 + 2 * 3); System.out.println(1.2 + 2.5); System.out.println(1 / 2); System.out.println(1.0 / 2); System.out.println((1 + 2) * (3 + 4));
Računanje +, -, /, *, % * - znak za množenje OPERATOR RAZLAGA UPORABA REZULTAT + vsota 3.4 + 2 5.4 - razlika 3 - 2 1 * množenje 3.5 * 2 7.0 / deljenje 3.0 / 2 1.5 / deljenje 3 / 2 1 % ostanek 13 % 7 6 / - celoštevilsko ali "pravo" % - ostanek pri deljenju
println in print System.out.println(nekaj); == System.out.print(nekaj); System.out.println(); System.out.print("Jaz sem "); System.out.println("Matija"); System.out.println("Jaz sem Matija"); System.out.print("1321 * 2314 = "); System.out.println(1321 * 2314); System.out.print("1321 * 2314 = 1321 * 2314"); System.out.print("1321 * 2314 = " + 1321 * 2314);
Stikanje nizov • + • System.out.println("A" + "B" + "C"); • je isto kot • System.out.println("ABC"); • "AAA" + " " + "BBB" = "AAA BBB" • Kaj če "mešamo" nize in števila • "2 * 3 = " + 2 * 3 • Število se pretvori v niz! • "2 * 3 = " + 6 • "2 * 3 = " + "6" • "2 * 3 = 6"
Nizi • Niz • Zaporedje znakov med " • "Mojca" • "Tudi v nizu imamo lahko take \" narekovaje" • Nize lahko "seštevamo" • "Mojca" + "Urša" → "MojcaUrša" • Stik nizov (brez presledkov!) • System.out.println("Pozdravljen " + "Anže!")
Prioritete opracij • Več operacij – izvajanje glede na prioriteto • Kot smo navajeni • *, /, % pred +, - • Več enakih – od leve proti desni • "aaa" + "bbb" + "ccc" • "aaabbb" + "ccc" • "aaabbbccc" • 2 + 3 + 5 • 5 + 5 • 10 • Lahko spremenimo z oklepaji
Problemi public class Narobe_semantika2 { // Sintaktično pravilen, a semantično napačen program public static void main(String[] g) { System.out.println("Vsota stevil 2 + 3 = " + 2 + 3); } } "Vsota stevil 2 + 3 = " + 2 + 3 "Vsota stevil 2 + 3 = 2" + 3 "Vsota stevil 2 + 3 = 23" "Vsota stevil 2 + 3 = " + (2 + 3) "Vsota stevil 2 + 3 = " + 5 "Vsota stevil 2 + 3 = 5"