ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός



Σχετικά έγγραφα
Δομές ελέγχου ροής προγράμματος

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Generics και ArrayLists

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Διαδικασιακός Προγραμματισμός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

Αντικειµενοστρεφής Προγραµµατισµός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

ιαδικαστικός Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

8. Συνθήκες ελέγχου, λογικοί τελεστές

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07

Εισαγωγή στον Προγραμματισμό

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Τύποι δεδομένων, τελεστές, μεταβλητές

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι

Αντικειμενοστρεφής Προγραμματισμός

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Η γλώσσα προγραμματισμού C

ΗΥ-150. Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

Εισαγωγή στον Προγραμματισμό με C++

Οι εντολές ελέγχου της ροής ενός προγράμματος.

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Παίρνοντας Αποφάσεις 1

Υπολογισμός - Εντολές Ελέγχου

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Δομές ελέγχου & επανάληψης

Εισαγωγή στον Προγραμματισμό

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Είσοδος Έξοδος (Input Output) Εξαιρέσεις (Exceptions)

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος.

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εξαιρέσεις (Exceptions) Λάθη (Errors) Χειρισμός των Εξαιρέσεων (Exception Handling) Assertions

Βασικά Στοιχεία της Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση

Προγραμματισμός Ι (HY120)

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

Διαδικασιακός Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Δομημένος Προγραμματισμός

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Η γλώσσα προγραμματισμού C

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

32-bit signed υποδιαστολής) Double διπλής ακρίβειας 64-bit signed Char unicode character 16-bit Boolean Boolean true or false

Οντοκεντρικός Προγραμματισμός

Προγραμματισμός Η/Υ (ΤΛ2007 )

Δεδομένα, τελεστές, είσοδος/έξοδος

Αντικειμενοστραφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Υπολογισμός - Εντολές Επανάληψης

Βασικά Στοιχεία της Java

ΚΛΑΣΕΙΣ ΜΕΘΟΔΟΙ - ΑΝΤΙΚΕΙΜΕΝΑ

Διαδικασιακός Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

ΕΞΑΙΡΕΣΕΙΣ. Εξαιρέσεις προκαλούνται. από το σύστηµα. από το πρόγραµµα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

Οντοκεντρικός Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

