1 / 28

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

Μάθημα : Βασικά Στοιχεία της Γλώσσας Java. Πίνακες (Arrays) στη Java. Χρησιμότητα Πινάκων. Για τον ορισμό ομάδων τιμών του ίδιου τύπου, αντί να ορίζουμε ξεχωριστή μεταβλητή για να αποθηκεύουμε κάθε τιμή, χρησιμοποιούμε πίνακες ( arrays)

tad
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

  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. Αλφαριθμητικάστη Java (String)

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

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

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

  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. Έλεγχος Ισότητας 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. Μετατροπή κεφαλαίων χαρακτήρων σε πεζούς και αντίστροφα… • π.χ.: String s1, s2, s3; s1 = “heLLo”; s2 = s1.toUpperCase(); s3 = s1.toLowerCase(); Σε κεφαλαία: s2 <- “HELLO” Σε πεζά: s3 <- “hello”

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

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

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

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

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

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

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

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

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

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

More Related