Repetition av språket Java

Slides:



Advertisements
Liknande presentationer
INTRODUKTION TILL PROGRAMMERING
Advertisements

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.
Villkor Booelska operatorer Villkorsatser Switchsatser Villkor och annat.
Objektorienterad utveckling
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Klassarv och inkapsling
Metoder i java Det finns två typer av metoder i java
Om Java C =>Java syntax variabler metoder färdiga klasser
Välkommen Vahid Mosavat
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Att programmera i språket Java
1 ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering DSV Peter Mozelius.
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
1 ITK:P1 Föreläsning 6 Layoutmodeller i Java DSV Marie Olsson.
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.
Programmering B PHP Lektion 2
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
Programmering B PHP Lektion 2
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.
1 ITK:P1 Föreläsning 7 Algoritmer och datastrukturer DSV Marie Olsson.
Vektorer (klassen Vector) Sortering
TÄNK PÅ ETT HELTAL MELLAN 1-50
Föreläsning 3 Programmeringsteknik och Matlab DD1312
OOP F6:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList toString() – metoden.
ITK:P1 Lektion 4 Att implementera en spelidé i Java DSV Peter Mozelius.
1 MSPEL Lektion 2 DSV Peter Mozelius Spel i Java applets.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
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.
1 ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion DSV Peter Mozelius.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Föreläsning 4 Klasser Och Objekt.
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
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.
0. Kod, Klassdiagram och Sekvensdiagram import java.awt.event.*; import javax.swing.*; import java.awt.*; public class TwoThreads implements ActionListener.
INTRODUKTION TILL PROGRAMMERING
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
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.
ITK:P2 F8 Strömmar och filhantering DSV Peter Mozelius.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
2I1073 Lektion 1 KTH-MI Peter Mozelius XHTML, stilmallar och Javascript.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Central-enhet PM CPU BIOS Skiv- minne Sekundär- minnes- enheter (SM)
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.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
Ö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 =
Programmeringsteknik för K och Media
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
Föreläsning 3: Booleans, if, switch
Föreläsning 8: Exempel och problemlösning
Presentationens avskrift:

Repetition av språket Java ITK:P2 F3 Repetition av språket Java DSV Peter Mozelius

Variabler i Java En nödvändig beståndsdel i språket Java är variabler Det finns två olika grundtyper Referensvariabler Primitiver – (Javas inbyggda datatyper) Vi börjar med att titta på primitiver

Primitiva datatyper i Java För heltal så finns det 4 st typer: byte (8 bitar) short (16 bitar) int (32 bitar) long (64 bitar) För flyttal finns 2 st olika float (32 bitar) double (64 bitar)

Datatyper i Java Det är också typen char Våra vänner short, int, long, float och double är samtliga i språket inbyggda datatyper och primitiver Det är också typen char I en char kan vi lagra enskilda tecken Tecken i en String är däremot inte lagrade i en primitiv utan i en instans av en klass

Omslagsklasser

Omslagsklasser String str = ”1234”; String str = ”3.14159”; Primitiva datatyper har omslagsklasser som t ex hjälper till med omvandlingar: String str = ”1234”; int i = Integer.parseInt(str); String str = ”3.14159”; double d = Double.parseDouble(str);

Booleska variabler En annan primitiv datatyp är boolean En boolean beskriver sanningsvärden Tillåtna värden är enbart true och false Används för att konstruera villkor boolean loop = true; while (loop) { … loop = false; }

Jämförelseoperatorer i Java Vi behöver ibland jämförelseuttryck Jämförelseoperatorerna i Java är: == (lika med) != (inte lika med) < (mindre än) > (större än) <= (mindre än eller lika med) >= (större än eller lika med) Se upp med = (tilldelning) och == (jämförelse)

Logiska operatorer i Java Logiskt OCH: && (A && B) är sant om både A OCH B är sanna A B (A && B) 1 1 1 1 0 0 0 1 0 0 0 0

Logiska operatorer i Java Logiskt ELLER: || (A || B) är sant om A ELLER B är sann A B (A || B) 1 1 1 1 0 1 0 1 1 0 0 0

Logiska operatorer i Java XOR (exklusivt ELLER): A ^ B Sant när exakt ett värde är sant A B (A ^ B) 1 1 0 1 0 1 0 1 1 0 0 0

Logiska operatorer i Java Logiskt ICKE (invers) ! OM boolean A = false; Så är ! A sann (A || !A) är alltid sant (A && !A) är alltid falskt Övningar på booleska villkor finns att göra på: http://www.leepoint.net/notes-java/data/expressions/q-fi-d3-booleanex.html

Selektion i Java if (klockan < 12) System.out.println(”Det är Det är ofta som programkoden inte ska exekveras i den ordning den är skriven Därför behöver vi olika sätt att styra vägvalet i våra program. Ett sätt är med konstruktionen if – else: if (klockan < 12) System.out.println(”Det är förmiddag”): else eftermiddag”):

Selektion i Java Så passar det istället bättre med en switch-sats När det finns många vägval som t ex i: if (veckodag == 1) System.out.println(”Söndag”); else if (veckodag == 2) System.out.println(”Måndag”); … Så passar det istället bättre med en switch-sats