for for for for( . */

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Εισαγωγή στον Προγραμματισμό

2 ΓΡΑΜΜΙΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

3. Εκφράσεις και έλεγχος ροής

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Transcript:

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες δυνατότητες του προγραμματισμού είναι και η δυνατότητα ελέγχου και σύγκρισης τιμών συνδυασμένη με τη δυνατότητα επιλογής, καθώς και η ανακατεύθυνση ή διακλάδωση της ροής του προγράμματος σύμφωνα με κάποια συνθήκη. Αυτές τις δυνατότητες μας τις παρέχουν οι εντολές if (με την παραλλαγή της if..) και switch. Η απλή εντολή - if Η απλή εντολή if ελέγχει μία συνθήκη και ανάλογα με το εάν το αποτέλεσμα είναι αληθές (true), τότε εκτελείται η εντολή ή το μπλοκ των εντολών και μετά η επόμενη εντολή, ενώ αν είναι ψευδές (false), τότε εκτελείται αμέσως η επόμενη εντολή. Δηλαδή, η απλή if-εντολή λειτουργεί όταν η συνθήκη είναι αληθινή (διακόπτης on-off). Η σύνταξη της εντολής είναι: if <συνθήκη> { <μπλοκ εντολών> Παναγιώτης Σφέτσος, Αλγοριθμική και Προγραμματισμός με Java 1

Παραδείγματα: 1) if i<=0 i++; Αν το i είναι μικρότερο ή ίσο με το μηδέν, τότε αύξησε το κατά ένα. 2) if (synth) { x = y = 0; synth = false; Αν η μεταβλητή synth έχει τιμή true, τότε δώσε την τιμή 0 στις μεταβλητές x και y και την τιμή false στην μεταβλητή synth. 3) if (a>0) && (b>0) { a+ +; b++; Αν το a και b έχουν τιμή μεγαλύτερη του μηδενός, τότε αύξησε (τα a και b) κατά 1. Η εντολή - if.. Η εντολή if.. εκτελείται είτε η συνθήκη που ελέγχεται είναι αληθινή είτε είναι ψευδής. Πιο συγκεκριμένα αν η συνθήκη είναι αληθινή, τότε εκτελείται η εντολή ή το μπλοκ των εντολών της if, ενώ όταν είναι ψευδής τότε εκτελείται η εντολή ή το μπλοκ των εντολών της. Αφού εκτελεστεί ένα από τα δύο μπλοκ εντολών, τότε μόνο θα εκτελεστεί η επόμενη εντολή. Η σύνταξη της εντολής είναι: if <συνθήκη> { <μπλοκ εντολών> { <μπλοκ εντολών> Παναγιώτης Σφέτσος, Αλγοριθμική και Προγραμματισμός με Java 2

Παραδείγματα: 1) if (code==1) syntelestis=0.10; syntelestis=0.15; Αν η μεταβλητή code==1 τότε η μεταβλητή syntelestis παίρνει την τιμή 0.10, ενώ στις άλλες περιπτώσεις παίρνει την τιμή 0.15. 2) if (b!=0) { System.out.println( Division ); a= 1/b; { System.out.println( No Division ); a=0; Αν η μεταβλητή b δεν έχει τιμή 0, τότε γίνεται η διαίρεση (μήνυμα και εκτέλεση της διαίρεσης) και το αποτέλεσμα τοποθετείται στην μεταβλητή a, διαφορετικά εμφανίζεται το μήνυμα όχι διαίρεση και η μεταβλητή a λαμβάνει την τιμή 0. Εστιασμένες ή ένθετες if.. Εντολές if που αποτελούν μέρος άλλης if ή λέγονται εστιασμένες, ένθετες ή φωλιασμένες (nested) if. Χρησιμοποιούνται σε πολλαπλούς ελέγχους. Αν η πρώτη συνθήκη είναι αληθής, τότε οι υπόλοιπες if.. αγνοούνται. Προσοχή στην χρήση της γιατί γίνονται πολλές φορές λάθη. if ( vathmos >= 90 ) System.out.println( "A" ); if (vathmos >= 80 ) System.out.println( "B" ); if (vathmos >= 70 ) System.out.println( "C" ); if (vathmos >= 60 ) System.out.println( "D" ); System.out.println( "F" ); Παναγιώτης Σφέτσος, Αλγοριθμική και Προγραμματισμός με Java 3

Κλιμακωτή εντολή if if Για πολλαπλούς ελέγχους χρησιμοποιούμε τη κλιμακωτή if if εντολή. Η σύνταξή της είναι: if <συνθήκη> <εντολή> ; if <συνθήκη> <εντολή> if <συνθήκη> <εντολή> : <εντολή> class IfElse { public static void main(string args[]) { int month = 4; // Aprilios String season; if(month == 12 month == 1 month == 2) season = "Heimonas"; if(month == 3 month == 4 month == 5) season = "Anoixi"; if(month == 6 month == 7 month == 8) season = "Kalokairi"; if(month == 9 month == 10 month == 11) season = "Fthinoporo"; season = "Lathos eisodos"; System.out.println("O Aprilios einia sthn epohi: " + season); Παναγιώτης Σφέτσος, Αλγοριθμική και Προγραμματισμός με Java 4

Ο τριαδικός τελεστής? Είναι ο τελεστής τριών δρόμων (τρεις παράγοντες λαμβάνουν μέρος) και χρησιμοποιείται για να αντικαταστήσει κάποιες πολλαπλές συγκρίσεις με την if εντολή της μορφής: if <συνθήκη> <μεταβλητή> = <έκφραση - 1>; <μεταβλητή> = <έκφραση - 2>; Δηλαδή, η μεταβλητή θα πάρει την τιμή της έκφρασης 1 αν η συνθήκη είναι αληθής, ενώ θα πάρει την τιμή της έκφρασης 2 αν είναι ψευδής. Κατά τον ίδιο τρόπο λειτουργεί και ο τριαδικός τελεστής?. Η γενική μορφή του τελεστή είναι: <έκφραση - 1>? <έκφραση - 2> : <έκφραση - 3> Όπου: <έκφραση - 1> είναι μια λογική έκφραση που μπορεί να πάρει τιμή true ή false. Η <έκφραση 1> και <έκφραση 2> πρέπει να είναι του ίδιου τύπου. Αν η <έκφραση - 1> επιστρέψει τιμή αλήθειας (true), τότε εκτελείται η <έκφραση - 2>, διαφορετικά εκτελείται η <έκφραση - 3>. z = y == 0? 0 : x / y ; Στο ανωτέρω παράδειγμα αν η y είναι 0, τότε εκτελείται η έκφραση μεταξύ του (?) και του (:) δηλαδή, το z =0. Αν η y δεν είναι μηδέν, τότε εκτελείται η έκφραση μετά το (:) δηλαδή θα εκτελεσθεί η διαίρεση x / y. Στην παρακάτω άσκηση θα δούμε επίσης τη χρήση του τελεστή?. class Ternary { public static void main(string args[]) { int i, k; i = 10; k = i < 0? -i : i; // απόλυτη τιμή του i System.out.print("Absolute value of "); System.out.println(i + " = " + k); i = -10; k = i < 0? -i : i; // απόλυτη τιμή του i System.out.print("Absolute value of "); System.out.println(i + " = " + k); Παναγιώτης Σφέτσος, Αλγοριθμική και Προγραμματισμός με Java 5

Αν εκτελέσουμε το πρόγραμμα θα πάρουμε τα αποτελέσματα: Absolute value of 10 = 10 Absolute value of -10 = 10 Η εντολή switch..case Είναι μία εντολή πολλαπλών αποφάσεων ή διαδρομών. Ανάλογα με την τιμή κάποιας έκφρασης θα εκτελεστεί το κατάλληλο μπλοκ εντολών. Η σύνταξη της εντολής: switch <έκφραση> { case <τιμή 1>: // <μπλοκ εντολών> case <τιμή 2>: // <μπλοκ εντολών> : : default: // <μπλοκ εντολών> Η έκφραση πρέπει να είναι του τύπου byte, short, int, ή char. Δεν επιτρέπονται τιμές κινητής υποδιαστολής. Οι case περιέχουν διαφορετικές τιμές του τύπου της έκφρασης. Η σύνταξη της default είναι προαιρετική και εκτελείται όταν καμία από τις cases δεν ταυτίζεται με την έκφραση. Η switch-case σύμφωνα με την τιμή της έκφρασης διατρέχει με τη σειρά όλες τις περιπτώσεις (cases) που δίνονται. Αν κάποια περίπτωση βρεθεί αληθής τότε εκτελούνται οι εντολές που δίνονται μετά την άνω-κάτω τελεία γι αυτή τη περίπτωση. Αν καμία περίπτωση δεν βρεθεί αληθής τότε εκτελείται η default (όταν την συμπεριλάβουμε). Αφού εκτελεστεί το κατάλληλο μπλοκ εντολών γίνεται έξοδος από την switch..case με την εντολή break. Η χρήση της break είναι προαιρετική, αλλά απαιτείται τις Παναγιώτης Σφέτσος, Αλγοριθμική και Προγραμματισμός με Java 6

περισσότερες φορές γιατί αν δεν υπάρχει, τότε θα εκτελεστούν και οι εντολές τις επόμενης περίπτωσης (case) χωρίς να ελεγχθεί η τιμή της και πιθανώς και άλλων, μέχρι να βρεθεί το επόμενο break ή να τελειώσει η switch-case (δες 1 η άσκηση εργαστηρίου 6). Στο παρακάτω παράδειγμα θα εισάγουμε ένα ακέραιο από το 1 έως το 3. Ανάλογα με την είσοδο θα εμφανιστεί το αντίστοιχο μήνυμα. Αν δεν δώσουμε σωστό ακέραιο θα εκτελεστεί η default. Προσοχή αν δεν δώσουμε ακέραιο τότε θα προκαλέσουμε εξαίρεση και το πρόγραμμα θα τελειώσει με λάθος έξοδο. Δηλαδή μην νομίζετε ότι η default θα πιάσει το λάθος. Σε τέτοια περίπτωση θα έπρεπε η είσοδος του ακέραιου να γίνει με τη χρήση της try..catch. import java.io.*; class SampleSwitch { public static void main(string args[]) throws IOException { int i; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Dose ena akeraio apo to 1 mexri 3: "); i = Integer.parseInt(br.readLine()); switch(i) { case 0: System.out.println("o arithmos einai 0."); case 1: System.out.println("o arithmos einai 1."); case 2: System.out.println("o arithmos einai 2."); case 3: System.out.println("o arithmos einai 3."); default: System.out.println("Lathos eisodos..."); Παναγιώτης Σφέτσος, Αλγοριθμική και Προγραμματισμός με Java 7

Εστιασμένες ή ένθετες switch..case Εντολή switch..case μέσα σε κάποια άλλη switch..case λέγεται εστιασμένη, ή ένθετη, ή φωλιασμένη switch..case. switch (counter1) { case 1: switch (counter2) { case 0: System.out.println( Value is zero ); case 1: System.out.println( Value is one ); case 2: : Παναγιώτης Σφέτσος, Αλγοριθμική και Προγραμματισμός με Java 8