String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Relevanta dokument
SMD 134 Objektorienterad programmering

Föreläsning 3-4 Innehåll

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

OOP Objekt-orienterad programmering

725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack

F4. programmeringsteknik och Matlab

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Typkonvertering. Java versus C

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer

Objektorienterad Programmering (TDDC77)

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

Föreläsning 3: Booleans, if, switch

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Föreläsning 8: Exempel och problemlösning

JAVAUTVECKLING LEKTION 8

SCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

Introduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014

Tentamen , Introduktion till Java, dtaa98, dtea53

Programmering för språkteknologer II, HT2011. Rum

Föreläsning REPETITION & EXTENTA

Planering av ett större program, del 2 - for och listor. Linda Mannila

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl Hjälpmedel: En Javabok. För betyget godkänt krävs at

Den som bara har en hammare tror att alla problem är spikar

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

Klassdeklaration. Metoddeklaration. Parameteröverföring

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

OOP Objekt-orienterad programmering

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

D0010E. Hello world! Nedräkning. Sågtand. Övningsuppgifter i Eclipse. Skapa ett program som skriver ut "Hello world" på skärmen.

Instuderingsfrågor, del D

Skriftlig tentamen för kursen DV017A. Inledande programmering i Java A

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Föreläsning ALGORITMER: SÖKNING, REGISTRERING, SORTERING

Exempel: Förel Rekursion III Nr 14. Uno Holmer, Chalmers,

TDDC77 Objektorienterad Programmering

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Lösningsförslag: Instuderingsfrågor, del D

Föreläsning 2, vecka 8: Repetition

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Algoritmer. Två gränssnitt

Föreläsning 7. for-satsen Fält

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Tentamen OOP

Arrayer (fält)

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Objektorienterad programmering i Java

2D1339 Programkonstruktion för F1, ht 2004

TENTAMEN OOP

Introduktion till Datalogi DD1339. Föreläsning 5 13 okt 2014

Objektorienterad programmering. Telefonboken igen, en bättre version. En jämförelse. Föreläsning 4

Föreläsning 11: Rekursion

Föreläsning 6: Metoder och fält (arrays)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Inledande programmering med C# (1DV402) Summera med while"-satsen

TENTAMEN OOP

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

Programmering i C, 7,5 hp

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

1 Standardalgoritmer. 1.1 Swap. 1.2 Sök minsta värdet i en array

TENTAMEN OOP

Laboration 13, Arrayer och objekt

for-satsen Fält for-satsen Föreläsning 8 (OH-bilder 7) for-satsen for-sats är en styrsats för iterationer. for-sats har följande generella utseende:

Anteckningar 1: Grundläggande saker

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

JAVAUTVECKLING LEKTION 4

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

