Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

02 - Java datatyper Grundlæggende om datatyper og variable.

Liknende presentasjoner


Presentasjon om: "02 - Java datatyper Grundlæggende om datatyper og variable."— Utskrift av presentasjonen:

1 02 - Java datatyper Grundlæggende om datatyper og variable

2 2 NOEA2009Java-kursus – Datatyper En simpel klasse public class Book { private String title; private String author; public Book(String t, String a) //Constructor { title= t; author= a; } public @Override String toString(){ return (title+" "+author); } Definer klassen Book {…} Er samling af udtryk Kaldes blok eller scope Attribut eller instans variable Variabel, der hører til en instans, dvs. objekt. Bruges normalt til initialisering Konstruktør. Kaldes når objektet instanseres Instans metode. Er en funktion der udføres på objektet Metoden er arvet fra Object, og overskrives @Override bruges fra Java 1.5

3 3 NOEA2009Java-kursus – Datatyper Driver program public class Main { public static void main(String[] args) { Book b1= new Book("C#","Troelsen"); Book b2= new Book("Java","Kölling"); System.out.println(b1.toString()); System.out.println(b2); } Programmet startes fra main-metoden Den skal have signaturen: public static void main(String[] args) Instansering af 2 objekter af klassen Book Kald metode på objekt toString() kaldes implicit Output fra program: C# Troelsen Java Kölling

4 4 NOEA2009Java-kursus – Datatyper Coding Guidelines 1.Java programmer bør altid have.java extensionen. 2.Filnavne skal være det samme som navnet på public class. F.eks hvis navnet på public class er Hello, bør du gemme den I en fil der hedder Hello.java. 3.Du bør skrive kommentarer i koden der beskriver hvad klassen og evt. visse metoder gør. 4.Det er en konvention i Java at klasse navne starter med stort bogstav, og hvert nyt ord starter også med stort. F.eks: MinEgenKlasse 5.Det samme gælder for variabel og metodenavne, bortset fra at de starter med lille bogstav: minVariabel, minMetode()

5 5 NOEA2009Java-kursus – Datatyper Kommentarer Der findes 3 typer kommentarer i Java: –C++ style: //Resten af linien er en kommentar –C style: /* Det er mellem /*..*/ er en kommentar */ –JavaDocs: Kan bruges til automatisk generering af dokumentation. F.eks: /** This is an example of special java doc comments used for \n generating an html documentation. It uses tags like: @author Florence Balagtas @version 1.2 */

6 6 NOEA2009Java-kursus – Datatyper Udtryk Kort Udtryk eller statements består af en eller flere linier afsluttet med semikolon F.eks: –System.out.println(“Hello world”); Flere statements kan samles i en blok, markeret med { ….} F.eks: –for(int i=0;i<10;i++) { int x=i*i; System.out.println(i+”: ”+x); }

7 7 NOEA2009Java-kursus – Datatyper Datatyper I Java er der de simple datatyper man forventer: –boolean (for logical) –char (for textual) –byte –short –int 20 svarer til 024 (octal) og x014 (hex) –long (integral) –Double450.0 svarer til 450f og 4.5e2 –float (floating point). String er lidt speciel, da den er en klasse, men kan opføre sig som en simpel datatype

8 8 NOEA2009Java-kursus – Datatyper Variable Variable skal erklæres med en datatype: Og initialiseres før den kan bruges: public void metode() { int width, height; width = 2; height = 4; int area = width * height; int x; int y = x * 2;... } Erklæring Erklæring + initialiering Fejl, x er ikke init.

9 9 NOEA2009Java-kursus – Datatyper Type konversion Implicit type konversion: –fra mindre til større type Ellers er der brug for typecast eller explicit konversion… –typecast syntaksen er typen i parentes –Konversion baseret på System.Convert klassen int i = 5; double d = 3.2; string s = "496"; d = i; i = (int) d; i = Integer.parseInt(s); implicit konversion typecast nødvendig Konversion nødvendig

10 10 NOEA2009Java-kursus – Datatyper Value vs. reference typer I Java er 2 kategorier af data typer Value typer: –variablen repræsenterer en værdi ("bits") Reference typer: –variablen repræsenterer en reference til et objekt –aktuelle data er indeholdt i objektet int i; i = 10; 10 string s; s = "calico"; "calico"

11 11 NOEA2009Java-kursus – Datatyper Value type eller primitiv type: –Variable med primitive data typer som int eller long. –Gemmer data direkte på det sted i memory, hvor variablen er gemt Reference Variables –Variable, erklæret med abstrakte datatyper. –Variablen gemmer adressen på objektet –Dvs. den peger på et andet sted I memory, de faktiske data er. –Når du erklærer en variable af en klasse, erklærer du I virkeligheden en reference variabel til et objekt af klassen.

12 12 NOEA2009Java-kursus – Datatyper int num = 10; // primitiv type String name = "Hello"; // reference type

13 13 NOEA2009Java-kursus – Datatyper Boxing og Unboxing Java konverterer værdi objekt, når der er behov –værdi ==> objekt kaldes "boxing" –objekt ==> værdi kaldes "unboxing" int i, j; object obj; i = 32; obj = i; // boxed copy! i = 19; j = (Integer) obj;// unboxed!

14 14 NOEA2009Java-kursus – Datatyper Anvendelse af reference typer (klasser) … Oprettelse, tildeling, og sammenligning: Customer c1, c2, c3; String s1, s2; c1 = new Customer("joe hummel", 36259); c2 = new Customer("marybeth lore", 55298); c3 = null; // c3 references no object c3 = c1; // c3 now references same obj as c1 if (c1 == null)... // do I ref an object? if (c1 == c2)... // compares references if (c1.equals(c2))... // compares objects if (s1 == s2)... // exception: == overloaded to // compare string data

15 15 NOEA2009Java-kursus – Datatyper Definering af “Lig med” Klasser kan omdefinere equals boolean equals(Object obj) { Book other; if ((obj == null) || (!(obj instanceof Book))) { return false; // definitely not equal } other = (Book) obj; // typecast to access // equal if same author... return this.author == other.author; }

16 16 NOEA2009Java-kursus – Datatyper Arrays Arrays er reference typer –oprettes med new –0-baseret indeksering –Tildelt default værdier (0 for numerisk, null for references, etc.) int[] a; a = new int[5]; a[0] = 17; a[1] = 32; int x = a[0] + a[1] + a[4]; int l = a.Length; Tilgå element Opret Antal elementer

17 17 NOEA2009Java-kursus – Datatyper Multi-dimensionelle arrays Java understøtter arrays som array af arrays –nedenstående implementer et 2D array med forskellig længde (Jagged) Customer[][] twoD; int[][] jagged2D; // 2D array as single object twoD = new Customer[10][100]; twoD[0, 0] = new Customer(…); twoD[9, 99] = new Customer(…); // 2D array as array of arrays jagged2D = new int[10][]; jagged2D[0] = new int[10]; jagged2D[1] = new int[20]; jagged2D[9] = new int[100]; jagged2D[0][0] = 1; jagged2D[9][99] = 100; Samme længde Forskellig længde

18 18 NOEA2009Java-kursus – Datatyper Opsummering I Java er der de simple datatyper man kan forvente Simple data typer er value typer Mens Objekter er referencer Objekter bør sammenlignes med equals metoden, som evt. kan overskrives


Laste ned ppt "02 - Java datatyper Grundlæggende om datatyper og variable."

Liknende presentasjoner


Annonser fra Google