Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

3.6 Η πίνακες Arrays στην Java

Τα πίνακες χρησιμοποιούνται για να αποθηκεύουν πολλαπλές τιμές σε μια μόνο μεταβλητή, αντί να δηλώνονται ξεχωριστές μεταβλητές για κάθε τιμή.

Για να δηλώσετε έναν πίνακα, ορίστε τον τύπο της μεταβλητής με αγκύλες:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
String[] CPU;
String[] CPU;
String[] CPU;

Ο παραπάνω κώδικας δηλώνει έναν πίνακα με το όνομα “CPU” τύπου String. Ο πίνακας είναι ακόμα κενός και μπορεί να γεμίσει με τιμές αργότερα στο πρόγραμμα.

Έχουμε πλέον δηλώσει μια μεταβλητή που κρατά έναν πίνακα από αλφαριθμητικές τιμές. Για να εισαγάγετε τιμές σε αυτόν, μπορείτε να τοποθετήσετε τις τιμές σε μια λίστα χωρισμένη με κόμματα, μέσα σε αγκύλες:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
String[] CPU = {"Intel Core i5", "AMD Ryzen 5", "Intel Core i7", "AMD Ryzen 7"};
String[] CPU = {"Intel Core i5", "AMD Ryzen 5", "Intel Core i7", "AMD Ryzen 7"};
String[] CPU = {"Intel Core i5", "AMD Ryzen 5", "Intel Core i7", "AMD Ryzen 7"};

Η παραπάνω δήλωση δημιουργεί έναν πίνακα με το όνομα “CPU” και αποθηκεύει τις τέσσερις τιμές στον πίνακα. Οι τιμές περικλείονται σε αγκύλες και χωρίζονται με κόμματα.

Για να δημιουργήσετε έναν πίνακα ακεραίων, μπορείτε να γράψετε:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int[] numbers = {10, 20, 30, 40, 50};
int[] numbers = {10, 20, 30, 40, 50};
int[] numbers = {10, 20, 30, 40, 50};

Στο παραπάνω παράδειγμα, δημιουργείται ένας πίνακας με το όνομα “numbers” που περιέχει πέντε ακέραιες τιμές, δηλαδή 10, 20, 30, 40 και 50.

Μπορείτε να αποκτήσετε πρόσβαση σε ένα στοιχείο του πίνακα αναφερόμενοι στον αριθμό ευρετηρίου.

Η παρακάτω εντολή αποκτά πρόσβαση στην τιμή του πρώτου στοιχείου στον πίνακα CPU:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
String firstCPU = CPU[0];
String firstCPU = CPU[0];
String firstCPU = CPU[0];

Στο παραπάνω παράδειγμα, η μεταβλητή firstCPU λαμβάνει την τιμή του πρώτου στοιχείου στον πίνακα CPU, δηλαδή το "Intel Core i5". Το στοιχείο αυτό αντιστοιχεί στον αριθμό ευρετηρίου 0, καθώς οι αριθμοί ευρετηρίου ξεκινούν από το μηδέν στον πίνακα.

Για να αλλάξετε την τιμή ενός συγκεκριμένου στοιχείου, αναφερθείτε στον αριθμό ευρετηρίου:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CPU[2] = "Intel Core i9";
CPU[2] = "Intel Core i9";
CPU[2] = "Intel Core i9";

Στο παραπάνω παράδειγμα, η τιμή του τρίτου στοιχείου στον πίνακα CPU αλλάζει από "Intel Core i7" σε "Intel Core i9". Ο αριθμός ευρετηρίου 2 αντιστοιχεί στο τρίτο στοιχείο του πίνακα, καθώς οι αριθμοί ευρετηρίου ξεκινούν από το μηδέν.

[adinserter block=”2″]

Ας υποθέσουμε ότι έχουμε έναν πίνακα με τα ονόματα των μαθητών σε μια τάξη:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
String[] students = {"Νίκος", "Μαρία", "Γιώργος", "Δημήτρης", "Ανδρέας"};
String[] students = {"Νίκος", "Μαρία", "Γιώργος", "Δημήτρης", "Ανδρέας"};
String[] students = {"Νίκος", "Μαρία", "Γιώργος", "Δημήτρης", "Ανδρέας"};

