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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τύποι δεδομένων και τελεστές,
Advertisements

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα.
ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 4 Αριθμητικές εκφράσεις και πράξεις Εντολές ανάθεσης
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εντολες Επιλογης (Selection)
Εισαγωγή στο MATLAB.
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
Τελεστές ανάθεσης (assignment)
Προγραμματισμός στο ΜatLab
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 7: Συμβολοσειρές.
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
ΦΡΟΝΤΙΣΤΗΡΙΟ 1-β.
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
ΤΕΛΕΣΤΕΣ II ΜΑΘΗΜΑ 5.
1 Ολυμπιάδα Πληροφορικής Μάθημα 2. 2 Στόχοι μαθήματος Αριθμητικοί– Λογικοί Τελεστές Η εντολή IF.
Microsoft Excel 4.4 Τύποι και Συναρτήσεις
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές.
Δηλαδή οι σημαντικοί δεν ασχολούνται με μικροπράγματα.
Αντικειμενοστραφής Προγραμματισμός & JAVA
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Data Types, Variables, and Arithmetic.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
ΜΑΘ 3122/106 – Γλώσσα Προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Διαφάνειες παρουσίασης #2
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΜΥ 100: Εισαγωγή στην Τεχνολογία Διάλεξη 16 Εισαγωγή στα Ψηφιακά Συστήματα: Μέρος B TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Βασικά στοιχεία της Java
Κεφάλαιο 3 Τύποι Δεδομένων - Τελεστές. Πρωτογενείς τύποι δεδομένων: int, float, double, chars ΤύποςΌνομαΜέγεθος byte 8-bit signed, short 16-bit.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ.
1 Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στην Python.
Προτάσεις, εκφράσεις, τελεστές Βασικά στοιχεία ελέγχου προγράμματος
Εισαγωγή στον Προγ/μό Η/Υ
Δεδομένα, μεταβλητές, υπολογισμοί
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Ενότητα Εισαγωγή Είναι εύκολη στη χρήση και στην εκμάθηση.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι Ιωάννης Έλληνας Τμήμα Η/ΥΣ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τύποι Μεταβλητών.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Τεχνολογία και Προγραμματισμός Υπολογιστών
Προτασιακή λογική.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Η ΑΡΙΘΜΙΤΙΚΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Εισαγωγή στον Προγ/μό Υπολογιστών
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
Πρωτογενείς τύποι δεδομένων
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
3.2 Μεταβλητές και τύποι δεδομένων
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Διάλεξη #7: Συμβολοσειρές.
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Τύποι δεδομένων και τελεστές, Διάλεξη #4: Τύποι δεδομένων και τελεστές, εντολές επιλογής

Απλοί τύποι σε αντιπαράθεση με αντικείμενα Η Java παρέχει τύπους αντικειμένων και τύπους βασικών δεδομένων [primitive data types] Οι βασικοί τύποι δεδομένων είναι: Τυποι αντικειμένων: Ολοι οι αλλοι! (περιλαμβανομένων των Strings!) int, short, long, float, double, boolean, char, byte

Βασικοί τύποι δεδομένων τύπος μέγεθος (σε bit) ενδεικτικές τιμές Ακέραιοι [integral numbers]: byte 8 28 short 16 28 int 32 28, 034, 0x1C long 64 28L Αριθμοί κινητής υποδιαστολής [floating point numbers]: float 32 1.234f double 64 1.234, 1.34e3 Λογικές τιμές [boolean values]: boolean 8 true, false Χαρακτήρες [characters]: char 16 'c', '\u4567'

Τυποι ακεραίων αριθμών int age = 35; short shoeSize = 8; int a; long b; b = a; // ok: coercion (widening conversion) «Μικρότεροι» αριθμητικοί τύποι δεδομένων μπορούν να καταχωρηθούν σε μεγαλύτερους. char c; a = c; // ok! Οι χαρακτήρες θεωρούνται αριθμητικά δεδομένα! Έχουν αριθμητική τιμή και μπορεί να καταχωρηθούν σε ακέραιες μεταβλητές.

Τύποι κινητής υποδιαστολής (Floating point) float f = 3.1415f; double x = 42.0; int i; float f; f = i; // ok: coercion (widening conversion) f = f + i; // ok: i will be promoted to float i = i + f; // error: f will not be narrowed //(automatically) to an int

