Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 6: Πίνακες και Παράμετροι στην main. Διδάσκων: Νικόλαος Θ Λιόλιος,

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ποιότητα Λογισμικού Ενότητα 4: Παράδειγμα Ελέγχου. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής Εκπαίδευσης.
Advertisements

Ποιότητα Λογισμικού Ενότητα 3: Σουίτες Ελέγχων. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής Εκπαίδευσης.
Ποιότητα Λογισμικού Ενότητα 2: Παραμετρικοί έλεγχοι στο JUnit. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 8: Πίνακας Συμβόλων Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 11: Βελτιστοποίηση Ενδιάμεσου Κώδικα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
Διδακτική Πληροφορικής
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 4: Συμβολοσειρές και Δομές Ελέγχου. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 9: Κληρονομικότητα. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα.
Δομές Δεδομένων και Αρχεία
Διδακτική Πληροφορικής
Διδακτική Πληροφορικής Ενότητα 2: Η εξέλιξη των εργαλείων της Εκπαίδευσης. Διδάσκων: Γεώργιος Σούλτης, Επίκουρος Καθηγητής. Τμήμα Μηχανικών Πληροφορικής,
Διδακτική Πληροφορικής Ενότητα 3: Η Πληροφορική στην Εκπαίδευση. Διδάσκων: Γεώργιος Σούλτης, Επίκουρος Καθηγητής. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Προγραμματισμός ΗΥ Ενότητα 6: Δισδιάστατοι πίνακες.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 8: Κατασκευαστές. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα.
Αντικειμενοστραφής Προγραμματισμός Ι
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 10: Αφηρημένες τάξεις. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής.
Τεχνολογία Ξύλου 1 Ενότητα 13: Ποιότητα και Πιστοποίηση Ξυλείας Διδάσκων: Δρ. Μιχάλης Σκαρβέλης, Αναπληρωτής Καθηγητής. Τμήμα Σχεδιασμού και Τεχνολογίας.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Εκπαιδευτικά Προγράμματα με Χρήση Η/Υ ΙΙ Θέμα «παιγνίδια» (website address) Διδάσκουσα: Καθηγήτρια Τζένη.
Πολυδιάστατοι Πίνακες στην JAVA ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ.
Στοιχεία Μηχανών ΙΙ Ενότητα 3: Μετωπικοί τροχοί με κεκλιμένη οδόντωση – Κωνικοί οδοντωτοί τροχοί Δρ Α. Δ. Τσολάκης Τμήμα Μηχανολόγων Μηχανικών Τ.Ε. ΕΛΛΗΝΙΚΗ.
Αρχές Διοίκησης και Διαχείρισης Έργων Ενότητα 12: Οικονομική Διαχείριση Έργων – Ταμειακές Ροές. Διδάσκων: Φιτσιλής Παναγιώτης, Καθηγητής. Τμήμα Διοίκησης.
Τμήμα Τεχνολόγων Γεωπόνων Τίτλος Μαθήματος: ΚΑΛΛΩΠΙΣΤΙΚΑ ΔΕΝΤΡΑ ΚΑΙ ΘΑΜΝΟΙ Ενότητα 12: Οδηγίες δημιουργίας φυτολογίου Γρηγόριος Βάρρας Αν. Καθηγητής Άρτα,
Διοίκηση Ανθρωπίνων Πόρων Ενότητα 3: Προσέλκυση Ανθρώπινου Δυναμικού. Διδάσκων: Γεώργιος Ασπρίδης, Επίκουρος Καθηγητής. Τμήμα Διοίκησης Επιχειρήσεων.
Ενότητα 7 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (I) Ιωάννης Τσούλος
Αντικειμενοστραφής Προγραμματισμός Ι
Πίνακες και αλφαριθμητικά
Προγραμματισμός κινητών συσκευών
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
Προγραμματισμός ΗΥ Ενότητα 11: Header Files. Διδάσκων: Ηλίας Κ Σάββας,
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
Επιχειρησιακές Επικοινωνίες
Ποιοτικός Έλεγχος Πρώτων Υλών
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(9)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 9: Δείκτες και Δυναμική Διαχείριση Μνήμης.
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Διαχείριση Κινδύνου Ενότητα 7: Παρακολούθηση Κινδύνων.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(3)
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Ενότητα 4 : Τελεστές της γλώσσας PHP Ιωάννης Τσούλος
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός κινητών συσκευών
Ηλεκτρικές Μηχανές ΙΙ Ενότητα 5: Κανονικοποιημένες Καμπύλες
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Επιχειρησιακές Επικοινωνίες
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(7)
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(4)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΕνΟτητα # 8: Ms Word V CLAUDIA BOETTCHER ΤμΗμα ΙστορΙαΣ
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(5)
ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός κινητών συσκευών
Προγραμματισμός ΗΥ Ενότητα 12: Αρχεία Δομών. Διδάσκων: Ηλίας Κ Σάββας,
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Μεταγράφημα παρουσίασης:

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 6: Πίνακες και Παράμετροι στην main. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής Εκπαίδευσης.

