Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)
|
|
- Rasmus Andersson
- för 9 år sedan
- Visningar:
Transkript
1 Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades i början Oak men döptes senare om till Java eftersom det redan fanns ett språk som hette Oak. Det blev inget lyckat projekt och det hände inget mer. Men när Internet och www-utvecklingen på allvar tog fart 1995, så insåg man att Java var som klippt och skuren för Internet och så dammade man av och fräschade upp Java igen. Java började användas på webben 1996 då Netscape gav möjlighet att använda det i sin browser. Programmeringsspråket Java Java används dels för att skapa applikationer (vanliga program) som startas och körs lokalt på en dator, dels för att skapa applets (små program) som distribueras över Internet och körs lokalt (på hårddisken) hos besökaren. Applets gör att din hemsida blir mer interaktiv. Några av Javas karaktärsegenskaper är: Objektorienterat Ett av de dominerande tillvägagångssätten vid modern programmering är objektorientering. Mycket kortfattat går det ut på att programmen delas upp på mindre delar - objekt - som vart och ett har en uppsättning data, och metoder för att utföra vissa uppgifter. Portabelt Synonymt med plattformsoberoende, dvs kan köras på många olika datortyper (såväl en Unix arbetsstation som på en PC) utan att behöva anpassas först. Det enda kravet för att de ska kunna köras är att användaren har en web-läsare som kan hantera Java-kod (att den har en javatolk). Dynamiskt Bara de objekt som behövs för en given uppgift kommer att laddas. Enkelt och robust -Automatisk minneshantering -Inga pekare (vanligaste orsaken till fel i program) -Noggrann säkerhetskontroll både vid kompilering och när programmet skall köras Flertrådat Flertrådskörning (multithreading) är en modern teknik som medger en snabbare och effektivare körning av krävande program. Utökat med ett rikt förråd av färdiga paket T.ex. klasser som hanterar grafiska gränssnitt på ett enhetligt sätt (java.awt) och klasser för kommunikation över TCP/IP-nät (java.net). Skillnaderna mellan Java och C++ Man kan säga att Java är efterföljaren till C++. Programmerarna som konstruerade Java sneglade en hel del på C++ och såg till att anamma de bra bitarna. Eftersom Java konstruerades med Internet som användningsområde anpassade man det dessutom speciellt för nätverk. Men den absolut viktigaste skillnaden är graden av objektorientering. C++ uppmuntrar bara programmeraren att använda objektorientering medan Java tvingar programmeraren att använda det. Detta beror på att C++ konstruerades för att vara bakåtkompatibelt med C. JVM (Javas Virtuella Maskin) För att förstå tekniken bakom Javas Virtuella Maskin måste vi först ha lite allmän kunskap om de olika sätt datorprogram kan "skapas". Eftersom vi människor inte har direkt lätt för att förstå innebörden av ändlösa strängar av maskinkod skapade man redan i tidernas begynnelse olika "språk" som människor relativt enkelt kunde förstå och som dessutom kunde översättas till maskinkod vilka i sin tur datorerna förstår. Ganska snart bildades en uppsjö av olika språk och själva översättningstekniken kom att utvecklas åt två skilda grenar. Kompilerande språk och Interpreterande språk. /PB Sida 1
2 Kompilerande språk I kompilerande språk översätts språkets instruktioner (koden) till maskinkod av en kompilator som körs vid skapandet av programmet. Vid kompileringen är det också brukligt att kompilatorn analyserar koden och gör den snabbare och mer effektiv (optimering). Detta är en ganska tidsödande process, speciellt om man p.g.a. diverse fel tvingas kompilera om koden många gånger. Men i gengäld så får man en mycket effektiv och snabb kod när den väl är översatt (kompilerad). Exempel på kompilerande språk är: Assembler, C och Pascal. En kompilator översätter hela koden på en gång. Interpreterande språk Genom att helt enkelt låta bli att översätta koden till ettor och nollor förrän den berörda instruktionen i programmet exekveras så slipper man de irriterande väntetiderna som uppstår vid kompilering. De största nackdelarna med interpreterande språk är att de måste översättas varje gång man kör dem och att de inte kan optimeras på samma sätt som kompilerade program. Detta gör dem i regel ganska långsamma. En annan nackdel är att man måste skicka med själva Interpreten med programmet. Ett exempel på ett Interpreterande språk är Basic. En Interpreterare översätter koden allt eftersom den exekveras. Java, en kompromiss Java kan sägas vara en blandning mellan ett kompilerande språk och ett interpreterande språk. Det som händer är att källkoden(en fil med filändelsen.java) kompileras (översätts) till *bytekod* som lagras i en ny fil (med filändelsen.class). Denna procedur behöver bara utföras EN gång. Denna bytekod är plattformsoberoende och kan förstås av JVM (Javas Virtuella Maskin). När man skriver java Hej eller öppnar en applet i webbläsaren läses instruktionerna in och översätts till plattformsspecifik kod av JVM. Denna procedur måste upprepas VARJE gång programmet ska köras. JVM är egentligen inget annat än en vanlig interpreterarare. JVM är hemligheten bakom Javas plattformsoberoende. Fördelen med detta system är att koden blir plattformsoberoende. Nackdelarna är att koden inte kan optimeras fullt ut och att JVM måste vara närvarande för att programmen ska kunna exekveras. På detta vis har Java fått ryktet om sig att vara långsamt. JIT kompilatorer För att råda bot på hastighets problemen har en ny sorts Javakompilatorer utvecklats s.k. JIT (Just In Time) kompilatorer. De ersätter den gamla VM (Virtuella Maskinen) genom att istället för att som förut interpretera bytekoden, kompilera den direkt till maskinkod. Detta möjliggör att viss optimering kan utföras, eftersom denna kompilering och optimering sker varje gång applikationen eller appleten exekveras kan optimeringen inte vara för avancerad och tidsödande. Dessa JIT kompilatorer måste precis som JVM finnas närvarande för att programmen ska kunna köras. Det håller hela tiden på att utvecklas nya intelligentare versioner av dessa JIT kompilatorer som bara kompilerar och optimerar de delar av programmen där det verkligen behövs. Faktum är att Javas hastighet nu börjar kunna mäta sig med C++ i vissa avseenden. En JIT kompilator kompilerar bytekoden istället för att interpretera den. En programmerare skriver sin kod (kallas för källkod) och sparar den som en.java fil (textfil). Den kompileras sedan i en kompilator (ex. JDK) och sparas som en.class fil (bytekod). Detta innebär att du som användare/hemsidessnickrare inte kan gå in i en.class fil och ändra på något. Man kan nästan säga att en bytekodsfil är ett program och en.exe fil går man inte in och ändrar i. /PB Sida 2
3 Första programmet Skriv in följande kod.och spara filen som FirstProgram.java. public class FirstProgram //Skapar en klass vid namn FirstProgram public static void main(string args[]) System.out.println("Hejhopp, min första Java-applikation!"); Kompilera nu källkoden. Nu skapas en fil vid namn FirstProgram.class. Eventuellt kommer det nu ett eller flera felmeddelanden som behöver åtgärdas. Kör nu programmet. Om allt har fungerat som det var tänkt kommer du att se meddelandet Hejhopp, min första Javaapplikation! på skärmen. Rad1: class Hejhopp //Skapar en klass vid namn Hejhopp Med "class Hejhopp" skapar vi en klass och döper den till FirstProgram och eftersom denna klassen innehåller programmets "main" metod måste även själva källkodsfilen döpas till FirstProgram.java. Rad2: public static void main(string args[]) Detta är syntaxen för den huvudmetod (main) som måste finnas i alla Javaprogram jfr med C++ main. Nyckelordet "public" betyder att metoden är synlig och anropningsbar av andra klasser vilket är ett krav för mainmetoden. "static" betyder i det här fallet att man inte behöver tillverka ett objekt av klassen Hejhopp för att kunna anropa metoden main. "void" är ett bekant begrepp för er C++ programmerare. Returntypen void används när man vill tala om att man inte vill att metoden ska returnera något värde. Om du velat att metoden skulle returnera ett heltalsvärde skulle du skrivit int istället för void. "main" är namnet på metoden. "(String args[ ])" betyder att metoden main tar emot meddelanden (argument) av typen sträng vektorer. Datatyper Namn Minnesutrymme Typ Övrigt int 4 heltal till short 2 heltal till long 8 heltal 9miljadersmiljarder float 4 decimaltal 3.4*10 38 double 8 decimaltal 1.8* char 2 tecken UNICODEstandard (ASCII är en delmängd), t ex char yeschar= y ; boolean boolskt värde, Sant resp Falskt true eller false String strängar av T ex string str= HEJ ; tecken int[] heltalsarray T ex int[] tallista=1,2,3; eller t ex int tallista[3]; /PB Sida 3
4 Variabelnamn Variabelnamn i Java måste börja med en bokstav, sen kan namnet bestå av vilka tecken som helst, dock inte mellanslag. Det underlättar betydligt om man håller sig till ett system när man namnger sina variabler. Ungersk notation är ett av de mest använda. Då börjar alla variabelnamn med liten bokstav och har stora bokstäver för första bokstaven i alla efterföljande ord. T ex : int antaleleversomtyckerjavaärroligt (var noga med stora/små bokstäver eftersom Java gör skillnad på dem) char Datatypen char fungerar lite annorlunda, den kan som vi redan sagt lagra tecken. Egentligen lagras aldrig några tecken i variabler av typen char, det som lagras är ett tal som i sin tur representerar ett tecken. Det finns en tabell som översätter tecknen till tal och tvärt om. Den tabell som Java använder kallas Unicode och kan hantera olika tecken. Som tur är sköter Java denna "översättning" helt automatiskt, bara vi inte glömmer att omge tecknet som ska översättas med apostrof tecken ( ' ). För att skapa en char variabel som lagrar bokstaven A skriver vi bara följande: char bokstava = 'A'; För att sedan ta reda på vad tecknet A har för "värde" enligt Unicode tabellen kan vi skriva följande: int A = bokstava; För att lagra tecken 168 enligt Unicode tabellen i variabeln teckenettsexåtta skriver vi följande: char teckenettsexåtta = 168; Operatorer Eftersom Java har lånat sin syntax direkt från C++, har ni som har erfarenhet av C++ programmering ett litet försprång. Vi börjar med det som kanske är lättast att förstå, operatorerna. I Java finns följande operatorer +, -, *, /, = och %. Prioritetsordning är samma som i C++. Val Val är någonting som ofta behöver göras både i vanliga livet och i datorprogram. Det kanske enklaste sättet att göra val är att använda någonting som kallas för en "if" sats. Den ser ut så här: if (booleskt uttryck) else (booelska uttryck är uttryck som antingen är sanna (true) eller falska (false)). /PB Sida 4
5 Loopar I Java finns det tre olika sätt att utföra upprepningar eller loopar som de också kallas. while Den enklaste är while loopen. Den ser ut som följande: while (booleskt uttryck) while loopen fungerar så här: Om det booleska uttrycket är sant utförs alla satser mellan "måsvingarna". Satserna fortsätter att utföras i en loop ända tills det booleska uttrycket blir falskt. Om uttrycket är falskt redan från början utförs INGA av satserna. do - while Den andra loopen heter do-while loopen. Enda skillnaden mellan do-while loopen och while loopen är att i dowhile loopen utförs alltid satserna mellan måsvingarna minst en gång. do-while loopen ser ut så här: do while (booleskt uttryck); do-while loopen fungerar så här: Först utförs alla satser mellan måsvingarna en gång, sen kollas om det booleska uttrycket är sant, och är så fallet fortsätter satserna mellan måsvingarna att utföras ända tills det booleska uttrycket blir falskt. Om det booleska uttrycket skulle vara falskt redan från början utförs satserna, till skillnad från den vanliga while loopen, ändå EN gång. for Den tredje loopen heter for loopen och används för att utföra någonting ett bestämt antal gånger. For loopen är den mest komplexa av de tre looparna och ser ut så här: for (räknarvariabel; booleskt uttryck; ändringavräknare) satser; Den fungerar så här: Först lagras eller skapas den räknarvariabel som används till räknaren, sen kollas det booleska uttrycket och om det är sant utförs satserna mellan "måsvingarna". När loopen gått ett varv utförs ändringen av räknaren. for (int i = 0; i<100; i++) sats1;.. sats8; Denna for loop gör så att satserna 1 till och med 8 utförs 100 gånger. /PB Sida 5
6 Ytterliggare exempel: import java.util.scanner; public class SecondProgram public static void main(string[] args) int heltal; double decimaltal, produkt=0; Scanner sc = new Scanner(System.in); System.out.println("Hejhopp, min andra Java-applikation!"); System.out.print("Skriv in ett decimaltal(med kommatecken) som du vill "); System.out.println("multiplicera med ett heltal."); decimaltal = sc.nextdouble(); System.out.println("Skriv in heltalet."); heltal = sc.nextint(); produkt = decimaltal * heltal; System.out.println("Produkten = " + produkt ); System.out.println(" ** Svaret kom ut med punkt. Hej då! ** "); //slut på main-funktionen Några kommentarer. För inläsning från skärmen använder vi ett färdigt paket som heter Scanner. Det innehåller användbara metoder för inmatning av värden till programmet. För att komma åt dessa så skapar vi först ett objekt, i vårt fall sc, av typen Scanner. När vi har det så kan vi komma åt metoderna som finns i paketet med punktnotation. Vilka metoder som finns får man läsa om i böcker, webbsidor, och framför allt på Java s (Sun s) egna sidor. I övrigt kan vi nog lista ut vad programraderna gör. /PB Sida 6
7 Exempel 3 visar en do-while loop import java.util.scanner; public class ThirdProgram public static void main(string[] args) int heltal; double decimaltal, produkt=1; Scanner sc = new Scanner(System.in); System.out.println("Hejhopp, min tredje Java-applikation!"); do System.out.print("Skriv in ett decimaltal som du vill "); System.out.println("multiplicera med kommande tal."); decimaltal = sc.nextdouble(); produkt *= decimaltal; System.out.println("Produkten = " + produkt ); System.out.println("Vill du fortsätta, Ja=1, Nej=0?"); heltal = sc.nextint(); while (heltal==1); System.out.println(" *** Hej då! *** "); //slut på main-funktionen Exempel 4 visar hur man skapar en array, i detta fall för decimaltal import java.util.scanner; public class FourthProgram public static void main(string[] args) double summa=0; double[] decimaltal = new double[5]; Scanner sc = new Scanner(System.in); System.out.println("Hejhopp, min fjärde Java-applikation!"); System.out.println("Skriv in fem heltal som ska adderas. "); for (int i=0; i<5; i++) System.out.print("Skriv in tal "+ (i+1) +" : "); decimaltal[i] = sc.nextdouble(); for (int i=0; i<5; i++) summa += decimaltal[i]; System.out.println("Summan = " + summa ); System.out.println(" *** Hej då! *** "); //slut på main-funktionen /PB Sida 7
8 Övningar Övning J1.1 Skriv ett program som läser in två heltal och skriver ut förutom produkten av talen även summan. Om du t.ex. matar in 30 och 10 ska du få följande utskrift: RESULTAT ============ Produkten : 30 * 10 = 300 Summan : = 40 Övning J1.2 Läs in tre decimaltal a, b och c och beräkna och skriv ut medelvärdet, (a+b+c)/3. Övning J1.3 Skriv ett program som läser in två tal och skriver ut det största av dessa två. Övning J1.4 Skriv ett program som läser in tre tal och skriver ut det största av dessa tre. Övning J1.5 Skriv ett program som läser in ett okänt antal tal och beräknar dess summa, som skrivs ut. Tips: t ex om man läser in talet 0 (noll) så hoppar man ur loopen och programmet avslutas. Övning J1.6 Läs in 10 st tal. Lagra dessa i en array. Läs in ytterligare ett tal, kontrollera och skriv ut hur många av de tidigare talen som är större än detta tal. Övning J1.7 Läs in 10 domarsiffror i backhoppning, alla givna med en decimal. Beräkna och skriv ut slutpoängen, som är lika med medelvärdet av de 8 som är kvar då det största och det minsta värdet tagits bort. Skriv först ut alla de ursprungliga domarsiffrorna, sen de återstående efter det att man tagit bort det största och minsta. /PB Sida 8
(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merOOP Objekt-orienterad programmering
OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merIntroduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
Läs merJava: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merObjektorienterad programmering i Java
bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merTDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs merNetBeans 7. Avsikt. Projektfönster
NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merHej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merIntroduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Läs merTentamen , Introduktion till Java, dtaa98, dtea53
Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
Läs merProgramstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser
// En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa
Läs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Input/Output Programsatser Selektion Output OOP F2:2 Görs via System.out, anropa antingen print eller println: System.out.print("Hej"); System.out.println(
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merInledande programmering med C# (1DV402) Introduktion till C#
Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merSystem.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);
1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merJAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Läs merAnteckningar 1: Grundläggande saker
UPPSALA UNIVERSITET Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv11/pst1/ Programmering för språkteknologer I Anteckningar 1: Grundläggande saker 1 Programmering
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
Läs merÖvning2. Variabler. Data typer
Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man
Läs merDagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?
Programmeringsteknik och Matlab Övning 2 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merGrundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1
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
Läs merIteration while-satsen
Datatypen double TDA143 I1 Programmerade system Föreläsning 3 (OH-bilder 3) Iteration while-satsen Christer Carlsson I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna,
Läs merFöreläsning 3: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
Läs merNetBeans 5.5. Avsikt. Projektfönster
NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs merProgram & programmering
Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,
Läs merFöreläsning 3. Iteration while-satsen
Föreläsning 3 Iteration while-satsen Datatypen double I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merJAVAUTVECKLING LEKTION 4
JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet
Läs merKompilera och exekvera Javakod
Kompilera och exekvera Javakod Förberedelser För att kunna göra dessa övningar måste du ha installerat Java Development Kit, JDK, som bland annat innehåller Java kompilatorn, javac. Hur du installerar
Läs merEditering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Läs merKort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel
Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1310/
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Läs merFöreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
Läs merEclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.
Eclipse Avsikt Att bekanta dig med Eclipse programmeringsmiljö, dvs att med hjälp av Eclipse 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till byte-kod
Läs merFöreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program
Föreläsning 1 Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program Deitel: 1.1-1.9, 2.1-2.3 DA101A Programmering Programmering, DA101A Kursansvarig:
Läs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion Deklaration och tilldelning OOP F2:2 int x; double d; char ch; boolean
Läs merLaboration 1. "kompilera"-ikonen "exekvera"-ikonen
Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva
Läs merTDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
Läs merKlasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.
TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program
Läs mer2D1339 Programkonstruktion för F1, ht 2004
2D1339 Programkonstruktion för F1, ht 2004 Kontrollskrivning 1 Onsdag 24/11 2004 kl 11.15 12.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Läs mer1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.
1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som
Läs merLäsanvisning: Dessa OH bilder samt kap 1-3
f1pt F 2 Läsanvisning: Dessa OH bilder samt kap 1-3! typer, variabler och tilldelning! primitiva typer, fördefinierade primitiva typer! uttryck, operatorer, prioritet, typomvandling,! Javas API, klassen
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merObjektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ
orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]
Läs merOOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson
OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:
Läs merVisual Basic, en snabbgenomgång
Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika
Läs merObjektorienterad programmering Föreläsning 2
Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade
Läs merLite logik. Kap 6: Sid 2
6 Loopar och val Lite logik Val mellan två alternativ Val mellan flera alternativ Sammansatta villkor Boolska variabler Jämför strängar While-loopar Do-loopar For-loopar Kortformer Kap 6: Sid 2 Lite logik
Läs merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs merF2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander
F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng
Läs merObjektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Läs merFöreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER
Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Logiska uttryck datatypen boolean Logiska uttryck kan ha två möjliga värden, true eller false. Variabler av typen boolean kan tilldelas
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Arrayer Metoder Räckvidd (Scope) Eclipse
Läs merTUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
Läs merTentamen , Grundläggande programmering i Java
Institutionen för informationsteknologi och medier Sid:1(3) Grundläggande programmering i Java Martin Kjellqvist Lösningsförslag, lösningsansatser Tentamen 2006-01-20, Grundläggande programmering i Java
Läs merChapter 4: Writing Classes/ Att skriva egna klasser.
Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad
Läs merLaboration 1. "kompilera"-ikonen "exekvera"-ikonen
Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i
Läs merÖvning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program
Datateknik A, Syfte: Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Att läsa: Lektion 1 Antal uppgifter: 3 Inlämning: Sker via inlämningsuppgifter
Läs merTentamen på kursen DA7351, Programmering 1. 051102, kl 08.15-12.15. Malmö högskola Teknik och samhälle. DA7351, Programmering 1 1 051102
Tentamen på kursen DA7351, Programmering 1 051102, kl 08.15-12.15 Tillåtna hjälpmedel: Valfri bok om Java. Vid bedömning av lösningarna tas hänsyn till om dessa uppfyller de krav på programkvalitet (strukturering,
Läs merFöreläsning 1-2 innehåll
Föreläsning 1-2 innehåll Om kursen Kursens mål och innehåll Praktisk information om kursen Programmering program, algoritmer variabler, datatyper och tilldelningssatser läsa in värden från tangentbordet,
Läs merTentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Läs merBankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Läs merÖversikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22
Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering
Läs mer"if"-satsen. Inledande programmering med C# (1DV402)
"if"-satsen Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket if-satsen
Läs merAtt deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
Läs merInstuderingsfrågor, del D
Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt
Läs merFöreläsning 3. Iteration. while-satsen for-satsen do-satsen
Föreläsning 3 Iteration while-satsen for-satsen do-satsen Datatypen double De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har en begränsad storlek och representerar således
Läs merIntroduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++
Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 01-015 L0 - Grunder i C++ Det här är den första lektionen i kursen Introduktion till algoritmer vid Matematikgymnasiet, läsåret
Läs merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs merLite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet
Programmering hh.se/db2004 Föreläsning 4: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite om reella tal Vad kan man göra med reella tal? Utöver de
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs mer