E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

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

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

F4. programmeringsteknik och Matlab

TDDC77 Objektorienterad Programmering

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

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

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

SMD 134 Objektorienterad programmering

Programmering A. Johan Eliasson

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Språkkonventioner och redigering av tal.

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

JAVASCRIPT. Beteende

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Enkla datatyper minne

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

TENTAMEN OOP

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

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

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

OOP Objekt-orienterad programmering

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

TDIU01 - Programmering i C++, grundkurs

OOP Objekt-orienterad programmering

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Objektorienterad Programmering (TDDC77)

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Föreläsning 2 - Intro till Java

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

Översikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström

JS & beteende. TNMK30 - Elektronisk publicering

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

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

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Objektorienterad Programmering (TDDC77)

OOP Objekt-orienterad programmering

Heltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit

TENTAMEN OOP

Objektorienterad Programmering (TDDC77)

Övning2. Variabler. Data typer

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

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

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

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

TENTAMEN OOP

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Tentamen ID1004 Objektorienterad programmering October 29, 2013

(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

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

PROGRAMMERING-Java Omtentamina

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

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

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

DD1314 Programmeringsteknik

Lektion 12. Talbas - Radix. Funktioner. Primitiva datatyper. Procedurer. Att anropa en metod. Repetition Genomgång av gammal tenta

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

Classes och Interfaces, Objects och References, Initialization

/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar.

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Visual Basic, en snabbgenomgång

LÖSNINGSFÖRSLAG TENTAMEN

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

[] Arrayer = Indexerad variabel

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

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

DAT043 - Föreläsning 7

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Tentamen OOP

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Föreläsning 3-4 Innehåll

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

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

Föreläsning 3. Stack

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

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

Lösningsförslag. 1 Lösningsförslag. Uppgift 1

Transkript:

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet

E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser Loopar

Identifierare Första tecknet måste vara en bokstav, _ eller $. Alla andra tecken kan vara bokstäver, _, $ eller siffror Undvik svenska tecken Undvik att använda $ då denna används flitigt av vissa ramverk. Undvik dock

Reserverade ord abstract as boolean break byte case catch char class continue const debugger default delete do double else enum export extends false final finally float for function goto if implements import in instanceof int interface is long namespace native new null package private protected public return short static super switch synchronized this throw throws transient true try typeof use var void volatile while with

Kommentarer // Detta är en enradskommentar /* Detta är en kommentar som sträcker sig över mer än en rad. */

Variabler Eftersom JavaScript är löst typat behöver vi inte ange datatypen när vi skapar en variabel. Scriptmotorn kommer själv att hålla reda på vilken datatyp som finns i variabeln. Det enda vi behöver göra är att ange den generella typen var. // Deklarera variabeln minvariabel var minvariabel1; // Tilldela variabeln värdet 2004 minvariabel1 = 2004; // Deklara6on och 6lldelning på en och samma gång. var minvariabel2 = Hot Fuzz ;

Datatyper Operatorn typeof ger oss nedanstående datatyper beroende på varibeln minvar:s innehåll: console.log( typeof minvar ); undefined boolean string number object eller null function

Värdetyper Undefined Null Boolean Number String Kan temporärt omvandlas till objekttyper Referenstyper Object Array Date RegExp Function

Number Håller både heltal och flyttal var tal1 = 44; // Heltalet 44 var tal2 = 44.0; // Heltalet 44 var tal3 = 44.1; // Flyttalet 44.1 Dubbelt utrymme gentemot tal1 och tal2 console.log(number.max_value*2); // Infinity. Max: 1.7976931348623157e+308

Problem? var a = 0.1; var b = 0.2; console.log(a+b);

Number NaN not a number. console.log(isnan( Turtle )); console.log(isnan(50)); console.log(isnan(+"50")); // true // false // false var input = prompt("ange ett tal"); // 5 console.log(input + 10); // 510 console.log(+input + 10); // 15 + (Unär "+" & "-"-operator)

Konvertera sträng till heltal console.log(+"5.5"+3); console.log(+false); console.log(+"eric"); console.log(+1.1); Förutom ovanstående går det också att använda metoderna parseint(), parsefloat().

String var firstname = "Ari"; var lastname = 'Gold'; + används för att konkatenera strängar. var element = "Aqua"; element = element + "man"; // Aquaman var antal = 4; var entourage = antal + " personer"; var antal1 = 4; var antal2 = 2; var entourage = antal1 + antal2 + " personer";

Character Literals Använd metoden tostring som finns på de flesta objekt och typer. var antal = 4; var alright = true; alert(antal.tostring()); // "4" alert(alright.tostring()); // "true" Vi kan manipulera strängen med metoderna: length, slice, substr, charat, tolowercase, touppercase, indexof, lastindexof Vi kan även arbeta med Reguljära uttryck Literal Betydelse \n Ny rad \t Tabb \\ \ \ \

Exempel, stränghantering var mystr = prompt("ange rollönskemål:"); var lastchar = mystr.charat(mystr.length-1); lastchar = mystr[mystr.length-1]; Strängreferens: hdps://developer.mozilla.org/en/javascript/reference/global_objects/string

Operatorer Operator Gör + Adderar två tal, konkatenerar två strängar eller omvandlar ed tal 6ll en sträng. - Subtraherar det andra talet från det första * Mul6plicerar två tal / Dividerar det första talet med det andra % Restdivision 25%4 = 1 (4 går 6 ggr i 24, resten är 1) - - Minskar e+ tal med 1 ++ Ökar e+ tal med 1 = Tilldelningsoperatorn

Operatorer Operator Gör! Inte && Logiskt och Logiskt eller > Större än < Mindre än == Är lika med!= Är inte lika med <= Mindre än eller lika med >= Större än eller lika med === Explicit lika med!== Inte explicit lika med Undvik. Använd hellre ===!==

&& Inte bara logiskt OCH. Guard operator if(a){ return a.member; else { return a; return a && a.member;

Inte bara logiskt ELLER. Defaultoperatorn function myfunc(name, age) { name = name "John Doe"; age = age "18";...

Villkorssatsen if(temperatur < 0){ console.log("det fryser på"); else if(temperatur > 0){ console.log("det tar sig"); else { console.log("ha! Precis noll");

var namn = "Kalle"; Jämföra strängar if (namn === "Kalle"){ console.log("du heter samma som ankan!!!"); Observera dock att jämförelsen är case sensitive, den tar alltså hänsyn till stora och små bokstäver. Används med fördel tillsammans med touppercase eller tolowercase: var namn = "KaLlE"; if (namn.touppercase() === "KALLE"){ console.log("du heter samma som ankan!!!");

switch var number = 3; switch (number) { case 1: dostuff(); break; case 2: dostuff(); break; Glöm ej! case 3: dootherstuff(); break; default: noops();

while-loopen var i = 0; while(i < 40){ i += 4;

do...while do...while-loopen är utmärkt att använda exempelvis vid inmatning från användaren: var number; OBS! + do{ number = +prompt("ange tal större än 100"); while(number <= 100);

for-loopen var counter; for (counter = 0; counter < 10; counter += 1){ console.log("räknaren:"+ counter);

for-in var property; for (property in document){ console.log(property+": "+document[property]); Obs! ordningen på utlästa egenskaper ovan kan inte garanteras!

break och continue var num = 0, i = 0; for(i=0; i < 20; i+=1){ if (i % 5) { break; num+=1; console.log(num); var num = 0, i = 0; for(i=0; i < 20; i+=1){ if (i % 5) { continue; num+=1; console.log(num);

In JavaScript, Object inherits from Douglas Crockford. Källa: http://twitter.com/crockfordfacts