User Tools

Site Tools


java:arrays

Differences

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

Link to this comparison view

java:arrays [2018/02/03 15:52]
gthanos [Πίνακες δύο διαστάσεων]
java:arrays [2022/02/23 15:35]
Line 1: Line 1:
-====== Πίνακες ====== 
  
-Οι πίνακες στην γλώσσα προγραμματισμού **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** αντίστοιχα. Παρατηρήστε ότι κατά τον ορισμό του πίνακα ο τελεστής **[]** μπορεί να τοποθετηθεί πριν ή μετά το όνομα της μεταβλητής. 
- 
-<WRAP tip 80% round center> 
-Σημειώστε ότι κατά σύμβαση προτιμάται η τοποθέτηση του τελεστή **[]** πριν το όνομα της μεταβλητής, και όχι μετά. 
-</WRAP> 
- 
-Εναλλακτικά, μπορείτε να ορίσετε το μέγεθος του πίνακα ορίζοντας και τα περιεχόμενα του στην δήλωση ορισμού του, όπως στο παρακάτω παράδειγμα: 
-<code java> 
-int[] numbers = {1,2,3,4,5,6,7,8,9,10}; 
-</code> 
- 
-Η αρίθμηση των στοιχείων του πίνακα ξεκινάει από τον δείκτη 0 και αυξάνει. Για παράδειγμα για ένα πίνακα 10 θέσεων, η αρίθμηση των στοιχείων του είναι **0-9**, όπως φαίνεται στο παρακάτω σχήμα. 
- 
-{{  :java:objects-tenelementarray.gif  }} 
- 
-Μπορείτε να δείτε ενδεικτικά το παρακάτω πρόγραμμα, όπου ορίζεται ένας πίνακας ακεραίων μεγέθους 3, ο πίνακας γεμίζει με τιμές και στη συνέχεια εκτυπώνονται τα περιεχόμενα του. 
- 
-<code java ArrayDemo.java> 
-class ArrayDemo { 
-  public static void main(String[] args) { 
-    int[] anArray; 
- 
-    anArray = new int[3]; 
-        
-    anArray[0] = 100; 
-    anArray[1] = 200; 
-    anArray[2] = 300; 
-     
-    for(int i=0; i < anArray.length; i++) { 
-      System.out.println("Element at index " + i + "/" + anArray.length+": " + anArray[i]); 
-    } 
-    
-    int j=0; 
-    for(int element: anArray) {       
-      System.out.println("Element at index " + (j++) + "/" + anArray.length+": " + element); 
-    }  
-  } 
-} 
-</code> 
- 
-<WRAP important 80% round center> 
-Οι πίνακες στη Java υλοποιούνται ως αντικείμενα (//θα τα δούμε αναλυτικά παρακάτω//). __Εφόσον αρχικοποιηθεί ένας πίνακας το μέγεθος του είναι σταθερό και δεν αλλάζει__.  
- 
-Κάθε αντικείμενο πίνακα έχει ένα πεδίο **length** που αποθηκεύει το μέγεθος του πίνακα (π.χ. δείτε στο πρόγραμμα ''anArray.length'') και για το οποίο δεν μπορούμε να μεταβάλλουμε την τιμή του (δηλαδή είναι final field). Μέσω του πεδίου //length// μπορείτε να έχετε πρόσβαση στο μέγεθος του κάθε πίνακα. 
-</WRAP> 
- 
-<WRAP tip 80% round center> 
-Κατεβάστε και εκτελέστε το παραπάνω πρόγραμμα. Παρατηρήστε ότι η κλήση της μεθόδου **System.out.println** εκτυπώνει στην κονσόλα σας ένα αλφαριθμητικό κατά την εκτέλεση του προγράμματος ακολουθούμενο από χαρακτήρα αλλαγής γραμμής. Εναλλακτικά της **System.out.println** μπορείτε να χρησιμοποιείτε και την μέθοδο **System.out.print**, όπου ο χαρακτήρας αλλαγής γραμμής παραλείπεται. 
-</WRAP> 
-===== Πίνακες δύο διαστάσεων ===== 
- 
-Οι πίνακες δύο διαστάσεων ορίζονται σε αναλογία με τους πίνακες μίας διάστασης ως εξής: 
- 
-<code java> 
-int [][] anArray; 
-anArray = new int[3][5]; 
-      ή 
-int [][] anArray = new int[3][5]; 
-</code> 
- 
-Το παραπάνω παράδειγμα ορίζει ένα πίνακα διαστάσεων **3x5**. __Η ιδιαιτερότητα της Java είναι ότι μπορούμε να έχουμε διαφορετικό αριθμό στηλών σε κάθε γραμμή του πίνακα__. Δείτε το παρακάτω πρόγραμμα που περιέχει ένα πίνακα δύο διαστάσεων. Στην πρώτη γραμμή του πίνακα έχουμε 3 στοιχεία, ενώ στην 2η δύο στοιχεία. 
-<code java MultiDimArrayDemo.java> 
-class MultiDimArrayDemo { 
-  public static void main(String[] args) { 
-    String [][] names; 
-    names = new String[3][]; 
-    names[0] = new String[3]; 
-    names[1] = new String[5]; 
-    names[2] = new String[4]; 
-     
-    names[0][0]="Mr. "; names[0][1]="Mrs. "; names[0][2]="Ms. "; 
-    names[1][0]="Susan "; names[1][1]="Peter "; names[1][2]="Edgar "; names[1][3]="Mary "; names[1][4]="Linda "; 
-    names[2][0]="Smith"; names[2][1]="Jones"; names[2][2]="Williams"; names[2][3]="Taylor"; 
-     
-    System.out.println(names[0][0] + names[1][1] + names[2][3] + " enters the room."); 
-    System.out.println(names[0][1] + names[1][3] + names[2][2] + " leaves the room."); 
-  } 
-} 
-</code> 
- 
- 
-| Προηγούμενο: [[java:variables | Μεταβλητές]] | [[:toc | Περιεχόμενα ]]   | Επόμενο: [[java:operators | Τελεστές ]]  | 
java/arrays.txt · Last modified: 2022/02/23 15:35 (external edit)