Άδειες χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην παρακάτω άδεια χρήσης Creative Commons (C C): Αναφορά δημιουργού (B Y), Μη εμπορική χρήση (N C), Μη τροποποίηση (N D), 3.0, Μη εισαγόμενο. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Ο αναγνώστης να μπορεί να διαχειρίζεται μονοδιάστατους και δισδιάστατους πίνακες. Όπως επίσης και ακανόνιστους πίνακες. Πίνακες4

Περιεχόμενα ενότητας 1) Πίνακες (δήλωση, δημιουργία, αποθήκευση) 2) Πίνακες δύο διαστάσεων 3) Ακανόνιστοι πίνακες 4) Εμβέλεια μεταβλητών 5) Παράμετροι στην main Πίνακες5

 Οι πίνακες, όπως και στις άλλες γλώσσες προγραμματισμού, είναι δομές δεδομένων για την συλλογή και διαχείριση δεδομένων του ιδίου τύπου. Η διαφορά με τις περισσότερες από τις άλλες γλώσσες, είναι ότι οι πίνακες στη Java είναι αντικείμενα, και έχουν και ιδιότητες όπως η length, που μας δείχνει ποιό είναι το μέγεθος ενός πίνακα. Πίνακες6

Δήλωση πινάκων  Η δήλωση ενός πίνακα γίνεται ως εξής: τύπος[] όνομα; ή τύπος όνομα[]; όπως για παράδειγμα στην ακόλουθη δήλωση: int[] arrayOfInts; ή int arrayOfInts[]; που δηλώνει ένα πίνακα ακεραίων με το όνομα arrayOfInts. Πίνακες7

Δημιουργία πινάκων  Η δημιουργία του πίνακα δεν είναι απαραίτητο να γίνει ταυτόχρονα με την δήλωσή του, μπορεί να γίνει και αργότερα, όπως δείχνει το ακόλουθο τμήμα κώδικα: int arrayOfInts[];... arrayOfInts = new int[10];... Σε κάθε περίπτωση πάντως, δεν επιτρέπεται η αναφορά σε στοιχεία του πίνακα, πριν να δημιουργηθεί ο πίνακας με την εντολή new. Πίνακες8

Αποθήκευση στοιχείων στον πίνακα  Η αποθήκευση στοιχείων στον πίνακα, μπορεί να γίνει ταυτόχρονα με την δήλωσή του, όπως δείχνει το ακόλουθο τμήμα κώδικα: double[] arrayOfNumbers = {3.1, 2.219, 3.55, 6.1}; Πίνακες9

Παράδειγμα 1: Xρήση πινάκων  Το ακόλουθο τμήμα κώδικα, δημιουργεί έναν πίνακα 10 ακεραίων, και στη συνέχεια τοποθετεί μέσα σε αυτόν τους ακεραίους, από το 0 μέχρι το int intArr[] = new int[10]; for (int i=0; i<intArr.length; i++) intArr[i] = i;... Πίνακες10