Λογικές τιμές (Boolean) boolean done = false; boolean isWeekend = true; isWeekend = (dayIndex == 6) || (dayIndex == 7); (Η ερμηνεία της έκφρασης θα δοθεί σε λίγο...)

Ο τύπος χαρακτήρων char ch; ch = 'm'; // note: single quotes! ch = '\u2456'; // unicode ch = '\u0008'; // backspace; unicode is superset //of ASCII int code = ch; // this is legal! Οι χαρακτήρες αποθηκεύονται μέσω του αριθμητικού τους κώδικα. Αποθηκεύονται όπως οι ακέραιοι αριθμοί και μπορεί να χρησιμοποιηθούν (σχεδόν) σαν αριθμοί.

Τελεστές (Operators) Ενός έντελου [unary] ++ -- + - ! ~ () Αριθμητικοί * / % + - Ολίσθησης [shift] << >> >>> Συγκρισης [comparison] < <= > >= == != Bit προς bit [bitwise binary] & ^ | Λογικοί [logical] && || (short-circuit) Τριαδικοί [ternary] ?: Καταχώρησης [assignment] = op=

Τελεστές σε επίπεδο bit ! Αντιστροφή, άρνηση ~ bit προς bit αντιστροφή & bitwise AND | bitwise OR ^ bitwise XOR << ολίσθηση προς τα αριστερά >> ολίσθηση προς τα δεξιά >>> ολίσθηση προς τα δεξιά χωρίς επέκταση πρόσημου Δεν θα ασχοληθούμε άλλο με τους τελεστές σε επίπεδο bit

Αριθμητικοί τελεστές + πρόσθεση - αφαίρεση * πολλαπλασιασμός + πρόσθεση - αφαίρεση * πολλαπλασιασμός / διαίρεση % υπόλοιπο a = b + 32; n = (a + 1) * (b + 1); share = amount / people; remains = amount % people;

Αύξηση / μείωση μίας μονάδας n++ εκ των υστέρων αύξηση n-- εκ των υστέρων μείωση ++n εκ των προτέρων αύξηση --n εκ των προτέρων μείωση x++; // increment x by one x--; // decrement x by one y = 8; x = y++; x = ++y;

Τελεστές σύγκρισης > Μεγαλύτερο από < Μικρότερο από > Μεγαλύτερο από < Μικρότερο από >= Μεγαλύτερο από ή ίσο με <= Μικρότερο από ή ίσο με == Ίσο με != Όχι ίσο με Οι τελεστές σύγκρισης επιστρέφουν μια λογική (boolean) τιμή. boolean isHD = (mark >= 80); return (number == 0);

Λήψη αποφάσεων Παράδειγμα: System.out.println("Your mark is: " + mark); if (mark > 70) System.out.println("well done!"); System.out.println("Talk to your tutor for details");

Λήψη αποφάσεων (2) Άλλο ένα παράδειγμα: System.out.println("Your mark is: " + mark); if(mark >= 50) System.out.println("You have passed."); else System.out.println("Please try again."); System.out.println("Talk to your tutor for details");

Η εντολή επιλογής if if(συνθήκη) εντολή; else if(συνθήκη) { εντολή; ... } else

Τμήματα κώδικα (blocks) Τα άγκιστρα { } ομαδοποιούν το σύνολο των εντολών που περικλείουν. Το σύνολο των εντολών αυτών καλείται «τμήμα κώδικα». Τα τμήματα κώδικα αντιμετωπίζονται σαν μια απλή εντολή από τις δομές έλεγχου ροής. { εντολή; ... }

Παραδείγματα άσχημο καλύτερο if(value >= 1 && value <= 10) { ... } else if((value >= 1) && (value <= 10)) { ... } άσχημο if(processFinished == true) { ... } καλύτερο if(processFinished) { ... }

Τιμές βασικών τύπων και αναφορές Τα δεδομένα βασικών τύπων αποθηκεύονται κατ’ αξία [by value], ενώ τα αντικείμενα αποθηκεύονται κατ’ αναφορά [by reference] age = 42; father = new Person(); name = "Fred"; 42 Person "Fred"

Η εντολή καταχώρησης (για 2η φορά) Η εντολή καταχώρησης (για 2η φορά) Η καταχώρηση γίνεται κατ’ αξία για τους βασικούς τύπους δεδομένων και κατ’ αναφορά για τύπους αντικειμένων age = 42; myAge = age; p1 = new Person(); p2 = p1; 42 42 age myAge Person p1 p2