Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

1 Μάθημα : Βασικά Στοιχεία της Γλώσσας Java. 2 Πίνακες (Arrays) στη Java.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1 Μάθημα : Βασικά Στοιχεία της Γλώσσας Java. 2 Πίνακες (Arrays) στη Java."— Μεταγράφημα παρουσίασης:

1 1 Μάθημα : Βασικά Στοιχεία της Γλώσσας Java

2 2 Πίνακες (Arrays) στη Java

3 3 Χρησιμότητα Πινάκων Για τον ορισμό ομάδων τιμών του ίδιου τύπου, αντί να ορίζουμε ξεχωριστή μεταβλητή για να αποθηκεύουμε κάθε τιμή, χρησιμοποιούμε πίνακες (arrays) Τα στοιχεία του πίνακα σημειώνονται με κοινό όνομα που συνοδεύεται από ένα δείκτη (index) Ο δείκτης είναι ένας ακέραιος αριθμός τοποθετημένος μέσα σε αγκύλες []

4 4 Δηλώσεις Πινάκων (Μίας Διάστασης) 1. float []number; ή float number[]; 2. int []C; ή int C[]; 3. String []names; ή String names[]; Γενικός Ορισμός Πίνακα Τύπος_δεδομένων []Όνομα_Πίνακα; ή Τύπος_δεδομένων Όνομα_Πίνακα[]; ΠΡΟΣΟΧΗ: Με τη δήλωση ενός πίνακα απλώς δημιουργείται ένας pointer. Δε γίνεται ούτε κατανομή μνήμης για τον πίνακα, ούτε αρχικοποίησή του.

5 5 Ορισμός & Δημιουργία Πίνακα 1. C = new int[5]; -> Δημιουργία πίνακα C πέντε ακεραίων 2. Ισοδύναμα: int C[] = new int[5]; ή int []C = new int[5]; Οι παραπάνω εντολές δηλώνουν στο μεταγλωττιστή της Java ότι ο πίνακας C έχει 5 στοιχεία ακεραίου τύπου & δεσμεύεται αντίστοιχος χώρος στη μνήμη

6 6 Δήλωση πινάκων: type [] arrayName; int [] MyArray; Αρχικοποίηση πινάκων: ArrayName=new type[limit] MyArray= new int[10] b[0]=10 c[1]=20;

7 7 Αρχικοποίηση και Πρόσβαση στα Στοιχεία Πίνακα (1/2) int C[] = new int[5]; Πρόσβαση από: C[0] έως C[4] ΠΡΟΣΟΧΗ!!! Αρχικοποίηση με loop: for (int i=0; i<5; i++) C[i] = i; i: ΔΕΙΚΤΗΣ (index) Length=5

8 8 Αρχικοποίηση και Πρόσβαση στα Στοιχεία Πίνακα (2/2) Αρχικοποίηση κατά τη δήλωση: int []C = {5, 6, 34, 7}; Αρχικοποίηση βάσει άλλου πίνακα: int []C = {5, 6, 34, 7}; int []D = C;

9 9 Αναφορά στο πλήθος των στοιχείων ενός Πίνακα int []a = new int[100]; System.out.println(“Dimension of a: “+a.length); Επιστρέφει το πλήθος των στοιχείων του πίνακα (εδώ το 100) Γενικά: Όνομα_Πίνακα.length

