BETA

Μαθαίνοντας την Java-EXPRESSIONS-STATEMENTS & BLOCKS [μάθημα 17]

Εικόνα Michail

Συνεχίζουμε τα μαθήματα εκμάθησης της Java, έχοντας ήδη κάνει το πρώτο εισαγωγικό μάθημα και έχοντας δει,πως μπορούμε να εγκαταστήσουμε το NetBeans, προκειμένου να δημιουργήσουμε τις εφαρμογές μας και στη συνέχεια δημιουργώντας την πρώτη μας εφαρμογή.
Έχοντας δει κιόλας, σχετικά με τα LANGUAGE FUNDAMENTALS και στη συνέχεια, Ονομασία Μεταβλητών, και τα INTEGER TYPES, καθώς και τα Floating Point Types, μα και καθορισμό των Boolean και Char Data types, καθώς και για τα Arrays και την εισαγωγή δεδομένων μέσω κλάσης Scanner και την JOptionPane CLASS, όπως και τα Big Numbers και ASSIGNMENT-ARITHMETIC-και UNARY OPERATORS, μα και σχετικά με EQUALITY, RELATIONAL, & CONDITIONAL OPERATORS, BITWISE & BIT SHIFT OPERATORS συνεχίζουμε με το 16ο μάθημα της σειράς.
[box color=blue]Σε αυτή την φάση για τα εκπαιδευτικά μαθήματα χρησιμοποιούμε το λειτουργικό σύστημα Windows, μα οι διαφορές είναι ελάχιστες, ως μηδαμινές και στα υπόλοιπα λειτουργικά[/box]

Στο σημερινό μάθημα θα ασχοληθούμε με την δημιουργία ολοκληρωμένων προγραμματιστικών προτάσεων και πως αυτές ομαδοποιούνται σε τμήματα (blocks). Η λογική είναι απλή: οι τελεστές (Operators), στους οποίους αναφερθήκαμε σε προηγούμενα μαθήματα, χρησιμοποιούνται σε ολοκληρωμένες προγραμματιστικές εκφράσεις για τον υπολογισμό αγνώστων μεταβλητών. Οι εκφράσεις αυτές είναι ο κύριος κορμός ολοκληρωμένων προγραμματιστικών προτάσεων (Statements), οι οποίες μπορούν να ομαδοποιηθούν (blocks) ανάλογα με το σκοπό που προσπαθούν να πετύχουν. Βρισκόμαστε σχεδόν στην μέσης της ανάλυσης της online θεωρίας της Java από την ιστοσελίδα της.
Ας ξεκινήσουμε να μιλάμε πρώτα για τις προγραμματιστικές εκφράσεις και τον ορισμό τους. Μια προγραμματιστική έκφραση (expression) αποτελείται από μεταβλητές (variables), τελεστές (operators) και εκτέλεση μεθόδων οι οποίες ανάλογα με την σύνταξη τους θα μας επιστρέψουν μια τιμή σαν αποτέλεσμα.
H έννοια των εκφράσεων δεν σας είναι άγνωστη αφού ήδη έχετε συναντήσει αρκετές έως τώρα σε προγράμματα java που έχουμε αναλύσει σε προηγούμενα μαθήματα.
Τα πιο κάτω παραδείγματα μας δείχνουν το τι ορίζουμε σαν expression:

Ας μιλήσουμε λίγο περισσότερο για το πρώτο παράδειγμα (int cadence = 0;). Στο συγκεκριμένο παράδειγμα έχουμε μια μεταβλητή της οποίας το data type είναι είδος int (integer). Η έκφραση θα επιστρέψει μια τιμή int στο υπόλοιπο πρόγραμμα μας εφόσον και οι δύο πλευρές στο σύμβολο της ισότητας συμφωνούν στο data type – δηλαδή η τιμή 0 που είναι integer συμφωνεί με το είδος του data type που περιμένει η μεταβλητή cadence.

Η γλώσσα προγραμματισμού java επιτρέπει την δημιουργία σύνθετων expressions που αποτελούνται από μικρότερα expressions με την προϋπόθεση ότι τα data types συμφωνούν μεταξύ τους. Ας υποθέσουμε ότι έχουμε το παράδειγμα:

1 * 2 * 3