Για παράδειγμα, ας αλλάξουμε το όνομα του τέταρτου μαθητή από “Δημήτρης” σε “Ελένη”:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
students[3] = "Ελένη";
students[3] = "Ελένη";
students[3] = "Ελένη";

Μετά από αυτήν την εντολή, ο πίνακας students θα έχει την εξής μορφή:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{"Νίκος", "Μαρία", "Γιώργος", "Ελένη", "Ανδρέας"}
{"Νίκος", "Μαρία", "Γιώργος", "Ελένη", "Ανδρέας"}
{"Νίκος", "Μαρία", "Γιώργος", "Ελένη", "Ανδρέας"}

Παρατηρήστε ότι ο αριθμός ευρετηρίου για τον τέταρτο μαθητή είναι 3, αφού οι αριθμοί ευρετηρίου ξεκινούν από το μηδέν στον πίνακα.

Για να βρείτε πόσα στοιχεία έχει ένας πίνακας, χρησιμοποιήστε την ιδιότητα length:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int[] myNum = {10, 20, 30, 40};
int arrayLength = myNum.length;
System.out.println("The array has " + arrayLength + " elements.");
int[] myNum = {10, 20, 30, 40}; int arrayLength = myNum.length; System.out.println("The array has " + arrayLength + " elements.");
int[] myNum = {10, 20, 30, 40};
int arrayLength = myNum.length;
System.out.println("The array has " + arrayLength + " elements.");

Στο παραπάνω παράδειγμα, η μεταβλητή arrayLength παίρνει την τιμή του μήκους του πίνακα myNum, δηλαδή 4. Στη συνέχεια, με τη χρήση της μεθόδου println() τυπώνεται το μήνυμα “The array has 4 elements.”

Μπορείτε να περάσετε μέσα από τα στοιχεία ενός πίνακα με τη βοήθεια της επανάληψης for και να χρησιμοποιήσετε την ιδιότητα length για να καθορίσετε πόσες φορές πρέπει να εκτελεστεί η επανάληψη.

Το ακόλουθο παράδειγμα εμφανίζει όλα τα στοιχεία στον πίνακα CPU:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for (int i = 0; i < CPU.length; i++) {
System.out.println(CPU[i]);
}
for (int i = 0; i < CPU.length; i++) { System.out.println(CPU[i]); }
for (int i = 0; i < CPU.length; i++) {
  System.out.println(CPU[i]);
}

Στο παραπάνω παράδειγμα, η επανάληψη for περνά από κάθε στοιχείο στον πίνακα CPU και εκτυπώνει την τιμή του στην κονσόλα. Η συνθήκη i < CPU.length ελέγχει αν ο αριθμός επαναλήψεων που απαιτούνται είναι μικρότερος από το μήκος του πίνακα CPU. Ο αριθμός επαναλήψεων που απαιτούνται είναι ίσος με το μήκος του πίνακα CPU. Επειδή οι αριθμοί ευρετηρίου στον πίνακα ξεκινούν από το μηδέν, πρέπει να ελέγξετε αν i είναι μικρότερο από το μήκος του πίνακα, και όχι μικρότερο ή ίσο, για να αποφύγετε την προσπάθεια πρόσβασης σε ένα στοιχείο του πίνακα που δεν υπάρχει.

Επίσης, μπορείτε να χρησιμοποιήσετε μια βελτιωμένη μορφή της επανάληψης for, την λεγόμενη “for-each” επανάληψη. Με αυτήν τη μορφή της επανάληψης for, δεν χρειάζεται να χρησιμοποιήσετε μια μεταβλητή ευρετηρίου, αλλά μπορείτε να περάσετε κάθε στοιχείο απευθείας στην επανάληψη.

[adinserter block=”3″]

