Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: 7906277 OOMPAE 2000.

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Advertisements

Avlusning Debugger (”avlusare”) Breakpoints Watch.
INTRODUKTION TILL PROGRAMMERING
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Klasser och objekt.
Imperativ Programmering
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Klassarv och inkapsling
Objektorienterad Realtidsprogrammering
Metoder i java Det finns två typer av metoder i java
Polymorfism.
Välkommen Vahid Mosavat
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Programkodens uppbyggnad
Att programmera i språket Java
2D-grafik. Något om FrameWorks
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Strömmar Vid läsning och skrivning används något som kallas strömmar.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Alice in Action with Java
i olika programmeringsspråk
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Föreläsning 11 Arrayer.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Programmering i C# 3. Klasser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
Klasser och objekt Klasser, objekt och instansvariabler
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.
Objektorienterad Modellering Programmering och Analys
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
Föreläsning 14 ”Enkel” Filhantering.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Next previous Innehåll Del 1-trådar Del 2-URLer Del 1: Trådar Föreläsning 8.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Föreläsning 4 Klasser Och Objekt.
1. Ett problem/uppgift.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
INTRODUKTION TILL PROGRAMMERING
Class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde; int[] fall = new int[num]; //vattenflödet i vattenfallen.
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
TILLÄMPAD DATALOGI (TILDA) Övning 1 Marcus Hjelm
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
Presentationens avskrift:

next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000

previous next 2 Introduktion Java Momentets uppläggning och innehåll... Föreläsningar och övningar: introduktion till Java –På kursen 2D1360 ingår två introduktionsföreläsningar och en övning om och med Java. Resten av kursen samläses med 2D1359. Måndag 4/9 kl 8-10 –Java introduktion. Tisdag 5/9 kl –Mer om Java, framförallt via exempel. Onsdag 6/9 kl 8-10 –Första föreläsningen tillsammans med 2D1359. –Beskrivning av hela kursen och introduktion till objektorienterad programmering. Torsdag 7/9 kl –Java-övning.

previous next 3 Introduktion Java Java Java är konstruerat på SUN –Första versionen släpptes 1995 Starkt typat –Dvs det går att avgöra typkompatibilitet av alla uttryck i programmet vid kompileringstillfället. Virtuell maskin (VM) som gör det maskinoberoende –En speciell VM per plattformstyp överbryggar olikheter i plattformarnas arkitektur Klassbibliotek –språkklasser, stränghantering, grafik, gränssnitt, fönster, Internet, händelsehantering, processer, collections, mm Bindning till WWW –med applets och liknande Har fått sin huvudsakliga spridning via Internet Syntax som C. Semantik och klasser mer som Smalltalk

previous next 4 Introduktion Java Virtuell maskin källkod java bytekod Pc VM Mac VM Unix VM kompilera (javac) en virtuell maskin per plattformstyp kör (java)

previous next 5 Introduktion Java Java: mitt första "program" Skapa en fil med namnet MyFirstProgram.java Skriv följande kod i filen: import java.io.*; public class MyFirstProgram{ public static void main (String [] args){ System.out.println("Mitt första program!"); }

previous next 6 Introduktion Java... kompilera och kör Kompilera >javac MyFirstProgram.java Då genereras en körbar fil MyFirstProgram.class Kör genom att starta Javas virtuella maskin med program/klassnamnet som argument >java MyFirstProgram Mitt första program! Regeln är att klassens static void main-metod alltid exekveras

previous next 7 Introduktion Java Ett "Javaprograms" struktur En klass ser ut på följande sätt public class KlassNamn extends SuperKlassNamn{ attribut (instans- och klassvariabler) metoder (instans- och klassmetoder) konstruktörer } Kallas också för medlemmar En metod modifierare returtyp funktionsnamn(argument){ programsatser }

previous next 8 Introduktion Java Konstruera klass Klassnamn = filnamn –En klass skall ha samma namn som den fil den placeras i Klassen Circle i filen Circle.java En fil kan innehålla flera klasser men bara en av dem kan vara deklarerad public, –Det är den publika klassens namn som motsvarar filens Definition av klass, mall public class KlassNamn extends SuperKlassNamn{ Modifierare TypIvar1 ivar1; Modifierare MetodTyp metod1(TypArg1 arg1) {} public KlassNamn() {} } instansvariabler metoder konstruktörer

previous next 9 Introduktion Java Deklarera och instansiera Deklaration av instans KlassNamn variabelNamn; Instansiering variabelNamn = new KlassNamn(); alternativt, både deklaration och instansiering på en gång KlassNamn variabelNamn = new KlassNamn();

previous next 10 Introduktion Java Kompilera och köra Environmentvariabel –För bekväm hantering sätt path (se systemdokumentation) så att kompilator, virtuell maskin och bibliotek enkelt hittas Plattformsberoende hur detta går till Kompilera med javac filnamn javac KlassNamn.java –om allt går bra skapas då en fil med namnet KlassNamn.class Kör med java klassnamn java KlassNamn

previous next 11 Introduktion Java Sammanfattning enkelt program: Hello World public class Hello { public static void main(String[] args) { System.out.println("Hello World!"); } Det mesta i Java tillhör klasser Alla program måste ha en main() Spara i en fil med namnet Hello.java Kompilera med javac Hello.java Då skapas en binärfil Hello.class Kör med java Hello

previous next 12 Introduktion Java Typer I Java måste alla variabler och metoder deklareras med typ Typ variabel; Det finns primitiva typer som int, char, float och boolean int x; En variabel kan ges ett initialt värde vid deklarationen int x = 10; Man kan också använda typer som är implementerade som vanliga klasser String course = "PIM-99";

previous next 13 Introduktion Java Modifierare En modifierare kan användas för att ange vilka objekt som kan accessa en klass eller dess medlemmar (dvs dess attribut eller metoder), mest grundläggande är: static indikerar att medlemmen är klassvariabel eller klassmetod public medlemmen är accessbar överallt där dess klass är accessbar protected medlemmen endast accessbar i klassen, dess subklasser eller i aktuellt package (vi återkommer till package vid senare tillfälle) private medlemmen endast accessbar i den klass som definierar den ingen modifierare accessbar av andra klasser i samma paket

previous next 14 Introduktion Java Exempel public class BankAccount{ protected int balance = 0; public void deposit (int amount) { balance = balance + amount; } public void withdraw (int amount) { balance = balance - amount; } public int balance (){ return balance; }

previous next 15 Introduktion Java... BankAccount account1, account2; int transfer; account1 = new BankAccount(); account2 = new BankAccount(); account1.deposit(200); account2.deposit(100); transfer = 75; account1.withdraw(transfer); account2.deposit(transfer); account2.balance(); // resultat 175

previous next 16 Introduktion Java Sammanfattning: Konstruera klass Klassnamn = filnamn –En klass skall ha samma namn som den fil den placeras i Klassen Circle i filen Circle.java En fil kan innehålla flera klasser men bara en av dem kan vara deklarerad public, –Det är den publika klassens namn som motsvarar filens Definition av klass, mall public class KlassNamn extends SuperKlassNamn{ attribut (instans- och klassvariabler) metoder (instans- och klassmetoder) konstruktörer }

previous next 17 Introduktion Java Sammanfattning: Deklarera och instansiera Deklaration av instans KlassNamn variabelNamn; Instansiering variabelNamn = new KlassNamn(); alternativt, både deklaration och instansiering på en gång KlassNamn variabelNamn = new KlassNamn();

previous next 18 Introduktion Java Sammanfattning: Kompilera och köra Environmentvariabel –Sätt path- (environment-) variabel, dvs sätt den att (också) referera Javas katalog Kompilera med javac filnamn javac KlassNamn.java –om allt går bra skapas då en fil med namnet KlassNamn.class Kör med java klassnamn java KlassNamn

previous next 19 Introduktion Java Exempel: Klass Circle // Klassdefinition (utan extends medför subklass till Object) public class Circle { public double x, y; public double r; public double circumference(){ return 2 * 3.14 * r; } public double area(){ return 3.14 * r * r; } // för att testa det hela skriver vi en static main-metod public static void main (String args[]) { //Vi deklarerar en temporär variabel Circle circle; // och instansierar circle = new Circle();

previous next 20 Introduktion Java... forts... //vi ändrar några värden circle.x = 100; circle.y = 200; circle.r = 20; // vi gör några testutskrifter System.out.println("Cirkelns x-koordinat: " + circle.x + " och dess y-koordinat: " + circle.y); System.out.println("den har en radie också: " + circle.r); System.out.println( "metoden circumference ger omkretsen: " + circle.circumference()); System.out.println("och med area:" + circle.area() + " dess area"); }

previous next 21 Introduktion Java... och så sparar vi, kompilerar och kör Spara –Spara filen med samma namn som klassen med extension.java, dvs här Circle.java Kompilera javac Circle.java –Skapar en fil Circle.class Kör java Circle

previous next 22 Introduktion Java Exempel: Eka argument Skapa fil Echo.java (som ekar argumenten vid exekveringen) public class Echo { public static void main(String argv[]) { for(int i = 0; i < argv.length; i++) System.out.print(argv[i] + " "); System.out.print("\n"); } forloopar ser ut som i ANSI-C Kompilera javac Echo.java Kör java Echo detta är input

previous next 23 Introduktion Java In- och utmatning Textutmatning sker via klassen System System.out.println(...); –Där: System är en klass i java.lang out är en klassvariabel i System out är en instans av klassen PrintStream PrintStream har en instansmetod println som skriver ut text på terminalen Textinmatning sker också via klassen System char c = System.in.read() –Inmatningen måste dock ”fånga” undantag try{char c = System.in.read()} catch(IOException e){//fel har inträffat}

previous next 24 Introduktion Java Exempel: ”program” med teckeninmatning package Tests; import java.io.*; class TestIO_1_1 { public static void main(String [] args) { for(;;){ int in; try {in = System.in.read();} catch(IOException e) {in = -1;} if ((char) in == '0') return; System.out.println(in); }

previous next 25 Introduktion Java Exempel: dialog med stränginmatning package Tests; import java.io.*; class TestIO { public static void main(String [] args) throws IOException { System.out.println("TEST OF INTERACTION/1"); BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); for(;;) { System.out.print(">"); String line = in.readLine(); if (line.equalsIgnoreCase("quit")) break; if (line.equalsIgnoreCase("help")) System.out.println("To quit: write 'quit'"); else System.out.println("\teko: " + line); }

previous next 26 Introduktion Java Java: läsa argumenten som ges via terminalen public class ShowArgs { public static void main(String[] args) { for(int i=0; i<args.length; i++) System.out.println("Arg " + i + " is ” + args[i]); } java ShowArgs arg1 arg2 arg3 Testa med tex main for-loop

previous next 27 Introduktion Java … “använd” syntax I föregående exempel använde vi en for-loop –Syntaxen är följande: for(initialvärde; villkor; uppdatera) sats Andra loopkonstruktioner –while-loop while(villkor) sats –do-loop do sats while(villkor) Där en sats antingen är –enstaka sats som System.out.println(“Test”); –eller flera satser inom måsvingar som {x += 10; System.out.println(“X: “ + x); } for while do

previous next 28 Introduktion Java Java: exempel med bla villkor och modulo public class FizzBuzz { public static void main(String[] args) { for(int i = 1; i <= 100; i++) { if (((i % 5) == 0) && ((i % 7) == 0)) System.out.print("fizzbuzz"); else if ((i % 5) == 0) System.out.print("fizz"); else if ((i % 7) == 0) System.out.print("buzz"); else System.out.print(i); System.out.print(" "); } System.out.println(); } % är modulo

previous next 29 Introduktion Java Villkor Villkor kan skrivas if (uttryck) sats –eller if (uttryck) sats else sats Man kan ibland också använda ?: uttryck ? omSantVärde : annarsVärde Eventuellt switchar switch(heltal) { case värde1 : sats1; break; case värde2 : sats2; break; … default: satsN; }

previous next 30 Introduktion Java Java: fler exempel, Fibonacci public class Fibonacci { public static void main(String[] args){ int current, prev = 1, prevprev = 0; for(int i = 0; i < 20; i++) { current = prev + prevprev; System.out.print(current + " "); prevprev = prev; prev = current; } System.out.println(); }

previous next 31 Introduktion Java Java: ännu fler exempel public class Reverse { public static void main(String[] args) { // Loopa baklänges genom orden som ges som argument for(int i = args.length-1; i >= 0; i--) { // Loopa baklänges genom tecknen i varje argument for(int j=args[i].length()-1; j>=0; j--) { // Skriv ut tecken j i i:te argumentet. System.out.print(args[i].charAt(j)); } System.out.print(" "); } System.out.println(); }

previous next 32 Introduktion Java Java: exempel, iterativ fakultetsfunktion public class Factorial { public static int factorial(int x) { int fact = 1; for(int i = 2; i <= x; i++) fact *= i; return fact; }

previous next 33 Introduktion Java Java: exempel, rekursiv fakultetsfunktion public class Factorial2 { public static long factorial(long x) { if (x == 1) return 1; else return x * factorial(x-1); }