Σε αυτό το συγκεκριμένο παράδειγμα, η σειρά με την οποία αξιολογείται το expression δεν είναι σημαντική επειδή το αποτέλεσμα της πράξης του πολλαπλασιασμού δεν εξαρτάται από την σειρά εκτέλεσης των επιμέρους πράξεων. Αυτό φυσικά δεν ισχύει για όλα τα expressions και κυρίως για αυτά τα οποία έχουν να εκτελέσουν διαφορετικές αριθμητικές πράξεις όπως δείχνει το πιο κάτω παράδειγμα:

x + y / 100

Το αποτέλεσμα του πιο πάνω expression θα επηρεάζεται από την σειρά προτεραιότητας που η οποία κυριαρχεί στους operators.
Με άλλα λόγια πρώτα θα γίνει η διαίρεση ανάμεσα στην τιμή της μεταβλητή y και τον αριθμό 100 και μετά η πρόσθεση με την τιμή της μεταβλητής x.
Εάν θέλουμε να επηρεάσουμε την σειρά εκτέλεσης των πράξεων σε ένα expression τότε μπορούμε απλά να χρησιμοποιήσουμε παρενθέσεις όπως δείχνει το παρακάτω παράδειγμα.

(x + y) / 100

Εδώ η java θα εκτελέσει πρώτα την πράξη μέσα στην παρένθεση και μετά θα διαιρέσει το αποτέλεσμα με τον αριθμό 100. Η χρήση των παρενθέσεων είναι η καλύτερη προσέγγιση όταν θέλουμε να δώσουμε έμφαση και σαφήνεια στην σειρά εκτέλεσης αριθμητικών πράξεων.
Μην ξεχνάτε ότι μερικοί operators έχουν μεγαλύτερη σειρά προτεραιότητας από κάποιους άλλους.
Ας δείξουμε ξανά τον πίνακα με όλους τους operators και την σειρά προτεραιότητας που έχουν όσο αφορά την εκτέλεσης τους σε ένα expression.

Προχωρώντας σε πιο ολοκληρωμένες εντολές εκτέλεσης java, συναντάμε την έννοια του statement.
Σαν statement ορίζουμε μια ολοκληρωμένη εντολή εκτέλεσης κώδικα. Κάθε statement πρέπει να ολοκληρώνεται (να κλείνει την πρόταση) με το σύμβολο semicolon ( ; ).
Παρακάτω σας δίνονται ορισμένα παραδείγματα από statements:

Τέλος, πολλά statements μαζί μπορούν να δημιουργήσουν ενότητες που ξεχωρίζουν η μία από την άλλη με την χρήση των άγκιστρων ( { } ).
Ας δούμε ένα λειτουργικό java πρόγραμμα για να μπορούμε να αναλύσουμε την θεωρία μας καλύτερα:

Την πρώτη ενότητα (block) την συναντάμε στην γραμμή που ξεκινάει με το if. Εάν και ακόμα δεν έχουμε μιλήσει για τέτοιου είδους συνθήκες, μπορούμε όμως να δούμε ξεκάθαρα τον διαχωρισμό που γίνεται στον κώδικα. Εάν η συνθήκη μέσα στο if αληθεύει (είναι true) τότε ο κώδικας που ακολουθεί αμέσως μετά το if και περικλείεται ανάμεσα στα άγκιστρα θα εκτελεστεί. Στην εικόνα του παραδείγματος το βλέπετε αυτό σαν begin block 1 και end block one.

Σε περίπτωση που δεν αληθεύει η πρώτη συνθήκη, δηλαδή η συνθήκη του if είναι false, τότε θα τρέξει το block των statements που περιέχονται στο else. Αυτό στην εικόνα του παραδείγματος παρουσιάζεται σαν begin block 2 και end block 2.

Εάν τρέξουμε το πρόγραμμα, η απάντηση που θα πάρουμε είναι “Condition is true” επειδή στην μεταβλητή condition, η οποία είναι Boolean και βρίσκεται μέσα στην παρένθεση του if, έχουμε αναθέσει την τιμή true από την αρχή του προγράμματος.

Μιχάλης Κασάπογλου(http://kassapoglou.com)

  • Σχόλια

0 Comments:

Scroll to Top