Το ακόλουθο παράδειγμα εμφανίζει όλα τα στοιχεία στον πίνακα GPU, χρησιμοποιώντας την “for-each” επανάληψη:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for (String item : GPU) {
System.out.println(item);
}
for (String item : GPU) { System.out.println(item); }
for (String item : GPU) {
  System.out.println(item);
}

Στο παραπάνω παράδειγμα, η “for-each” επανάληψη περνά από κάθε στοιχείο στον πίνακα GPU και εκτυπώνει την τιμή του στην κονσόλα. Η μεταβλητή item λαμβάνει κάθε στοιχείο στον πίνακα σε κάθε επανάληψη.

Για να δημιουργήσετε ένα πολυδιάστατο πίνακα, πρέπει να προσθέσετε κάθε πίνακα εντός των δικών του συνόλων αγκυλών:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int[][] numbers = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int[][] numbers = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int[][] numbers = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };

Στο παραπάνω παράδειγμα, δημιουργείται ένας δισδιάστατος πίνακας με 3 σειρές και 3 στήλες. Κάθε σειρά είναι ένας πίνακας, και κάθε στοιχείο στον κύριο πίνακα περιέχει έναν πίνακα ακεραίων.

Για να προσπελάσετε ένα στοιχείο στον πολυδιάστατο πίνακα, χρησιμοποιήστε τον αντίστοιχο αριθμό δείκτη για κάθε διάσταση. Για παράδειγμα, για να προσπελάσετε το στοιχείο 5 στον πίνακα numbers, μπορείτε να γράψετε:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int x = numbers[1][1];
int x = numbers[1][1];
int x = numbers[1][1];

Στο παραπάνω παράδειγμα, η πρώτη διάσταση (1) αναφέρεται στον δεύτερο πίνακα (4, 5, 6), και η δεύτερη διάσταση (1) αναφέρεται στο δεύτερο στοιχείο αυτού του πίνακα (5).

Μπορείτε επίσης να αλλάξετε την τιμή ενός στοιχείου στον πίνακα χρησιμοποιώντας τον αντίστοιχο δείκτη. Για παράδειγμα, για να αλλάξετε την τιμή του τελευταίου στοιχείου του πίνακα numbers σε 10, μπορείτε να γράψετε:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
numbers[2][2] = 10;
numbers[2][2] = 10;
numbers[2][2] = 10;

Στο παραπάνω παράδειγμα, η πρώτη διάσταση (2) αναφέρεται στην τρίτη σειρά του πίνακα, και η δεύτερη διάσταση (2) αναφέρεται στο τρίτο στοιχείο αυτής της σειράς.

Ναι, μπορούμε να χρησιμοποιήσουμε ένα for loop μέσα σε ένα άλλο for loop για να επιστρέψουμε τα στοιχεία ενός δισδιάστατου πίνακα (πρέπει ακόμη να δείξουμε τους δύο δείκτες):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int[][] numbers = { {1, 2}, {3, 4}, {5, 6} };
for (int i = 0; i < numbers.length; i++) {
for (int j = 0; j < numbers[i].length; j++) {
System.out.println(numbers[i][j]);
}
}
int[][] numbers = { {1, 2}, {3, 4}, {5, 6} }; for (int i = 0; i < numbers.length; i++) { for (int j = 0; j < numbers[i].length; j++) { System.out.println(numbers[i][j]); } }
int[][] numbers = { {1, 2}, {3, 4}, {5, 6} };
for (int i = 0; i < numbers.length; i++) {
  for (int j = 0; j < numbers[i].length; j++) {
    System.out.println(numbers[i][j]);
  }
}

Στο παραπάνω παράδειγμα, ο πρώτος βρόχος for περιηγείται στις γραμμές του πίνακα, ενώ ο δεύτερος βρόχος for περιηγείται στα στοιχεία κάθε γραμμής. Έτσι, θα εμφανίσει τα παρακάτω στοιχεία:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
1
2
3
4
5
6
1 2 3 4 5 6
1
2
3
4
5
6

Δωρεα μεσω Paypal

Για την κάλυψη αναγκών φιλοξενίας και δημιουργίας περιεχομένου.

κατηγοριες μαθηματων

Ιστορικο ενοτητων

top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων