Föreläsning 2 Kort Översikt Över Javaspråket
Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för Macintosh Java VM för Windows.java.class ÅÄÖ… … använd helst inte dessa som namn på identifierare.
Ett Första Program OBS!! I Java-applikationer måste det finnas en main-metod! public class FirstApp { public static void main(String[] args) { System.out.println("Java!"); } }
Main-metoden public = tillgänglig utanför klassen static = klassmetod void = returnerar inget värde main = namnet på metoden String[] args = array av strängar (argument) public static void main(String[] args) public static void main(String[] args) { System.out.println(args[0]); }
Kommentarer Används för att göra ett programs källkod lättare att läsa Enradskommentar // Resten av raden är en kommentar Blockkommentar /* Blockkommentarer kan vi använda när vi vill kommentera över flera rader */ Dokumentationskommentar /** Dokumentationskommentar */
Identifierare Är ett namn för t.ex en variabel Kan bestå av bokstäver, siffror, _ och & Får inte börja med siffra Kan innehålla valfritt antal tecken Java gör skillnad på STORA och små bokstäver
Primitiva datatyper Java har stöd för ett antal för- definierade datatyper booleantrue/false char(16-bita Unicode) byte, short(16-bitars heltal) int(32-bitars heltal) long(64-bitars heltal) float(32-bitars flyttal) double(64-bitars flyttal) Av dessa kan variabler deklareras String kan ses som primitiv datatyp
Variabler Är en plats i datorns minne Används för att spara data Måste deklareras med datatyp och namn innan de används // Olika exempel på deklarationer int heltal; int heltal2; double stortDecimaltal; char ettTecken; boolean sant, falskt; float 1tal; // EJ TILLÅTET NAMN int talet = 14; String s = "Java är kul!";
Escape-sekvenser Dessa escape-sekvenser finns: \nInfogar en radbrytning \tInfogar en tabbstop \\Skriver ut en ’backslash’ \"Skriver ut en ’dubbelfnutt’ Dessa koder kan användas för åäö åalt äalt öalt Åalt + ???? (någon som vet) Äalt Öalt
Operatorer Används i uttryck tillsammans med de fördefinierade typerna Aritmetiska+ - / * (++, --) Jämförelse = == != Booleska&& || ! Bitoperatorer& | ~ Skiftoperatorer > >>> Tilldelning=
Kontrollflöden Kontrollflödeskonstruktionerna i Java är: Villkorskonstruktioner: if-else och switch Iteration: while, do-while och for Avbrott: break, continue och return
Klasser Och Objekt Javaprogram beskrivs i klasser En klass är en typdefinition av något En klass består av fält och metoder fält: data som ska associeras till klassen metod: operationer som ska utföras Klass Fält (medlemsvariabler) Metoder Satser Villkor Iterationer (loopar)
Stina: Person name = "Stina" pnr ="780421" typ Objekt Kalle: Person name = "Kalle" pnr ="710123" typNamn Fält (data) Metoder (beteende) Klass Person - Name : String - Pnr : String + setName (n:String) + getName : String + setPnr (p:String) + getPnr : String Klasser Och Objekt Av klassen skapas objekt… …som är förekomster av klassen
Koden För Klassen Person public class Person { // Fält private int pnr; private String namn; // Metoder public void setNamn(String namn) { this.namn = namn; } public String getNamn() { return namn; } }
Operatorer (forts) ”Special” operatorer: new – skapa objekt av en klass Person olle = new Person("Olle", "710123"); (cast) – ändra typ på ett uttryck instanceof – testa typen på objekt double a = 12.7; int b = (int)a; // b har nu värdet 12 if (olle instanceof Person) System.out.println("Olle är en person"); else if (olle instanceof Djur) System.out.println("Olle är ett djur");
Arv Nya klasser skapas av befintliga Har samma egenskaper Kan lägga till eller göra om Fordon PersonbilLastbilSportbilTerrängbil