This shows you the differences between two versions of the page.
| Next revision | Previous revision Next revision Both sides next revision | ||
|
java:enum [2016/02/26 12:43] gthanos created |
java:enum [2018/02/09 13:31] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Enumerations ====== | ====== Enumerations ====== | ||
| - | Τα // | + | Τα // |
| + | |||
| + | Η πιο απλή δήλωση ενός enumerated τύπου είναι η παρακάτω. | ||
| - | Η πιο απλή δήλωση ενός enumerated τύπου είναι η παρακάτω. | ||
| <code java LevelUsage.java> | <code java LevelUsage.java> | ||
| enum Level { HIGH, MEDIUM, LOW }; | enum Level { HIGH, MEDIUM, LOW }; | ||
| public class LevelUsage { | public class LevelUsage { | ||
| - | public static void main() { | + | public static void main(String []args) { |
| Level level = Level.HIGH; | Level level = Level.HIGH; | ||
| System.out.println(" | System.out.println(" | ||
| Line 14: | Line 15: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | <WRAP tip 80% center round> | ||
| + | Καθώς το //enum// αποτελεί από μόνο του τύπο δεδομένων μπορεί να αποθηκευτεί μόνο του σε αρχείο με το όνομα **Level.java**. | ||
| + | |||
| + | Παρατηρήστε ότι κάθε τύπος enum δηλώνει μία σειρά από σταθερές. Οι μεταβλητές αυτού του τύπου μπορούν να λάβουν μόνο μία από τις διακριτές τιμές του συνόλου των σταθερών. | ||
| + | </ | ||
| + | |||
| + | Από τον παραπάνω κώδικα εξάγεται ότι οι μεταβλητές τύπου enum Level μπορούν να πάρουν τις τιμές **Level.HIGH**, | ||
| + | |||
| + | <code java LevelUsage.java> | ||
| + | enum Level { HIGH, MEDIUM, LOW }; | ||
| + | |||
| + | public class LevelUsage { | ||
| + | public static void main(String []args) { | ||
| + | Level level = Level.HIGH; | ||
| + | if(level == Level.HIGH) | ||
| + | System.out.println(" | ||
| + | if(level == Level.MEDIUM) | ||
| + | System.out.println(" | ||
| + | if(level == Level.LOW) | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ή σε μία εντολή **switch** | ||
| + | |||
| + | <code java LevelUsage.java> | ||
| + | enum Level { HIGH, MEDIUM, LOW }; | ||
| + | |||
| + | public class LevelUsage { | ||
| + | public static void main(String []args) { | ||
| + | Level level = Level.HIGH; | ||
| + | switch(level) { | ||
| + | case HIGH: | ||
| + | System.out.println(" | ||
| + | break; | ||
| + | case MEDIUM: | ||
| + | System.out.println(" | ||
| + | break; | ||
| + | case LOW: | ||
| + | System.out.println(" | ||
| + | break; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Εάν θέλετε να διατρέξετε τις τιμές ενός enum μπορείτε να το κάνετε μέσω μίας εντολής //for//, όπως παρακάτω: | ||
| + | |||
| + | <code java LevelUsage.java> | ||
| + | enum Level { HIGH, MEDIUM, LOW }; | ||
| + | |||
| + | public class LevelUsage { | ||
| + | public static void main(String []args) { | ||
| + | Level level = Level.HIGH; | ||
| + | for(Level l: Level.values()) | ||
| + | System.out.println(l); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Για να εκτυπώσετε την τιμή ενός enum ως αλφαριθμητικό μπορείτε να χρησιμοποιήσετε τη μέθοδο [[https:// | ||
| + | <code java> | ||
| + | enum Level { HIGH, MEDIUM, LOW }; | ||
| + | |||
| + | public class LevelUsage { | ||
| + | public static void main(String []args) { | ||
| + | Level level = Level.HIGH; | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |Προηγούμενο: | ||
| + | |||