Selektion i Java default: System.out.println(”Felaktig dag”); switch (veckodag){ case 1: System.out.println(”Söndag”); break; case 2: System.out.println(”Måndag”); break; case 3: System.out.println(”Tisdag”); break; case 4: System.out.println(”Onsdag”); break; case 5: System.out.println(”Torsdag”); break; case 6: System.out.println(”Fredag”); break; case 7: System.out.println(”Lördag”); break; default: System.out.println(”Felaktig dag”); }//switch

Iteration i Java while (villkor) { kodrad(er); }//while Iteration genom programslingor (loopar) Ett antal rader kod som utförs flera gånger Hur många gånger bestäms av ett villkor Det började en gång i tiden med while-loopen: while (villkor) { kodrad(er); }//while

while-loop Två enkla exempel: int x = 1, y = 1; while (x < 5) x++; y *= x--; } Vad blir y?

do-sats Som en while-loop men villkoret testas sist: do{ ruta1.setText(”Vad är 4 + 5 ?”); int svar = hämtaSvar(); ruta2.setText(”Fel, försök igen.”); } while (svar != 9); ruta2.setText(”Grattis, helt rätt!” );

for-loop När man vet innan hur många gånger som koden ska itereras: int x = 7; for(int i = 0; i < 13; i++) { System.out.println(x * i); } Vad skrivs ut?

Fält / arrayer int[] heltal; //enbart en deklaration Den engelska benämningen för fält är array vilket också ofta förekommer i svenska böcker Ett antal variabler av samma datatyp samlade till en enhet med indexering De olika minnesplatserna i fältet kan tilldelas egna värden oberoende av varandra Efter typnamnet finns [ ] int[] heltal; //enbart en deklaration

Fält / arrayer Fält är referensvariabler Fält måste initieras annars får de som alla andra referensvariabler värdet null int[] heltal = new int[5]; ELLER utan new genom: int[] heltal = {45, 2, 67, 12, 3}; Vad finns i x efter: int x = heltal[2];

Fält / arrayer Fälten kan indexeras genom variabler: int[] heltal = new int[10]; for (int i = 0; i < 10; i++) { heltal[i] = i * 2; } Vad finns sedan i x efter: 1) int x = heltal[4]; 2) x = heltal.length;

Paus 15 min Fält / arrayer Fält kan även skapas för objekt: Color[5] färgfält; // java.awt.Color Button[8] knappfält; //java.awt.Button Flyg[12] flygfält; //egendefinierat Flerdimensionella fält (fält av fält): int[][] matris = new int [8][8]; Paus 15 min

Nyheter i JDK 1.5 och 1.6 Java 5 = Tiger Java 6 = Mustang Den viktigaste skillnaden mellan 1.4 och 1.5 är att programenheter nu av säkerhetsskäl blir generiska Det ska vi titta på senare i F5 och F6

Nyheter I Java 6 - Mustang JDBC 4.0 Pluggable annotating – XML Desktop experience Splash screens Popup menus Java scripting ScriptEngine interface http://www.ftponline.com/channels/java/2007_01/dvohra/

Ett kodexempel

Ett kodexempel import java.awt.*; import java.awt.event.*; import javax.swing.*; public class F3 extends JFrame implements ActionListener { private int antal = 5; private Fibonacci fibo; private Container korg;

Ett kodexempel private JButton knapp; private JTextArea ta; private JPanel nordPanel, sydPanel; private ButtonGroup grupp; private JRadioButton[] radio; public F3() { super("Föreläsning 3"); setSize(200, 300); skapaGUI(); }

Ett kodexempel public void skapaGUI() { korg = getContentPane(); korg.setLayout(new BorderLayout()); sydPanel = new JPanel(); knapp = new JButton("Visa det valda antalet fibonaccital"); knapp.addActionListener(this); sydPanel.add(knapp); korg.add("South", sydPanel); ta = new JTextArea();

Ett kodexempel ta.setBackground(new Color( 255, 255, 225)); ta.setPreferredSize(new Dimension( 200, 175)); korg.add("Center", ta); nordPanel = new JPanel(); grupp = new ButtonGroup(); radio = new JRadioButton[10];

Ett kodexempel for(int i = 0, j = 1; i < 10; i++, j++) { radio[i] = new JRadioButton(""+ j); radio[i].setActionCommand(""+ j); grupp.add(radio[i]); nordPanel.add(radio[i]); } radio[7].setSelected(true); korg.add("North", nordPanel); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); }//skapaGUI

Ett kodexempel public void actionPerformed(ActionEvent e) { if(e.getSource() == knapp) { antal = Integer.parseInt( grupp.getSelection().getActionCommand()); fibo = new Fibonacci(antal); ta.setText(fibo.toString()); } public static void main(String[] args) { new F3(); }//F3

Ett kodexempel public class Fibonacci{ private int antal; private String str=""; public Fibonacci(int antal) { this.antal = antal; }

Ett kodexempel public String toString() { int low = 1; int high = 1; for(int i = 1; i <= antal; i++){ str += "Fibonacci " + i + ": " +"\t" + high + "\n"; high += low; low = high-low; } return str;

Tack för idag!