Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Tabeller av objekter Klassen ArrayList
14 okt. 2003, Arne Maus Inst. for informatikk, UiO
C++ for Java-programmerere
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
Uke 8 - Mer om: Objekter, klasser og pekere
1 Java 6 Mer om metoder Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo.
Unit testing Gruppe 2: Kjartan Haugen Jon Gunnar Bjørkmo
1 Litt om OO og programmering Arne Maus. 2 OO og Java (og C++, C#)  Arven fra Simula  Programstruktur i Java  Generering av objekter  Beskyttelse.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Kap.8 Sortering og søking sist oppdatert • Del 1 Søking - lineær søking m/u sorterte elementer - binærsøking - analyse • Del 2 Sortering - ”gamle”
Java 12 Mer filbehandling - skrive til fil HashMap Et større eksempel Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Java 4 Mer om forgreninger While-løkker Ole Christian Lingjærde
Objekt, Instanser og referanser + litt til. Objekter  Instanser  En instans er et objekt av en bestemt klasse  Instanser blir laget ved å kalle klassens.
Objektorientert programmering i PHP del 2
Java 14 Et eksempel fra bioinformatikk: analyse av biologiske sekvenser Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
IS-102 Klassedefinisjoner
Eiendomregister mars 2002 Arne Maus. import java.util.*; import inf101.*; /* Klasse med main() som starter hele programmet */ class EiendomsregisterMain.
C# for javaprogrammerere
Objekt-orientering og Java
En gang til!? .
Filer Finne minste Finne Største Beregne gjennomsnitt Variabler Tabeller – Arrays Lage frekvenstabell.
Introduksjon til Java 5.0. Hva er nytt i 5.0? Generiske typer For-løkke med iterator (for-hver løkke) Automatisk innpakking av primitive typer Metadata.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Objektorientert programmering
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
Grunnleggende PHP - Ronny Mandal1 Grunnleggende PHP.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Uke 7 - del I: Repetisjon del II: Objekter, klasser og pekere 30 sept. 2003, Arne Maus Inst. for informatikk, UiO.
Java 3 Mer om uttrykk Terminal I/O Forgreninger
Java 11 Programmering med og uten objekter: hva er forskjellen?
1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon.
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
02 - Java datatyper Grundlæggende om datatyper og variable.
CORBA Noen hull som må fylles: ORB Object Adapters CORBA services IDL Factory Objects.
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
INF1000 (Uke 13) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  Kan sees på som det samme. Personen Per kan være både et objekt og en instans av klassen.
Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.
INF Objektorientert programmering
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
INF1000 (Uke 12) Sortering og eksamensoppgaver Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Inf1000 (Uke 10) HashMap og ArrayList
INF1000 (Uke 4) Mer om forgreninger, While-løkker
XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =
Inf1000 (Uke 5) Arrayer, filer og tekst
Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.2 Mange objekter.
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
Lokale variable Hvis vi trenger å ta vare på en verdi, inne i en metode kan vi definere en lokal variabel: int amount = 0; vi må fortelle hvilken type.
Iterator i Java boolean hasNext() E next() void remove()
Variabler, datatyper og uttrykk
Triks Avslutt alle klasser, metoder og løkker samtidig som du lager dem. Deklarer alle variablene/referansene på begynnelsen av klassen. Hvis du definerer.
IS-102 Interaksjon med objekter
Spillutvikling Introduksjon til spillutvikling i Processing
BilSalg klassedatastruktur Bil klassedatastruktur
BilSalg klassedatastruktur Bil klassedatastruktur
Siste uke med fokus på Python  Java
Utskrift av presentasjonen:

Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for å sette inn ting i tabellen: heltallsTabell[plassering] = 2; //Her er plassering nummeret i tabellen

Variabletyper ferdigdefinerte variabeltyper:  int – heltall lite  long – heltall stort  float – desimaltall lite  double – desimaltall stort  char – bokstav  boolean – boolsk verdi true/false

Bruk av static metoder public class Eksempel{ public Eksempel(){ } public void viserTing(String nestenEtTall){ int nyVerdi = Integer.parseInt(nestenEtTall); System.out.println(nyVerdi); }

Metodekall /*Dette er måten man kaller metoder som returnerer en verdi*/ public int tall = leggTilEn(2); /*Dette er måten man kaller metoder som er void på*/ Datamaskin hal9000 = new Datamaskin(); hal9000.skruAv();

public class Person{ private String navn; private Datamaskin deepBlue; public Person(String nyttNavn){ navn = nyttNavn; deepBlue = new Datamaskin(); } public boolean starteArbeidet(){ deepBlue.skruPaa(); return true; }

Spørsmål 1:  Hvis instansen kari endrer en static variabel, endres den også for per?  Hvordan blir forskjellen på måten man kaller en void og ikke void metode?  Må man alltid referer til en instans for å kalle en metode?  Hvor kan man kalle en metode fra?

ArrayList  Dynamisk datastruktur  Kan lagre mange forskjellige instanser samtidig.  Er et oppbevaringssted for referanser.  Lages slik:  ArrayList liste = new ArrayList();  Husk: import java.util.ArrayList;

Metoder i ArrayList  public void add(int index, Object element);  public boolean add(Object element);  public void clear();  public Object get(int plassering);  public Object remove(int plassering);  public int size();

Forming (Casting)  Fordi alle slags objekter kan settes inn i ArrayListen må man fortelle java hvaslags klasse objektet kommer fra.  Dette skriver man slik: ArrayList listen = new ArrayList(); (Klassen) listen.remove(0); String ord = (String)listen.remove(0);

import java.util.ArrayList; public class Bokhylle{ private ArrayList boker; public Bokhylle(int antallBoker){ boker = new ArrayList(); for(int i =0;i<antallBoker;i++){ boker.add(new Bok(”Bok”+i)); } public Bok taUtBok(){ Bok bokSomTaesUt = (Bok)boker.remove(0); return bokSomTaesUt; }

Spørsmål 2:  Hva er hovedforskjellen mellom en ArrayList og en tabell.  Hva betyr det at ArrayList er en dynamisk struktur?  Hvordan former/caster man et objekt/instans?  Hvorfor må man forme/caste de objektene som kommer ut fra en ArrayList?

Ting å huske på:  Initier ArrayListen din, ellers vil du få nullpointerexception når du kjører programmet. Dvs: ArrayList listen = new ArrayList();  Du må forme (caste) alt som kommer ut av en ArrayList  Det første elementet er alltid 0!

Import  Man skriver import java.util.ArrayList for å slippe å skrive java.util.ArrayList hver gang man referer til ArrayListen  Eller alle klassene i en pakke:  Du kan enten importere en klasse:  java.util.ArrayList;  java.util.*;  Med import:  ArrayList listen = new ArrayList();  Uten import:  java.util.ArrayList listen = new java.util.ArrayList();

Spørsmål 3:  Hvor skrives et import statement?  Kan man importere en klasse på to forskjellige måter?  Hvilken vits er det i å skrive et import statement?  Når kan man komme i trøbbel hvis man importerer for mange pakker?

Innkapsling  Hva er innkapsling?  bruk av public/private  Hvorfor innkapsling?  Dess flere kokker jo mer søl.  Kontroll på egne verdier.  Kontroll på hva som blir påvirket av endringer i kode.  Gir andre tilgang til kun det som de trenger tilgang til.  Det du ikke vet har du ikke vondt av.

public class Eksamen{ private double internKarakter; private double eksternKarakter; public double hentKarakter(){ double karakter = (internKarakter+eksternKarakter)/2; } public void settInternKarakter(float nyKarakter){ internKarakter = nyKarakter; } public void settEksternKarakter(float nyKarakter){ eksternKarakter = nyKarakter; } Det er ikke alltid du vil at alle skal vite alt!

Spørsmål 4:  Hva bruker vi for å få til innkapsling?  Hvorfor er det mer naturlig å bruke innkapsling ved store/mange klasser enn ved små/få ?  Hvorfor må man skrive mer kode hvis man bruke innkapsling?  Hva må man gjøre for å gjøre det mulig for andre klasser å aksessere en privat variabel?

Hmm  Selv om en klasse kompilerer kan det oppstå feil mens den kjøres.  Det betyr typisk at man har glemt å instansiere en variabel.  Eller at man prøver å sette inn et objekt på et sted der man ikke kan sette det. For eksempel på plassering 16 i en tabell som har lengde 10.