2.1 Τύποι δεδομένων στην Java

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

  • byte: αποθηκεύει ακέραιους αριθμούς από -128 έως 127.
  • short: αποθηκεύει ακέραιους αριθμούς από -32.768 έως 32.767.
  • int: αποθηκεύει ακέραιους αριθμούς από -2.147.483.648 έως 2.147.483.647.
  • long: αποθηκεύει μεγάλους ακέραιους αριθμούς από -9.223.372.036.854.775.808 έως 9.223.372.036.854.775.807.
  • float: αποθηκεύει δεκαδικούς αριθμούς με μικρή ακρίβεια.
  • double: αποθηκεύει δεκαδικούς αριθμούς με μεγαλύτερη ακρίβεια από το float.
  • boolean: αποθηκεύει τιμές true ή false για λογικές προτάσεις.
  • char: αποθηκεύει έναν χαρακτήρα, όπως το γράμμα “a” ή το σύμβολο “$”.

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

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

Οι τύποι δεδομένων διακρίνονται σε δύο κατηγορίες:

  1. Βασικοί τύποι δεδομένων – Περιλαμβάνουν τους τύπους byte, short, int, long, float, double, boolean και char. Οι τύποι αυτοί χρησιμοποιούνται για την αποθήκευση απλών τιμών όπως ακέραιοι αριθμοί, δεκαδικοί αριθμοί, λογικές τιμές και χαρακτήρες.
  2. Μη βασικοί τύποι δεδομένων – Περιλαμβάνουν τους τύπους String για ακολουθίες χαρακτήρων, τους πίνακες (Arrays) για την αποθήκευση συλλογών τιμών του ίδιου τύπου και τις κλάσεις (Classes) που αντιπροσωπεύουν αντικείμενα με συγκεκριμένες ιδιότητες και συμπεριφορές. Περισσότερες πληροφορίες σχετικά με αυτούς τους τύπους θα μάθετε σε μεταγενέστερα κεφάλαια.

Οι βασικοί τύποι δεδομένων τύποι δεδομένων στη Java είναι οκτώ:

Τύπος δεδομένωνΜέγεθοςΠεριγραφή
byte1 byteΑποθηκεύει ακέραιους αριθμούς από -128 έως 127
short2 bytesΑποθηκεύει ακέραιους αριθμούς από -32,768 έως 32,767
int4 bytesΑποθηκεύει ακέραιους αριθμούς από -2,147,483,648 έως 2,147,483,647
long8 bytesΑποθηκεύει ακέραιους αριθμούς από -9,223,372,036,854,775,808 έως 9,223,372,036,854,775,807
float4 bytesΑποθηκεύει δεκαδικούς αριθμούς. Επαρκής για την αποθήκευση 6 έως 7 δεκαδικών ψηφίων
double8 bytesΑποθηκεύει δεκαδικούς αριθμούς. Επαρκής για την αποθήκευση 15 δεκαδικών ψηφίων
boolean1 bitΑποθηκεύει τιμές true ή false
char2 bytesΑποθηκεύει έναν μοναδικό χαρακτήρα/γράμμα ή τιμές ASCII

Οι τύποι αριθμών στην Java χωρίζονται σε δύο κατηγορίες:

  1. Οι ακέραιοι τύποι αποθηκεύουν ακέραιους αριθμούς χωρίς δεκαδικά ψηφία. Οι έγκυροι τύποι αριθμών είναι οι byte, short, int και long. Ο τύπος που πρέπει να χρησιμοποιηθεί εξαρτάται από την αριθμητική τιμή που θέλουμε να αποθηκεύσουμε.
  2. Οι αριθμοί με δεκαδικά ψηφία αναπαριστούν αριθμούς με δεκαδικό μέρος, συμπεριλαμβανομένου ενός ή περισσοτέρων δεκαδικών ψηφίων. Στην Java, υπάρχουν δύο τύποι για αυτούς τους αριθμούς: ο τύπος float και ο τύπος double. Ο τύπος double παρέχει μεγαλύτερη ακρίβεια σε σχέση με τον τύπο float και συνήθως χρησιμοποιείται περισσότερο.

Ανάλογα με τον τύπο των αριθμητικών τιμών που θέλουμε να αναπαραστήσουμε, επιλέγουμε τον κατάλληλο τύπο δεδομένων για να αποθηκεύσουμε τις τιμές αυτές.

[adinserter block=”2″]