(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

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Innehållsförteckning

I ett program hantera man ofta samlingar av objekt av samma typ.

Tentamen ID1004 Objektorienterad programmering December 15, 2012

PROGRAMMERING-Java TENTAMINA

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

2 b) Bodega bodegan = new Bodega(); double moms = 0.235; String namn = "Vargtass"; System.out.println(namn + " " + moms + bodegan.ändra(moms, namn); S

Tentamen. Lösningsförslag

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Transkript:

Dagens Agenda String [] argv String [] argv Arrayer och Strängar fortsättning Booleska operatorer if, for, while satser Introduktion till algoritmer public static void main(string [] argv) argv är variabelnamnet vid programstart finns det möjlighet att skicka med data till programmet, denna data hamnar i argv Exempel 1: java Test 4.0 argv[0] kommer nu att innehålla 4.0 Exempel 2: java Testar 2 8 argv[0] kommer att innehålla 2 argv[1] kommer att innehålla 8 Mer om arrayer Mer om arrayer forts. En array innehåller en eller ett antal värden (element) av samma typ Att skriva ut längden på en array System.out.print(minArray.length); En array har en fast längd (antal element) Det går inte att ändra längden på en array Elementen ligger på fasta positioner och är åtkomliga via indexeringen Kallas även på svenska lista, vektor eller fält Att skapa en ny array med plats för 10 element: int [] minarray = new int [10]; Variabeln length går EJ att förändra Att initiera en array char [] teckenarray = { T, E, S, T ; // att skriva ut alla element i arrayen // på samma rad System.out.print(teckenArray[0]); System.out.print(teckenArray[1]);.. System.out.print(teckenArray[4]); Kommer utskriften att lyckas?

Booleska operatorer Booleska operatorer forts. Används på villkorsuttryck och variabler operatorerna är!, && och Sanningstabell för &&:! betyder icke && betyder och betyder eller && && && && Lat evaluering tillämpas i java Sanningstabell för : Sanningstabell för! :! är lika med! är lika med && bägge måste vara sanna för minst en måste vara sann för Exempel Strängar och equals int x = 5; int y = 10; double z = 2.50; boolean [] b = new boolean [4]; Hur ska man jämföra om strängen qwe är lika med strängen qwe? qwe == qwe ; b[0] = x < y && z > y; b[1] = x > y && x!= y; b[2] = y > z && z < x; b[3] =![2]; equals fungerar mycket bättre, låt: String a= qwe ; String b= qwe ; Vilka arrayelement innehåller b? ----------------------------------- a.equals(b); b[0] = x < y z > y; b[1] = x > y x!= y; b[2] = y > z z < x; b[3] =![2]; Vilka arrayelement innehåller b?

Arrayer och equals Hur ska man jämföra om 2 arrayer är lika stora och innehåller samma element i samma ordning? Exempel, a[1,2,3] och b[1,2,3] a[1,2,3] == b[1,2,3] Bättre att använda java.util.arrays.equals(a,b) eller java.util.arrays.equals(b,a) Kortare skrivsätt kommer att introduceras senare under kursen Villkorsoperatorn Allmän form <villkor>?<uttryck1>:<uttryck2> Om villkor är utförs uttryck1 Om villkor är utförs uttryck2 Utmärkt att använda vid småsaker, exempelvis att formatera en snygg utskrift int a = 1; System.out.println( Det simmar +a+((a==1)? and : änder )+ på sjön ) if-satsen Generell form: En sats if (villkor) sats; if (x > MAX) x=0; Flera satser if (villkor) if (x1 == x2) { block; System.out.print( lika ); antallika++; if-satsen forts. Generell form Exempel En sats: if (villkor) if (c > MAX) sats1 c = 0; else else sats2 c++; Flera satser: if (villkor) block1 Else block2 if(x1 == x2){ System.out.print( lika ); antallika++; else{ System.out.print( olika ); antalolika++;

Snurror (Loopar) while - snurran Upprepar samma sak flera gånger Gör något med alla element i en array Upprepar något så länge det finns data att arbeta på Utför programmet tills användaren inte vill fortsätta Det finns 3 olika typer av snurror while, gör något så länge ett villkor är uppfyllt for, gör något med varje element i en array do while, gör något så länge villkor är uppfyllt, dock minst en gång Så länge något villkor är uppfyllt utförs en uppgift while(villkor) block (eller sats); Används ofta du man i förväg inte vet hur många gånger det kommer att upprepas int x = 0; While(x <= 5){ System.out.println( Värdet på x är: +x); x++; for - snurran do while snurran Generell form for(initiering ; villkor; uppräkning) block (eller sats) Används ofta då man i förväg vet hur många gånger snurran kommer att upprepas Generell form do block (eller sats) while(villkor) Används när man vill vara säker på att programmet körs minst en gång for(int i = 0 ; i < array.lenght ; i++){ System.out.println(array[i]); do{ //kommandon och/eller satser System.out.println( Hejsan ); while(int i = 0 ; i < 0 ; i++); Används inte lika ofta som while och for snurrorna

Algoritmer Vad är en algoritm? En algoritm är en metod att lösa ett visst problem genom räknande i vid mening. Dvs. genom att manipulera data på ett sådant sätt att en (eller flera) lösningar på ett givet problem genereras. Problem 1: Finns det algoritmer för att hitta ett visst element i en osorterad array? Sökning i en array Förslag på algoritm för att hitta ett visst element m i en osorterad array av godtycklig storlek Jämför m med talen i arrayen, från vänster till höger. Om vi kommer till ett i sådant att m=k vet vi att m förekommer i arrayen, och algoritmen är färdig. Om vi kommer till slutet av arrayen utan att ha kommit till något i sådant att m=k vet vi att m inte förekommer i arrayen. Problem 2: Finns det algoritmer för att sortera en slumpmässigt skapad array? Sortera en array Förslag på algoritm för att sortera en slumpmässigt skapad array av godtycklig storlek Sök reda på det minsta värdet i arrayen och placera det först. Sök sedan igenom hela arrayen utan att bry dig om det första elementet. Fortsätt på detta sätt tills vi kommer till det sista elementet. Nästa föreläsning Mer om algoritmer Metoder och metodanrop Switch satser Rekursiv programmering Skillnad mellan rekursiv och iterativ programmering Läs gärna: JFG: kap 13-18 JSS: kap 3.6-3.8, 4.2, 11