• Utvecklat på SUN Microsystems mitten 1990

January 8, 2018 | Author: Anonymous | Category: Engineering & Technology, Datavetenskap, Java Programming
Share Embed Donate


Short Description

Download • Utvecklat på SUN Microsystems mitten 1990...

Description

Java • • • •

Utvecklat på SUN Microsystems mitten 1990-talet Ursprungligen för Webprogram. Nu mycket spritt. Massor med läroböcker.Vi använder Lewis&Loftus http://java.sun.com/javase/6/docs/api/

Monday, November 2, 2009

Skillnader mellan Python och Java Viktigast: Java har statisk typning. Alla variabler, metoder etc ska deklareras och ges en fix typ. Typen får inte ändras under programmets gång.

Python

Java

-

int a;

def siffersum(n)

int siffersum(int n)

Monday, November 2, 2009

En typ kan vara: inbyggd typ

int boolean float char

namn på en klass

String

array av ovanstående

Monday, November 2, 2009

Ball

int[]

String[]

fallgropar true och false med små bokstäver char har enstaka tecken omslutn av ’ String har textsträngar omslutna av ” Javas arrayer påminner om Matlabs, och är mycket olika Pythons listor. Pythons listor och dictionaries saknas helt i Java

Monday, November 2, 2009

Allt har en typ. Typ ska anges: Varje gång en variabel introduceras För varje attribut till en klass För varje metod: resultattyp och parametrars typer

Monday, November 2, 2009

variabel/attribut: Deklareras genom att skriva typens namn följt av variabelns namn int a; Ball b;

Obs! semikolon avslutar alla satser, liksom i Matlab

Får i samband med deklarationen int a = 1; float b = 2.53; ges ett initialvärde

Monday, November 2, 2009

Arraydeklarationer int[] a; a = new int[5];

a ska vara av typ array of int, ännu inte bestämt hur lång a blir ett arrayobjekt som tar 5 stycken int, a[0]...a[4] (inledningsvis är elementen odefinierade) kombinerar ovanstående

int[] a = new int[5]; int [] a = {5,18,22,0,3}; int [] [] c;

Monday, November 2, 2009

Deklarerar, skapar och initierar i ett drag!

c är en tvådimensionell array. Elementet på plats i,j noteras c[i][j]

Metoddeklaration Resultattypen skrivs före metodnamnet. För varje formell parameter skrivs dess typ före parameterns namn. Inget self ! Python: def checkpos(self,ball,pos) boolean checkpos(Ball ball, Position pos) En metod som inte returnerar något får void istället för en typ: void runsimulation() Monday, November 2, 2009

Allt i Java är klasser med sina metoder. Det finns inget huvudprogram. Det finns inga ”funktioner” - alla sådana måste vara metoder till någon klass Python

Java

def move(self, pos): void move(Position pos) { } ... ... Typdeklarera resultat och parametrar Inget kolon metodkroppen inom krullparanteser { } Monday, November 2, 2009

Blockstruktur Python

Java

Kommandon avslutas med ny rad

Kommandon avslutas med semikolon, ”;”

Block av kommandon anges genom indragning

Block av kommandon anges genom att innesluta dem i krullparanteser, ”{ ... }”

Viktiga inledningar av block följs av kolon

Java använder inte kolon alls

Monday, November 2, 2009

Python if a>b: c = 0 a += 1 b = a

Monday, November 2, 2009

Java if (a>b) { c = 0; a += 1; } b = a;

Indragningar och radbrott är betydelselösa if (a>b) { c = 0; a += 1; } b = a;

if (a>b) {c =0; a += 1;} b = a;

if (a>b) { c = 0; a += 1; } b = a;

Alla dessa är samma!

if (a>b) {c=0;a += 1;}b = a;

Fortsätt att använda indragningar och radbrott för att öka läsbarheten! Monday, November 2, 2009

Statiskt scope För varje deklaration är det väldefinierat för vilket område av koden den gäller Ex: Deklaration av en variabel har räckvidden resten av det kodblocket, alltså det som avgränsas av { } . if (a>b) { int a; Här inne kan a användas . . } Här ute kan a inte användas . . Monday, November 2, 2009

Tilldelning Python

Java

a = 0 b = c/(d+1) c += 2

a = 0; b = c/(d+1); c += 2;

I Java finns dessutom a++; kortform för a+=1; Monday, November 2, 2009

if Python

Java

if a>b: d = 2 elif ab) d = 2; else if (ab: d = 2+a a -= 1

while (a>b) { d = 2+a; a--; }

Paranteser runt villkor obligatoriska Inga kolon Glöm inte krullparanteser om loopen består av flera kommandon, och semikolon efter kommandon Monday, November 2, 2009

do Python

Java

Finns inte

do { d = 2+a; a--; } while (a
View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF