User Tools

Site Tools


java:arrays

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:arrays [2018/02/12 21:22] – [Πίνακες αναφορικού τύπου] gthanosjava:arrays [2022/02/23 15:35] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Πίνακες ====== ====== Πίνακες ======
  
-Οι πίνακες στην γλώσσα προγραμματισμού **Java** ορίζονται σε αναλογία με την **C** ως ένα σύνολο τιμών του ιδίου τύπου δεδομένων του οποίου ο αριθμός των μελών ορίζεται κατά την αρχικοποίηση του πίνακα. Η αρχικοποίηση ενός πίνακα γίνεται με χρήση του τελεστή **new**, σε μία δήλωση της μορφής+Οι πίνακες στην γλώσσα προγραμματισμού **Java** ορίζονται ως ένα σύνολο τιμών του ιδίου τύπου δεδομένων του οποίου ο αριθμός των μελών ορίζεται κατά την αρχικοποίηση του πίνακα. Η αρχικοποίηση ενός πίνακα γίνεται μέσω του τελεστή **new**, με μία δήλωση της μορφής
  
 <code java> <code java>
Line 16: Line 16:
  
 <WRAP tip 80% round center> <WRAP tip 80% round center>
-Σημειώστε ότι κατά σύμβαση προτιμάται η τοποθέτηση του τελεστή **[]** πριν το όνομα της μεταβλητής, και όχι μετά.+Προτιμάται η τοποθέτηση του τελεστή **[]** πριν το όνομα της μεταβλητής, και όχι μετά.
 </WRAP> </WRAP>
  
Line 77: Line 77:
     int i=0;     int i=0;
     for(Rectangle rectangle : rectangles) {     for(Rectangle rectangle : rectangles) {
-      String str = "rectangles["+(i++)+"]: "; +      System.out.println("rectangles["+(i++)+"]: ")
-      str = str + "("+rectangle.getOrigin().getX()+","+rectangle.getOrigin().getY()+")\t"; +      System.out.println("("+rectangle.getOrigin().getX()+","+rectangle.getOrigin().getY()+")\t")
-      str = str + "width: "+rectangle.getWidth()+", height: "+rectangle.getHeight()+      System.out.println("width: "+rectangle.getWidth()+", height: "+rectangle.getHeight());
-      System.out.println(str);+
     }     }
          
Line 93: Line 92:
 Εάν επιχειρήσουμε να σχεδιάσουμε το παραπάνω διάγραμμα αυτό θα δείχνει ως εξής: Εάν επιχειρήσουμε να σχεδιάσουμε το παραπάνω διάγραμμα αυτό θα δείχνει ως εξής:
  
-|Αρχικά δημιουργείται ένας πίνακας που όλα τα στοιχεία του είναι **null**.  |Στη συνέχεια δημιουργούμε αντικείμενα και τα αναθέτουμε σε κάθε θέση του πίνακα. Οι θέσεις 0 και 1 δείχνουν στο αντικείμενο που δείχνει και η μεταβλητή **rectOne**.  |Η ανάθεση του αντικειμένου της θέσης 3 στην θέση 2 δημιουργεί ένα αντικείμενο για το οποίο δεν υπάρχει αναφορά. Το αντικείμενο αυτό καταστρέφεται από τον [[java:objects#garbage_collection|Garbage Collector]].  |+| Αρχικά δημιουργείται ένας πίνακας που όλα τα στοιχεία του είναι **null**.  | Στη συνέχεια δημιουργούμε αντικείμενα και τα αναθέτουμε σε κάθε θέση του πίνακα. Οι θέσεις 0 και 1 του πίνακα δείχνουν στο αντικείμενο που δείχνει και η μεταβλητή **rectOne**.  | Η ανάθεση του αντικειμένου της θέσης 3 στην θέση 2 αφαιρεί την αναφορά από το αντικείμενο με πλάτος 50 και ύψος 100. Εφόσον δεν υπάρχουν αναφορές προς αυτό, το αντικείμενο αυτό καταστρέφεται από τον [[java:objects#garbage_collection|Garbage Collector]]. Μαζί καταστρέφεται και το αντικείμενο τύπου Point στο οποίο δείχνει το πεδίο origin του αντικειμένου προς διαγραφή.  |
 |  {{ :java:createrectangletable1.png?150 |}}  |  {{  :java:createrectangletable2.png?  |}}|  {{:java:createrectangletable3.png?  |}}  | |  {{ :java:createrectangletable1.png?150 |}}  |  {{  :java:createrectangletable2.png?  |}}|  {{:java:createrectangletable3.png?  |}}  |
  
Line 128: Line 127:
 </code> </code>
  
 +== Επεξήγηση του παραπάνω κώδικα ==
 +| ''names = new String[3][];'' | Αρχικά δεσμεύουμε ένα μονοδιάστατο πίνακα που τα στοιχεία του είναι μονοδιάστατοι πίνακες από [[https://docs.oracle.com/javase/8/docs/api/java/lang/String.html|java.lang.String]]. |
 +| ''names[0] = new String[3]; names[1] = new String[5]; names[2] = new String[4];'' |Για κάθε θέση του παραπάνω πίνακα δεσμεύουμε ένα νέο μονοδιάστατο πίνακα από [[https://docs.oracle.com/javase/8/docs/api/java/lang/String.html|java.lang.String]]. Οι νέοι πίνακες δεν έχουν απαραίτητα το ίδιο μέγεθος. |
  
-| Προηγούμενο: [[java:objects| Δημιουργία Αντικειμένων]] | [[:toc | Περιεχόμενα ]]   | Επόμενο: [[java:public_private_access_modifiers Περιορισμός της πρόσβασης με τους προσδιοριστές private και public]]  |+ 
 +| Προηγούμενο: [[java:objects| Δημιουργία Αντικειμένων]] | [[:toc | Περιεχόμενα ]]   | Επόμενο: [[java:this_operator Ο τελεστής this]]  |
java/arrays.1518470544.txt.gz · Last modified: 2018/02/12 21:22 by gthanos