Παράδειγμα 2: Χρήση πινάκων  Το ακόλουθο τμήμα κώδικα, εμφανίζει τα στοιχεία που βρίσκονται στον πίνακα arrayOfInts. Παρατηρείστε τη χρήση της ιδιότητας length, για να αναφερθούμε στο μήκος του πίνακα:... for (int i=0; i<arrayOfInts.length; i++) System.out.println(arrayOfInts[i]);... Πίνακες11

Πολυδιάστατοι πίνακες  Στη Java μπορείτε να έχετε πίνακες δύο, τριών, τεσσάρων, και τα λοιπά διαστάσεων. Στη πράξη όμως σπάνια συναντούμε περιπτώσεις, στις οποίες η χρήση πινάκων που έχουν περισσότερες από τρεις διαστάσεις. Πίνακες12

Δισδιάστατοι πίνακες Η αρχικοποίηση ενός δισδιάστατου πίνακα, ακολουθεί τη λογική ενός μονοδιάστατου: τύπος[ ][ ] όνομα_πίνακα = { { τιμή1, τιμή2,...,τιμήN },... τιμή1, τιμή2,...,τιμήN }, };  Π.χ. int[][] a1 = new int[][] { { 1, 2, 3 }, { 4, 5, 6 } }; int[][] a11 = new int[3][4]; Πίνακες13

Παράδειγμα χρήσης πίνακα δύο διαστάσεων class Array2 { public static void main(String[] args) { int marks[][] = new int[3][10]; for (int i = 0; i < marks.length; i++) { for (int j = 0; j < marks[i].length; j++){ marks[i][j] = i * j; System.out.print (marks[i][j] + " "); } System.out.println (); } Πίνακες14

Ακανόνιστοι πίνακες  Η Java επιτρέπει τη δήλωση και χρήση ενός πίνακα πινάκων, δηλαδή ενός πίνακα, του οποίου το μήκος κάθε γραμμής δεν είναι ίδιο. Η γενική μορφή δήλωσης είναι η εξής: τύπος[][] όνομα_πίνακα = new τύπος[μέγεθος][];  Το μέγεθος καθορίζει τον αριθμό των γραμμών. Το μήκος κάθε σειράς δεν έχει καθοριστεί, θα γίνει μεμονωμένα, πχ: int[][] x = new int[3][]; x[0] = new int[3]; x[1] = new int[2]; x[2] = new int[4]; Πίνακες15

Σχηματική αναπαράσταση ακανόνιστου πίνακα int[][] x = new int[3][]; x[0] = new int[3]; x[1] = new int[2]; x[2] = new int[4]; Πίνακες16

Εμβέλεια μεταβλητών (scope)  Η εμβέλεια μίας μεταβλητής είναι η περιοχή εκείνη του προγράμματός μας, στην οποία η μεταβλητή είναι ορατή, και καθορίζει πότε η μεταβλητή δημιουργείται και καταστρέφεται.  Υπάρχουν τέσσερα είδη μεταβλητών, με αντίστοιχα τέσσερις περιοχές εμβέλειας:  Μεταβλητές μέλη με εμβέλεια την τάξη.  Τοπικές μεταβλητές με εμβέλεια την ομάδα εντολών στην οποία δηλώνονται.  Παράμετροι μεθόδων με εμβέλεια την μέθοδο μέσα στην οποία δηλώνονται, και  Παράμετροι χειριστών εξαιρέσεων, με εμβέλεια την ομάδα εντολών του χειριστή εξαιρέσεων. Πίνακες17

Οι παράμετροι της main  Όπως ήδη θα έχετε παρατηρήσει στη μέθοδο main, περνιέται σαν παράμετρος ένας πίνακας από String, που το ονομάσαμε args. Αυτός ο πίνακας είναι μία σειρά παραμέτρων, που μπορούν να περαστούν στην εφαρμογή όταν την ξεκινάμε, ως εξής: java ….  Π.χ., java CheckUser Master. Παράμετροι στην main18

Παράδειγμα με παραμέτρους class CheckUser { public static void main(String[] args) { if (args[0].equals("Master") ) { System.out.println("Welcome Master!"); //Kane kati epitrepto mono gia //tous Masters } else System.out.println(“Unauthorized User!”); } Παράμετροι στην main19

Τέλος έκτης ενότητας