java:arrays

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
java:arrays [2015/02/06 14:01]
gthanos [Πίνακες δύο διαστάσεων]
java:arrays [2016/01/15 05:29]
gthanos [Πίνακες]
Line 1: Line 1:
 ====== Πίνακες ====== ====== Πίνακες ======
  
-Οι πίνακες στην γλώσσα προγραμματισμού Java ορίζονται σε αναλογία με την C ως ένα σύνολο τιμών του ιδίου τύπου δεδομένων του οποίου ο αριθμός των μελών είναι προαποφασισμένος και δεν αλλάζει. +Οι πίνακες στην γλώσσα προγραμματισμού ​**Java** ορίζονται σε αναλογία με την ​**C** ως ένα σύνολο τιμών του ιδίου τύπου δεδομένων του οποίου ο αριθμός των μελών ​ορίζεται κατά την αρχικοποίηση του πίνακα. Η αρχικοποίηση ενός πίνακα γίνεται με χρήση του τελεστή **new**, σε μία δήλωση της μορφής 
 + 
 +<code java> 
 +int [] anArray; anArray = new int[5]; 
 +int anotherArray[];​ anotherArray[] = new int[10]; 
 +     ή 
 +int [] anArray = new int[5]; 
 +int anotherArray[] = new int[10]; 
 +</​code>​ 
 + 
 +Ο παραπάνω κώδικας ορίζει δύο πίνακες τύπου **int** μεγέθους **5** και **10** αντίστοιχα. Παρατηρήστε ότι κατά τον ορισμό του πίνακα ​ο τελεστής **[]** μπορεί να τοποθετηθεί πριν η μετά το όνομα της μεταβλητής. 
 + 
 +Η αρίθμηση των στοιχείων του πίνακα ξεκινάει από τον ​δείκτη 0 και αυξάνει. Για παράδειγμα για ένα πίνακα 10 θέσεων,​ η αρίθμηση των στοιχείων του είναι **0-9**, όπως φαίνεται στο παρακάτω σχήμα.
  
 {{  :​java:​objects-tenelementarray.gif ​ }} {{  :​java:​objects-tenelementarray.gif ​ }}
  
-Μπορείτε να δείτε ενδεικτικά το παρακάτω πρόγραμμα+Μπορείτε να δείτε ενδεικτικά το παρακάτω πρόγραμμα, όπου ορίζεται ένας πίνακας ακεραίων μεγέθους 3, ο πίνακας γεμίζει με τιμές και στη συνέχεια εκτυπώνονται τα περιεχόμενα του.
  
 <code java ArrayDemo.java>​ <code java ArrayDemo.java>​
Line 19: Line 31:
         anArray[1] = 200;         anArray[1] = 200;
         anArray[2] = 300;         anArray[2] = 300;
- +        ​ 
-        ​System.out.println("​Element at index 0: " +        ​for(int i=0; i<​anArray.length;​ i++) { 
-                           anArray[0]); +          System.out.println("​Element at index "+i+"/"​+anArray.length+": "+ anArray[0]); 
-        System.out.println("​Element at index 1: " +        }
-                           + anArray[1]); +
-        System.out.println("Element at index 2: " +
-                           + anArray[2]);+
     }     }
 } }
 </​code>​ </​code>​
 +
 +<WRAP important 80% round center>
 +Οι πίνακες στη Java υλοποιούνται ως αντικείμενα (//θα τα δούμε αναλυτικά παρακάτω//​). Κάθε αντικείμενο έχει ένα πεδίο **length** που αποθηκεύει το μέγεθος του πίνακα (π.χ. ''​anArray.length''​) και το οποίο δεν μεταβάλει την τιμή του (δηλαδή είναι final field). Μέσω του πεδίου //length// μπορείτε να έχετε πρόσβαση στο μέγεθος του κάθε πίνακα.
 +</​WRAP>​
  
 ===== Πίνακες δύο διαστάσεων ===== ===== Πίνακες δύο διαστάσεων =====
  
-Δείτε το παρακάτω πρόγραμμα που περιέχει ένα πίνακα ​δύο ​διαστάσεων. __Η ιδιαιτερότητα της Java σε σχέση με την C είναι ότι μπορούμε να έχουμε διαφορετικό μήκος ​στηλών σε κάθε γραμμή__.+Οι πίνακες δύο διαστάσεων ορίζονται σε αναλογία με τους πίνακες μίας διάστασης ​ως εξής 
 + 
 +<code java> 
 +int [][] anArray; 
 +anArray = new int[3][5];​ 
 +      ή 
 +int [][] anArray = new int[3][5];​ 
 +</​code>​ 
 + 
 +Το παραπάνω ​παράδειγμα ορίζει ένα πίνακα διαστάσεων ​**3x5**. __Η ιδιαιτερότητα της Java σε σχέση με την C είναι ότι μπορούμε να έχουμε διαφορετικό ​αριθμό στηλών σε κάθε γραμμή ​του πίνακα__. Δείτε το παρακάτω πρόγραμμα που περιέχει ένα πίνακα δύο διαστάσεων. Στην πρώτη γραμμή του πίνακα έχουμε 3 στοιχεία,​ ενώ στην 2η δύο στοιχεία.
 <code java MultiDimArrayDemo.java>​ <code java MultiDimArrayDemo.java>​
 class MultiDimArrayDemo { class MultiDimArrayDemo {
java/arrays.txt · Last modified: 2018/02/16 17:25 by gthanos