Υπάρχουν 8 πρωτόγονοι τύποι δεδομένων στη Java, οι οποίοι έχουν όλοι σταθερό μέγεθος και καθορισμένο εύρος τιμών. Χρησιμοποιούνται για τη δημιουργία μεταβλητών και την εκχώρηση σε αυτές μεμονωμένων αριθμών, χαρακτήρων ή λογικών τιμών. Οι 8 πρωτόγονοι τύποι της Java είναι boolean, byte, char, double, float, int, long και short.

Τι είναι τα πρωτότυπα Java;

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

Στη Java, υπάρχουν 8 διαφορετικοί τύποι πρωτόγονων δεδομένων που διαφέρουν κυρίως ως προς τις τιμές που αποθηκεύουν. Το κοινό χαρακτηριστικό τους είναι ότι μπορούν να αποθηκεύσουν μόνο μία τιμή. Δεδομένου ότι ορισμένοι από αυτούς χρησιμοποιούνται σε παρόμοιες καταστάσεις, μπορούμε να χωρίσουμε τους πρωτόγονους τύπους της Java σε τέσσερις κατηγορίες:

  • Λογικός τύπος δεδομένων (boolean)
  • Τύπος δεδομένων ακέραιου αριθμού (byte, short, int και long)
  • Τύπος δεδομένων κινητής υποδιαστολής (float και double)
  • Τύπος δεδομένων χαρακτήρων (char)

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

Τύπος δεδομένων Μέγεθος Εύρος τιμών Προεπιλεγμένη τιμή Κλάση περιτύλιξης
boolean 1 bit true ή false false java.lang.Boolean
byte 8 bit -128 έως 127 0 java.lang.Byte
short 16 bits -32768 έως 32767 0 java.lang.Short
int 32 bit -2147483648 έως 2147483647 0 java.lang.Integer
long 64 bits -9223372036854775808 έως 9223372036854775807 0 java.lang.Long
float 32 bit έως 7 δεκαδικά ψηφία 0,0 java.lang.Float
διπλό 64 bit έως 16 δεκαδικά ψηφία 0,0 java.lang.Double
char 16 bit **’\u0000’ (δηλ. 0) έως ‘\uffff’ (αντιστοιχεί σε 65535) ‘\u0000’ java.lang.Character

Πώς να χρησιμοποιήσετε τον πρωτότυπο τύπο boolean της Java

Ένα Java Boolean είναι επίσης γνωστό ως τιμή αλήθειας. Είναι το πιο απλό Java primitive, καθώς έχει μόνο δύο πιθανές τιμές: «true» ή «false». Χρησιμοποιείται όταν απαιτείται ένας λογικός τελεστής και είναι ο μόνος λογικός τύπος δεδομένων. Στις εκφράσεις, οι δύο πιθανές τιμές του συνήθως αντιπροσωπεύουν μια συνθήκη που είτε πληρούται (true) είτε όχι (false). Εάν δεν εκχωρήσετε μια τιμή σε ένα Boolean, θα έχει την προεπιλεγμένη τιμή false. Το Boolean μπορεί να συνδυαστεί με Boolean τελεστές σε Java όπως AND και OR. Η εκχώρηση μιας τιμής σε ένα Boolean έχει ως εξής:

public class Main {
	public static void main(String[] args) {
		boolean x = true;
		System.out.println(x);
	}
}
java

Εάν χρησιμοποιήσετε την εντολή Java System.out.prinln για να αρχικοποιήσετε μια έξοδο, η έξοδος θα έχει την εξής μορφή:

true
java

byte

Το byte είναι ο μικρότερος τύπος δεδομένων μεταξύ των τύπων δεδομένων ακέραιων αριθμών. Έχει ένα πολύ περιορισμένο εύρος τιμών, δηλαδή από -128 έως 127. Ωστόσο, χρησιμοποιεί μόνο 8 bit μνήμης. Στην πραγματικότητα, το όνομά του προέρχεται από το γεγονός ότι 8 bit αποτελούν ένα byte. Εάν εργάζεστε μόνο με ένα πολύ περιορισμένο εύρος τιμών, μπορείτε να δηλώσετε ένα byte ως εξής:

public class Main {
	public static void main(String[] args) {
		byte x = 101;
		System.out.println(x);
	}
}
java

Το αποτέλεσμα έχει την ακόλουθη μορφή:

101
java

σύντομος

Το short είναι διπλάσιο σε μέγεθος από το byte, πράγμα που σημαίνει ότι είναι επίσης ένα από τα λιγότερο συχνά χρησιμοποιούμενα πρωτότυπα Java. Αλλά αν το byte είναι πολύ μικρό και το int πολύ μεγάλο, το short μπορεί να είναι ο τύπος δεδομένων ακέραιου αριθμού που ψάχνετε. Δείτε πώς το δηλώνετε:

public class Main {
	public static void main(String[] args) {
		short x = -27412;
		System.out.println(x);
	}
}
java

Το αποτέλεσμα έχει την εξής μορφή:

-27412
java

int

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

public class Main {
	public static void main(String[] args) {
		int x = 14;
		int y = 3;
		int z = x + y;
		System.out.println(x + " + " + y + " = " + z);
	}
}
java

Το αποτέλεσμα έχει την ακόλουθη μορφή:

14 + 3 = 17
java

μακρύς

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

public class Main {
	public static void main(String[] args) {
		long x = 47;
		System.out.println(x);
	}
}
java

Ακολουθεί το αποτέλεσμα:

47
java

επιπλέει

Υπάρχουν δύο πρωτότυπα Java για την αναπαράσταση υποσυνόλων των ρητών αριθμών. Το float είναι ο μικρότερος από τους δύο τύπους δεδομένων κινητής υποδιαστολής και χρησιμοποιεί 32 bit. Μπορεί να εμφανίσει έως και 7 δεκαδικά ψηφία. Ωστόσο, δεν είναι πολύ ακριβές και επομένως δεν χρησιμοποιείται πολύ συχνά. Εάν αποφασίσετε να το χρησιμοποιήσετε, μπορείτε να το δηλώσετε ως εξής:

public class Main {
	public static void main(String[] args) {
		float x = 7.22f;
		System.out.println(x);
	}
}
java

Σημειώστε ότι πρέπει να εισάγετε ένα μικρό ή κεφαλαίο «f» μετά τον αριθμό, για να υποδείξετε στον υπολογιστή ότι πρόκειται για float και όχι για double. Το f δεν εμφανίζεται στην έξοδο:

7.22
java

διπλό

Ο δεύτερος τύπος δεδομένων κινητής υποδιαστολής είναι ο double. Είναι σημαντικά πιο ακριβής από τον float, αλλά και πάλι δεν επιστρέφει απολύτως ακριβή αποτελέσματα. Αν ψάχνετε για μια εναλλακτική λύση, μπορείτε να στραφείτε στην κλάση BigDecimal. Αν ο double ταιριάζει στις ανάγκες σας, δείτε πώς μπορείτε να τον δηλώσετε:

public class Main {
	public static void main(String[] args) {
		double x = 7.2252;
		System.out.println(x);
	}
}
java

Σημειώστε ότι δεν υπάρχει επιπλέον γράμμα εδώ. Το αποτέλεσμα έχει την ακόλουθη μορφή:

7.2252
java

χαρακτήρας

Το char χρησιμοποιείται για την αναπαράσταση χαρακτήρων Unicode. Κυμαίνεται από ‘\u0000’ έως ‘\uffff’, δηλαδή από 0 έως 65535. Ο τύπος δεδομένων χαρακτήρα μπορεί να αναπαραστήσει σχεδόν όλους τους ευρωπαϊκούς και ασιατικούς χαρακτήρες. Χρησιμοποιεί 16 bit μνήμης. Οι τιμές αυτού του πρωτότυπου Java ορίζονται σε απλά εισαγωγικά. Δείτε πώς εμφανίζεται στον κώδικα:

public class Main {
	public static void main(String[] args) {
		char x = '&';
		System.out.println(x);
	}
}
java

Το αποτέλεσμα έχει την ακόλουθη μορφή:

&
java
Go to Main Menu