Presentation laddar. Vänta.

Presentation laddar. Vänta.

OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.

Liknande presentationer


En presentation över ämnet: "OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion."— Presentationens avskrift:

1 OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion

2 OOP F2:2 Stefan Möller Deklaration och tilldelning int x; double d; char ch; boolean ok; x=23; d=45.97; ch='A'; ok=true; int tal=10; int summa; summa=x+tal; int sum=x+tal; double d1, d2, d3; Prefixet final ger konstant, kan ej förändras final int MAX=100; Konstanter brukar skrivas med versaler

3 OOP F2:3 Stefan Möller Enkel datatyp kontra objekt int tal1, tal2; tal1=35; tal2=112; tal1=tal2; String s1, s2; s1=new String("Hej"); s2=new String("Hopp"); s1=s2; Kan skrivas som: s1="Hej"; s2="Hopp"; Hur fungerar operatorn + ? int sum=tal1+tal2; String ny=s1+s2;

4 OOP F2:4 Stefan Möller Programsatser Tilldelning = ; OutputSystem.out.print System.out.println InputVia ett Scanner-objekt som skapas med: Scanner sc=new Scanner(System.in); (alternativt input/output med JOptionPane) Selectionif-satsen switch-satsen Iterationwhile-loopen do while-loopen for-loopen

5 OOP F2:5 Stefan Möller Flödesstyrning Sekvens Flera saker skall göras. Många programsatser i rad. Inbördes ordning viktig. Selection Ibland skall man göra en sak, ibland inte. T.ex. om det är skottår så finns 29 februari, annars inte. Om det regnar ute så ta med ett paraply. Iteration Något skall göras flera gånger. Fråga efter alla personernas namn, tills alla svarat. Knäck åtta ägg och lägg innehållet i en bunke.

6 OOP F2:6 Stefan Möller if-satsen if ( ) ; if ( ) ; else ; Scanner sc=new Scanner(System.in); System.out.print("Temperatur? "); int temp=sc.nextInt(); Om temperaturen är under 5 grader så skriv "Kallt" annars skriv "Varmt" Vad är ett villkor? Om fler än en programsats? Om fler än två olika alternativ?

7 OOP F2:7 Stefan Möller Villkor (booleska uttryck) Jämförelse-operatorer: >= == != (operanderna enkla datatyper) int x=17; if (x>10)...; if (x==25)...; Logiska operatorer: && || ! if (x>10 && x<20)...; String’ar jämförs INTE med dessa operatorer. String namn1="Hasse"; String namn2="Hasse"; if ( namn1.equals(namn2) )... ; //equals blir true om INNEHÅLLET i namn1 och namn2 är lika

8 OOP F2:8 Stefan Möller switch-satsen switch ( ) { case : case : default: } Uttryck och värde måste vara av heltalstyp eller char ”Hoppar” till den case som matchar uttrycket. Exekverar resten av programsatserna. break-satsen bryter switch break; System.out.print("Månad? "); int månad=sc.nextInt(); switch(månad){ case 1: System.out.println("Januari); case 2: System.out.println("Februari"); case 3: System.out.println("Mars"); case 4: System.out.println("April"); default: System.out.println("Annan"); }

9 OOP F2:9 Stefan Möller System.out.print("Månad? "); int månad=sc.nextInt(); switch(månad){ case 1: System.out.println("Januari); break; case 2: System.out.println("Februari"); break; case 3: System.out.println("Mars"); break; case 4: System.out.println("April"); break; default: System.out.println("Annan"); }

10 OOP F2:10 Stefan Möller I vissa länder, t.ex. USA, används Fahrenheit istället för Celsius för temperatur. Kan vara förvirrande. Omräkning enligt: fahrenheit = 9/5 * celsius + 32 import java.util.Scanner; class Convert{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.print("Temperatur i celsius: "); int cels=sc.nextInt(); int fahr=9/5*cels+32; System.out.println("Temperatur i fahrenheit = "+fahr); }

11 OOP F2:11 Stefan Möller Operatorer PrioritetsordningOperatorer 1[]. (metod anrop) ++ -- 2++ -- + - ~ ! 3new (cast) 4* / % 5+ - 6 > >>> 7 >= instanceof 8== != 9& 10^ 11| 12&& 13|| 14?: 15= += -= *= /= %=

12 OOP F2:12 Stefan Möller Ta fram en del av ett heltal, t.ex. ett datum. System.out.print("Ange datum: "); int datum = scan.nextInt(); Anta att datum t.ex. innehåller 20101118 int år = datum/10000; int dag = datum%100; int månad = datum/100%100; Kolla om året är ett skottår: if (år%4==0) System.out.println("Skottår");

13 OOP F2:13 Stefan Möller Flera variabler av samma sort - arrayer Varje variabel som deklareras får ett utrymme i primärminnet. int tal; double d; tal=43; d=7.85; En array deklareras som [ ] int[] arr; arr (inget utrymme finns...) Utrymmet måste skapas, görs med new arr = new int[5]; arr[0]=28; arr arr[1]=43; arr[2]=12; arr[3]=19; arr[4]=193; 43 tal 7.85 d 28431219193 0 1 2 3 4

14 OOP F2:14 Stefan Möller Array Deklaration: int[] arr; int arr[];//Alternativ deklarering Skapas med new arr=new int[25];//Alltid index från 0 och uppåt Indexering med [ ] arr[3]=12; Längden kan kollas med length int max=arr.length;//max får värdet 25


Ladda ner ppt "OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion."

Liknande presentationer


Google-annonser