Ο τύπος δεδομένων byte στη Java μπορεί να αποθηκεύσει ακέραιους αριθμούς στο εύρος από -128 έως 127. Αυτός ο τύπος δεδομένων είναι χρήσιμος όταν θέλουμε να εξοικονομήσουμε μνήμη και γνωρίζουμε ότι οι τιμές μας θα είναι εντός αυτού του εύρους.

Ένα παράδειγμα χρήσης του τύπου byte στην Java μπορεί να είναι η αποθήκευση της ηλικίας ενός ατόμου:

byte age = 25;

Σε αυτήν την περίπτωση, η μεταβλητή “age” μπορεί να αποθηκεύσει την ηλικία από -128 έως 127, εξοικονομώντας μνήμη σε σχέση με τον τύπο int που μπορεί να αποθηκεύσει μεγαλύτερο εύρος τιμών.

Σημειώνεται ότι, σε περίπτωση που αναθέσουμε στη μεταβλητή myByte μια τιμή εκτός των ορίων του τύπου byte, θα προκαλέσουμε σφάλμα κατά την εκτέλεση του προγράμματος.
Ο τύπος δεδομένων short στην Java είναι ένας ακέραιος τύπος που μπορεί να αποθηκεύσει αριθμούς από -32768 έως 32767.

Παράδειγμα:

short myShort = 15000;

Στο παραπάνω παράδειγμα, ορίζουμε μια μεταβλητή με όνομα myShort και τύπο δεδομένων short. Της αναθέτουμε την τιμή 15000, η οποία είναι μια έγκυρη τιμή για τον τύπο short, καθώς βρίσκεται μεταξύ των ορίων του (-32768 και 32767).

Σημειώνεται ότι, όπως και με τον τύπο byte, η χρήση του τύπου short μπορεί να εξοικονομήσει μνήμη στο πρόγραμμα, όταν έχουμε την απόλυτη βεβαιότητα ότι οι τιμές που θα αποθηκεύονται θα βρίσκονται μεταξύ των ορίων του τύπου.
Ο τύπος δεδομένων int στη Java χρησιμοποιείται για την αποθήκευση ακεραίων αριθμών στο εύρος από -2.147.483.648 έως 2.147.483.647. Συνήθως, σύμφωνα και με τον οδηγό μας, προτιμούμε τη χρήση του τύπου int όταν δημιουργούμε μεταβλητές με αριθμητικές τιμές.

Παράδειγμα:

int myInt = 50000;

Στο παραπάνω παράδειγμα, ορίζουμε μια μεταβλητή με όνομα myInt και τύπο δεδομένων int. Της αναθέτουμε την τιμή 50000, η οποία είναι μια έγκυρη τιμή για τον τύπο int, καθώς βρίσκεται μεταξύ των ορίων του (-2147483648 και 2147483647).

Ο τύπος δεδομένων int είναι επίσης ο προτιμώμενος τύπος για μαθηματικούς υπολογισμούς και για χρήση σε περισσότερες γενικές περιπτώσεις όπου δεν απαιτείται η χρήση των αραιότερων τύπων, όπως ο byte ή ο short.
Ο τύπος δεδομένων long χρησιμοποιείται στη Java για να αποθηκεύσει ακέραιους αριθμούς σε ένα ευρύ φάσμα τιμών. Ο εύρος τιμών που μπορεί να αποθηκεύσει είναι από -9,223,372,036,854,775,808 έως 9,223,372,036,854,775,807. Χρησιμοποιείται όταν ο τύπος int δεν είναι αρκετά μεγάλος για να χωρέσει την επιθυμητή τιμή. Όταν δηλώνουμε μια μεταβλητή τύπου long, πρέπει να τερματίζουμε την τιμή της με το γράμμα “L” (π.χ. long number = 123456789L;) για να υποδείξουμε ότι πρόκειται για τύπο long.

Παράδειγμα:

long myLong = 15000000000L;

Στο παραπάνω παράδειγμα, ορίζουμε μια μεταβλητή με όνομα myLong και τύπο δεδομένων long. Της αναθέτουμε την τιμή 15000000000L, η οποία είναι μια έγκυρη τιμή για τον τύπο long, αφού βρίσκεται μεταξύ των ορίων του (-9223372036854775808 και 9223372036854775807). Επειδή πρόκειται για τον τύπο long, τερματίζουμε την τιμή με το γράμμα “L”.

