Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer inte era frågor och betalar inte era studielån Frågor? Vi är många men det brukar funka Å vem är jag då Johan Rum 21F 509 Tel 054 700 15 68 Mail Johan.Ofverberg@kau.se Systemvetare, gick ut -91 Högskolan i karlstad -91 - -97 Ericsson -97 - -99 Universitetet sedan -99 Karlstads Universitet, Johan 1
Föreläsning 3, 1:a i Java Miljö Eclipse Annan Begrepp och grunder Datatyper och variabler 1:a program Lite om allt Mjukvara Texteditor Kompilator Interpretator Java API import java.något.*; Generationer Maskinspråk 1100 0100 1010 Assembler L 1, Brutto S 1, Skatt Högnivåspråk printf( \nhej\n ); 1:a programmet public class HelloWorld { public static void main(string[] args) { /* * Detta är en kommentar * */ System.out.println("Hej Världen!"); //en till } } Karlstads Universitet, Johan 2
public class HelloWorld { Public är en åtkomstmodifierare Finns olika för klasser, metoder och attribut Class är ett reserverat ord Som i detta fallet används för att tala om att vi vill skapa en klass HelloWord är namnet jag hittat på Namnet på klassen skall vara det samma som namnet på källkodsfilen (OBS, case-sensitiv) public static void main(string[] args) { Static talar om att metoden hör till klassen Vi kommer alltså åt metoden utan att skapa ett objekt Detta är viktigt att först (så småningom) Void är returtypen (nästan) alla metoder har en returtyp Void main (String[] args) Är metodens signatur, namnet behöver inte vara unikt Betyder att metoden tar en vektor med strängobjekt som jag valt att kalla args System.out.println("Hej Världen!"); Enklaste sättet att skriva ut på skärmen I klassen System finns ett statiskt attribut som heter out. Då out är statiskt behöver vi inte skapa ett objekt för att köra metoden println Detta (borde vara) är svårt att förstå i början men är viktigt längre fram Karlstads Universitet, Johan 3
Lite blandat Källkodsfilen skall ha samma namn som klassen. Vi skriver en klass i varje fil. Filen skall ha extensionen.java Programmeringsfel Syntaxfel Semantiska fel Testning Något man gör för att hitta fel Testa aldrig din egen kod Delarna i Java Java virtual machine Mjukvara som emulerar en maskin i datorn Exekverar bytekoden En mellanform mellan källkod och objektkod som är maskinoberoende (men beroende av JVM) Garbage collector Sköter minneshanteringen Java API Application programming interface Och nu då? Var skriver vi källkoden? Jag föreslår eclipse Hur översätter vi källkoden till något som datorn förstår? javac Pgm.java Hur kör vi? java Pgm Om vi inte använder eclipse Visa miljön på denna datorn, inklusive API:t Karlstads Universitet, Johan 4
Separatorer Operatorer [ ] ( ) { }, ; = + - * / % Problemlösning Polyas problemlösningsmetod för programmering Förstå problemet Definitionsfasen Skapa en plan för lösningen av problemet Flödesschema, JSP, pseudokod... Utför planen Programmeringsfasen Utvärdera resultatet Testfasen Mer blandat Visa API:t Visa DOS-vägen Visa eclipse Skriv ett program som adderar två tal Obs, import till Scanner Ev formatering med printf Räkna ut BMI BMI=vikt/(längd i cm*längd i cm) Karlstads Universitet, Johan 5