10 10 Προσοχή στα όρια των Πινάκων… Έστω: int []my_array = new int[20]; Κάνοντας αναφορά σε στοιχείο εκτός ορίων του πίνακα, π.χ. στο my_array[21], παίρνω μήνυμα λάθους: Exception in thread “…” java.lang.ArrayIndexOutOfBoundsException: … Γι’ αυτό: for (int i=0; i

11 11 Πίνακες Δύο Διαστάσεων Δήλωση: float [][]AA; Ορισμός: ΑΑ = new float[4][8]; Ορισμός πίνακα 4 γραμμών και 8 στηλών (4x8) Επεξεργασία: for(int row=0; row<4; row++) for(int col=0; col<8; col++) AA[row][col] = …;

12 12 Αλφαριθμητικά στη Java (String)

13 13 Ορισμός string… Συνδυασμός χαρακτήρων μεταξύ: [a…z], [A…Z], [0…9], Μία συμβολοσειρά είναι μία σειρά από χαρακτήρες. Στη Java μία συμβολοσειρά υλοποιείται με τη κλάση String του πακέτου java.lang.

14 14 Δημιουργία string στη Java Δηλώσεις: String name; String name = “John”; String name = new String(5); Δήλωση μεταβλητής με όνομα name τύπου String Δήλωση μεταβλητής με όνομα name τύπου String και αρχική τιμή το “John” Δήλωση μεταβλητής με όνομα name, η οποία είναι ένα αντικείμενο τύπου String 5 χαρακτήρων Ένα String είναι ένα αντικείμενο και όπως όλα τα αντικείμενα πρέπει να δηλωθεί και να δημιουργηθεί με την εντολή new

15 15 Αναφορά στο πλήθος χαρακτήρων ενός string Δήλωση: String name = “George Bush”; Αναφορά: System.out.println(“Number of characters in name:” +name.length()); Γενικά: όνομα_string.length()

16 16 Συνένωση string Με χρήση του τελεστή + π.χ.: String s1 = “hello”; String s2 = “world”; String s_all = s1 + s2; //s_all <- “helloworld” int result = 1000; System.out.println(“Result= ” + result); ΠΡΟΣΟΧΗ!!!

17 17 Έλεγχος Ισότητας string Έλεγχος Ισότητας 2 string: π.χ.: String s1, s2; s1 = …; s2 = …; if(s1.equals(s2)) System.out.println(“Strings are identical”); else System.out.println(“Strings are different”); Γενικά: Όνομα_string1.equals(Όνομα_string2) ΠΡΟΣΟΧΗ: Μια συνήθης πηγή λαθών για τους νέους στη Java είναι η σύγκριση για ισότητα των String με τον τελεστή ==. Επειδή τα String είναι αντικείμενα ο τελεστής == δεν συγκρίνει τη τιμή τους, αλλά τη διεύθυνσή τους στη μνήμη.Αν θέλουμε να δούμε αν δύο String έχουν την ίδια τιμή θα πρέπει να χρησιμοποιήσουμε τη συνάρτηση equals

18 18 Μετατροπή κεφαλαίων χαρακτήρων σε πεζούς και αντίστροφα… π.χ.: String s1, s2, s3; s1 = “heLLo”; s2 = s1.toUpperCase(); s3 = s1.toLowerCase(); Σε κεφαλαία: s2 <- “HELLO” Σε πεζά: s3 <- “hello”

19 19 Υπο-αλφαριθμητικά (substring) Υπο-αλφαριθμητικά: String s1, s2; s1 = “hello there”; s2 = s1.substring(0, 4); Αποτέλεσμα: s2 <- “hell” Γενικά: αρχικό_string.substring(int αρχή, int τέλος) Επιστρέφει ένα νέο string το οποίο αποτελεί substring αυτού. Το 1o ακέραιο όρισμα καθορίζει τη θέση του πρώτου χαρακτήρα Το 2o ακέραιο όρισμα είναι η θέση του τελευταίου χαρακτήρα -1. Το μέγεθος του substring θα είναι το 2o int μείον το 1o int. Αν ο δεύτερος ακέραιος απουσιάζει τότε το substring εκτείνεται ως το τέλος του αρχικού string

20 20 Αντικατάσταση χαρακτήρων σε αλφαριθμητικό π.χ. String s1, s2; s1 = “test”; s2 = s1.replace(‘t’, ‘a’); Αποτέλεσμα: s2 <- “aesa” Γενικά: όνομα_string.replace(char αρχικά, char τελικά) Αντικαθιστά όλες τις εμφανίσεις του χαρακτήρα που ορίζεται ως 1ο όρισμα με το χαρακτήρα που ορίζεται ως 2ο όρισμα. Αν δε γίνουν αντικαταστάσεις επιστρέφεται το αρχικό string

21 21 Προσπέλαση μεμονωμένων χαρακτήρων σε string π.χ.: String s1 = “testing”; System.out.println(“Character at index 4 is:” + s1.charAt(4)); Γενικά: όνομα_string.charAt(int index) Επιστρέφει την τιμή του χαρακτήρα στη συγκεκριμένη θέση. Η θέση παίρνει τιμές από 0 έως length()-1. Η θέση του 1 ου χαρ/ηρα είναι 0, η επόμενη 1 κοκ. Αποτέλεσμα: Character at index 4 is: i

22 22 Έλεγχος ύπαρξης χαρακτήρων σε string π.χ.: String temp = “ACGTGCGC”; int location = temp.indexOf(‘G’); (Αποτέλεσμα: 2) Επιστρέφει τη θέση του 1ου ‘G’ που θα βρει, ξεκινώντας από την αρχή του string, διαφορετικά επιστρέφει -1 π.χ.: String temp = “ACGTGCGC”; int location = temp.lastIndexOf(‘G’); (Αποτέλεσμα: 6) Επιστρέφει τη θέση του 1ου ‘G’ που θα βρει, ξεκινώντας από το τέλος του string, διαφορετικά επιστρέφει -1

23 23 Έλεγχος ύπαρξης substring σε string π.χ.: String temp = “ACGTTTGC”; if(temp.indexOf(“TTG”)!=-1) System.out.println(“temp contains TTG”); else System.out.println(“temp doesn’t contain TTG”) Επιστρέφει τη θέση του 1ου “TTG” που θα βρει, ξεκινώντας από την αρχή του string, διαφορετικά επιστρέφει -1 Γενικά: Όνομα_string.indexOf(Όνομα_substring)

24 24 Μετατροπές Τύπων Δεδομένων

25 25 Από αριθμητικούς τύπους σε string Μέθοδος valueOf π.χ.: int n = 49; String n_to_string = String.valueOf(n); Αποτέλεσμα: n_to_string <- “49” Γενικά, κλήση ως: String.valueOf(αριθμητική έκφραση)

26 26 Από string σε τύπο ακεραίου π.χ.: String temp = “34567”; int temp_to_int = Integer.parseInt(temp); Αποτέλεσμα: temp_to_int < Γενικά, κλήση ως: Integer.parseInt(αλφαριθμητικό)

27 27 Type Casting… Έστω: int i = 8; int j = 7; float division = i/j; // division <- 1.0 (ακέραια διαίρεση) Για να διατηρηθεί η ακρίβεια της διαίρεσης κάνουμε type casting: float division = ((float)i)/j; // division < … Γίνεται: Αυτόματα Μη αυτόματα (T) N Όπου: T είναι το όνομα ενός αριθμητικού τύπου N το όνομα της μεταβλητής άλλου τύπου Το αποτέλεσμα είναι του τύπου T. byte -> short -> int -> long -> float -> double

28 28 Οι κυριότερες Μαθηματικές Συναρτήσεις της Java 1. abs(όρισμα) -> απόλυτη τιμή ορίσματος, π.χ. abs(-5.78) = pow(num,N) -> num N -> Ύψωση αριθμού σε δύναμη π.χ. pow(3,5)-> sqrt(όρισμα) -> τετραγωνική ρίζα αριθμού, π.χ. sqrt(4) -> 2 4. random() -> επιστρέφει ένα τυχαίο αριθμό μεταξύ 0 και 1, π.χ. random() -> 0.67 Κλήση μαθηματικών συναρτήσεων Math.συνάρτηση(ορίσματα)


Κατέβασμα ppt "1 Μάθημα : Βασικά Στοιχεία της Γλώσσας Java. 2 Πίνακες (Arrays) στη Java."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google