Ο τύπος δεδομένων long είναι χρήσιμος όταν απαιτείται η αποθήκευση πολύ μεγάλων ακέραιων τιμών, που δεν μπορούν να χωρέσουν στον τύπο int. Ωστόσο, ο τύπος αυτός απαιτεί περισσότερη μνήμη από τους πιο συνηθισμένους τύπους int και double.

[adinserter block=”3″]

Οι τύποι δεδομένων float και double στη Java χρησιμοποιούνται για να αποθηκεύσουν αριθμητικές τιμές με δεκαδικά ψηφία. Ο τύπος float χρησιμοποιεί 32-bit για την αποθήκευση των δεδομένων, ενώ ο τύπος double χρησιμοποιεί 64-bit, προσφέροντας μεγαλύτερη ακρίβεια. Αυτοί οι τύποι μπορούν να χρησιμοποιηθούν για την αποθήκευση και επεξεργασία δεκαδικών τιμών, όπως πραγματικοί αριθμοί, ποσοστά, συντελεστές κ.λπ.

Ας δούμε ένα παράδειγμα χρήσης των τύπων δεδομένων float και double στην Java:

public class Example {
    public static void main(String[] args) {
        float floatValue = 3.14f;
        double doubleValue = 2.71828;

        System.out.println("The value of floatValue is: " + floatValue);
        System.out.println("The value of doubleValue is: " + doubleValue);
    }
}

Στο παραπάνω παράδειγμα, ορίζουμε μια μεταβλητή floatValue με τύπο δεδομένων float και της αποδίδουμε την τιμή 3.14f (προσέξτε την κατάληξη f για να υποδηλώσει ότι είναι τύπου float). Επίσης, ορίζουμε μια μεταβλητή doubleValue με τύπο δεδομένων double και της αποδίδουμε την τιμή 2.71828.

Στη συνέχεια, με τη χρήση της μεθόδου System.out.println(), εκτυπώνουμε τις τιμές των μεταβλητών floatValue και doubleValue. Το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα είναι:

The value of floatValue is: 3.14
The value of doubleValue is: 2.71828

Έτσι, βλέπουμε ότι οι μεταβλητές floatValue και doubleValue μπορούν να αποθηκεύσουν δεκαδικές τιμές και να εμφανιστούν με τη χρήση της μεθόδου System.out.println().
Ένας αριθμός κινητής υποδιαστολής μπορεί να είναι ένας επιστημονικός αριθμός, όπου η δύναμη του 10 υποδεικνύεται με το σύμβολο “e”.

Παράδειγμα:

double scientificNum = 1.2e-3;

Στο παραπάνω παράδειγμα, ορίζουμε μια μεταβλητή με όνομα scientificNum και τύπο δεδομένων double. Η τιμή της μεταβλητής είναι 1.2e-3, η οποία είναι μια έγκυρη επιστημονική τιμή για τον τύπο double. Η διακύμανση στη δύναμη του 10 (εδώ -3) υποδηλώνει την τάξη μεγέθους της τιμής.

Στον προγραμματισμό, υπάρχουν περιστάσεις όπου χρειάζεται ένας τύπος δεδομένων που μπορεί να πάρει μόνο δύο διακριτές τιμές, όπως:

  • ΝΑΙ / ΟΧΙ
  • ΕΝΕΡΓΟΣ / ΑΝΕΝΕΡΓΟΣ
  • ΑΛΗΘΗΣ / ΨΕΥΔΗΣ

Για αυτόν τον σκοπό, η γλώσσα προγραμματισμού Java παρέχει τον τύπο δεδομένων boolean, ο οποίος μπορεί να λάβει μόνο δύο τιμές: true (αληθής) ή false (ψευδής). Ο τύπος δεδομένων boolean χρησιμοποιείται για λογικές συνθήκες και επιτρέπει τον έλεγχο της συνθήκη μιας πρότασης ή μιας κατάστασης στο πρόγραμμα.

Παράδειγμα:

boolean myBoolean = true;

Στο παραπάνω παράδειγμα, ορίζουμε μια μεταβλητή με όνομα myBoolean και τύπο δεδομένων boolean. Της αναθέτουμε την τιμή true, η οποία είναι μία από τις δύο δυνατές τιμές για τον τύπο boolean.

[adinserter block=”4″]

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

Ορισμός μιας μεταβλητής boolean με την τιμή true:

boolean myBool = true;

Ορισμός μιας μεταβλητής boolean με την τιμή false:

boolean myBool = false;

Χρήση της τιμής ενός boolean για έλεγχο σε μια συνθήκη if:

boolean myBool = true; // Δημιουργία μιας μεταβλητής τύπου boolean με τιμή true

if (myBool) {
  // Έλεγχος της τιμής της μεταβλητής myBool
  // Εάν η τιμή είναι true, εκτελείται ο παρακάτω κώδικας
  System.out.println("Η τιμή του myBool είναι true.");
} else {
  // Εάν η τιμή της μεταβλητής myBool δεν είναι true, εκτελείται ο παρακάτω κώδικας
  System.out.println("Η τιμή του myBool είναι false.");
}

Αυτός ο κώδικας ορίζει μια μεταβλητή myBool τύπου boolean με τιμή true. Στη συνέχεια, εκτελείται ένας έλεγχος if για να ελέγξει αν η τιμή της μεταβλητής myBool είναι true. Αν η συνθήκη είναι αληθής, τότε εκτελείται ο κώδικας εντός του πρώτου μπλοκ if και εμφανίζεται το μήνυμα “Η τιμή του myBool είναι true.”. Αν η συνθήκη είναι ψευδής, τότε εκτελείται ο κώδικας εντός του μπλοκ else και εμφανίζεται το μήνυμα “Η τιμή του myBool είναι false.”.

Χρήση του τελεστή && για να ελέγξετε αν δύο boolean μεταβλητές είναι και οι δύο αληθείς:

boolean myBool1 = true; // Δημιουργία μιας boolean μεταβλητής με τιμή true
boolean myBool2 = false; // Δημιουργία μιας boolean μεταβλητής με τιμή false

if (myBool1 && myBool2) { // Έλεγχος αν και οι δύο boolean μεταβλητές είναι αληθείς
  System.out.println("Και οι δύο boolean μεταβλητές είναι αληθείς.");
} else {
  System.out.println("Έστω και μία boolean μεταβλητή είναι ψευδής.");
}

Ο παραπάνω κώδικας δημιουργεί δύο μεταβλητές τύπου boolean, myBool1 με τιμή true και myBool2 με τιμή false. Στη συνέχεια, υπάρχει ένας έλεγχος if για να ελεγχθεί αν και οι δύο μεταβλητές είναι αληθείς, χρησιμοποιώντας τον τελεστή && (λογική σύζευξη). Αν αυτή η συνθήκη είναι αληθής, τότε εκτυπώνεται το μήνυμα “Και οι δύο boolean μεταβλητές είναι αληθείς.” στην οθόνη. Σε διαφορετική περίπτωση, εκτυπώνεται το μήνυμα “Έστω και μία boolean μεταβλητή είναι ψευδής.”

Χρήση μιας μεταβλητής boolean για να ελέγξετε αν ένα κείμενο είναι κενό:

String myString = "Αυτή είναι μια συμβολοσειρά."; // Δημιουργία μιας συμβολοσειράς με την τιμή "Αυτή είναι μια συμβολοσειρά."
boolean isEmpty = myString.isEmpty(); // Έλεγχος εάν η συμβολοσειρά είναι κενή με τη χρήση της μεθόδου isEmpty()
if (isEmpty) {
  System.out.println("Η συμβολοσειρά είναι κενή."); // Εκτύπωση μηνύματος ότι η συμβολοσειρά είναι κενή
} else {
  System.out.println("Η συμβολοσειρά δεν είναι κενή."); // Εκτύπωση μηνύματος ότι η συμβολοσειρά δεν είναι κενή
}

Ο κώδικας αυτός ελέγχει εάν μια συμβολοσειρά (String) με την τιμή “Αυτή είναι μια συμβολοσειρά.” είναι κενή ή όχι. Αρχικά, αποθηκεύεται η συμβολοσειρά στην μεταβλητή myString. Έπειτα, με τη χρήση της μεθόδου isEmpty(), ελέγχεται εάν η συμβολοσειρά είναι κενή. Αν η συμβολοσειρά είναι κενή, τότε εκτυπώνεται το μήνυμα “Η συμβολοσειρά είναι κενή.” μέσω της εντολής System.out.println(). Αν η συμβολοσειρά δεν είναι κενή, τότε εκτυπώνεται το μήνυμα “Η συμβολοσειρά δεν είναι κενή.”.

Ουσιαστικά, ο κώδικας ελέγχει και εμφανίζει αν η συμβολοσειρά έχει περιεχόμενο ή είναι κενή.

Χρήση μιας μεταβλητής boolean για να ελέγξετε αν ένας αριθμός είναι μεγαλύτερος από έναν άλλο αριθμό:

int num1 = 10; // Δήλωση μεταβλητής num1 και αρχικοποίησή της με την τιμή 10
int num2 = 5; // Δήλωση μεταβλητής num2 και αρχικοποίησή της με την τιμή 5
boolean isGreater = num1 > num2; // Έλεγχος αν ο αριθμός num1 είναι μεγαλύτερος από τον αριθμό num2 και αποθήκευση του αποτελέσματος στη μεταβλητή isGreater

if (isGreater) { // Έλεγχος της συνθήκης isGreater
  System.out.println("Ο αριθμός " + num1 + " είναι μεγαλύτερος από τον αριθμό " + num2 + ".");
} else { // Εκτέλεση αν η συνθήκη δεν ισχύει
  System.out.println("Ο αριθμός " + num1 + " δεν είναι μεγαλύτερος από τον αριθμό " + num2 + ".");
}

Ο παραπάνω κώδικας δηλώνει δύο μεταβλητές, num1 και num2, και αποθηκεύει τις τιμές 10 και 5 αντίστοιχα. Στη συνέχεια, χρησιμοποιεί τη μεταβλητή isGreater για να ελέγξει εάν ο num1 είναι μεγαλύτερος από το num2. Αν η συνθήκη είναι αληθής, τότε εκτελείται ο κώδικας μέσα στην πρώτη παράγραφο του if, εκτυπώνοντας το μήνυμα “Ο αριθμός [num1] είναι μεγαλύτερος από τον αριθμό [num2].” στην οθόνη. Αν η συνθήκη είναι ψευδής, τότε εκτελείται ο κώδικας μέσα στην παράγραφο else, εκτυπώνοντας το μήνυμα “Ο αριθμός [num1] δεν είναι μεγαλύτερος από τον αριθμό [num2].” στην οθόνη.

Ο τύπος δεδομένων char χρησιμοποιείται για την αποθήκευση ενός μόνο χαρακτήρα. Ένας χαρακτήρας πρέπει να περικλείεται από μονά εισαγωγικά, όπως για παράδειγμα τα 'Α' ή 'c'.

Ας δούμε ένα αναλυτικό παράδειγμα χρήσης του τύπου δεδομένων char στην Java:

public class Main {
    public static void main(String[] args) {
        char grade = 'A'; // Δήλωση και αρχικοποίηση μεταβλητής grade με την τιμή 'A'

        System.out.println("Η βαθμολογία σας είναι: " + grade);

        char symbol = '@'; // Δήλωση και αρχικοποίηση μεταβλητής symbol με την τιμή '@'

        System.out.println("Το σύμβολο είναι: " + symbol);
    }
}

Στο παραπάνω παράδειγμα, δηλώνουμε δύο μεταβλητές τύπου char, την grade και την symbol. Η grade αναπαριστά μια βαθμολογία και η symbol αναπαριστά ένα σύμβολο.

Στη συνέχεια, εκτυπώνουμε την τιμή της μεταβλητής grade με τη χρήση της μεθόδου System.out.println(). Αν την εκτελέσουμε, θα δούμε το μήνυμα “Η βαθμολογία σας είναι: A” να εμφανίζεται στην οθόνη.

Στη συνέχεια, εκτυπώνουμε την τιμή της μεταβλητής symbol. Αν την εκτελέσουμε, θα δούμε το μήνυμα “Το σύμβολο είναι: @” να εμφανίζεται στην οθόνη.

Εάν είστε εξοικειωμένοι με τον πίνακα ASCII, μπορείτε να χρησιμοποιήσετε τις τιμές αυτές για να εμφανίσετε συγκεκριμένους χαρακτήρες.

Παράδειγμα:

char myChar = 65; // 65 είναι ο κωδικός ASCII για το γράμμα 'A'
System.out.println(myChar); // Το αποτέλεσμα θα είναι το γράμμα 'A'

Στο παραπάνω παράδειγμα, ορίζουμε μια μεταβλητή με όνομα myChar και τύπο δεδομένων char. Στη συνέχεια, της αναθέτουμε την τιμή 65, η οποία είναι ο κωδικός ASCII για το γράμμα ‘A’. Τέλος, τυπώνουμε το περιεχόμενο της μεταβλητής μας, το οποίο θα είναι το γράμμα ‘A’.

Χρήση του τελεστή + για να προσθέσετε χαρακτήρες μαζί με μια μεταβλητή τύπου char σε μια συμβολοσειρά:

char myChar = '!';
String myString = "Αυτός είναι ο χαρακτήρας: " + myChar;
System.out.println(myString);

Στο παραπάνω παράδειγμα, δημιουργούμε μια μεταβλητή με όνομα myChar και τύπο δεδομένων char. Στη συνέχεια, δημιουργούμε μια μεταβλητή με όνομα myString και τύπο δεδομένων String, στην οποία αποθηκεύουμε μια συμβολοσειρά που περιλαμβάνει τον χαρακτήρα myChar. Τέλος, τυπώνουμε το περιεχόμενο της μεταβλητής myString, το οποίο θα είναι “Αυτός είναι ο χαρακτήρας: !”.

[adinserter block=”5″]

Ο τύπος δεδομένων String χρησιμοποιείται για να αποθηκεύσει μια σειρά χαρακτήρων ή κειμένου. Οι τιμές τύπου String πρέπει να περικλείονται με διπλά εισαγωγικά (“).

Παράδειγμα:

String myString = "Αυτή είναι μια συμβολοσειρά.";

Στο παραπάνω παράδειγμα, δημιουργούμε μια μεταβλητή με το όνομα myString και τον τύπο δεδομένων String. Αναθέτουμε σε αυτήν την μεταβλητή την τιμή “Αυτή είναι μια συμβολοσειρά”, η οποία είναι ένας έγκυρος αλφαριθμητικός (συμβολοσειρά) στην Java.

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

Πρόσβαση σε μια συγκεκριμένη θέση (index) της συμβολοσειράς με τη χρήση του τελεστή []:

String myString = "Αυτή είναι μια συμβολοσειρά.";
char myChar = myString.charAt(7); // Η συνάρτηση charAt επιστρέφει τον χαρακτήρα στη συγκεκριμένη θέση
System.out.println(myChar); // Το αποτέλεσμα θα είναι το γράμμα 'ι'

Στο παραπάνω παράδειγμα, ορίζουμε μια μεταβλητή με όνομα myString και τύπο δεδομένων String. Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση charAt για να πάρουμε τον χαρακτήρα στη θέση 7 της μεταβλητής myString, η οποία είναι το γράμμα ‘ι’. Τέλος, τυπώνουμε τον χαρακτήρα στην οθόνη.

Οι μη-πρωτεύοντες τύποι δεδομένων στην Java αναφέρονται ως τύποι αναφοράς, καθώς αναφέρονται σε αντικείμενα.

Οι κύριες διαφορές μεταξύ πρωτεύοντων και μη-πρωτεύοντων τύπων δεδομένων είναι οι εξής:

Οι πρωτεύοντες τύποι έχουν προκαθορισμένη καθορισμένη ταυτότητα στην Java. Οι μη-πρωτεύοντες τύποι δημιουργούνται από τον προγραμματιστή και δεν ορίζονται από την Java (εκτός από το String).
Οι μη-πρωτεύοντες τύποι μπορούν να χρησιμοποιηθούν για να καλέσουν μεθόδους και να εκτελέσουν συγκεκριμένες λειτουργίες, ενώ οι πρωτεύοντες τύποι δεν μπορούν.
Ένας πρωτεύοντας τύπος έχει πάντα μια τιμή, ενώ οι μη-πρωτεύοντες τύποι μπορεί να είναι null.
Οι πρωτεύοντες τύποι ξεκινούν με πεζά γράμματα, ενώ οι μη-πρωτεύοντες τύποι ξεκινούν με κεφαλαία γράμματα.
Το μέγεθος ενός πρωτεύοντα τύπου εξαρτάται από τον τύπο δεδομένων, ενώ οι μη-πρωτεύοντες τύποι έχουν όλοι το ίδιο μέγεθος.

Παραδείγματα μη-πρωτεύοντων τύπων δεδομένων στην Java περιλαμβάνουν το String, τους πίνακες (arrays), τις κλάσεις (classes), τις διεπαφές (interfaces) και άλλες προηγμένες δομές που μπορεί να δημιουργήσει ένας προγραμματιστής.

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

9 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων