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

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό

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

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

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

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

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

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

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

Mεταβλητές (variables) και Σταθερές (constants)

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων

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

ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ

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

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

Στοιχειώδης προγραμματισμός σε C++

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

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

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

Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με τη Java

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

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

Προγραμματισμός Ι (ΗΥ120)

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

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

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

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

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

ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ

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

Προγραμματισμός Ι (ΗΥ120)

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

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

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

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

Θα εμφανίσει την τιμή 232 αντί της ακριβούς

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Ι (ΗΥ120)

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

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

Transcript:

Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό έτος 2010/2011 Επιμέλεια Ξενοφών Βασιλάκος

Περιεχόμενα Φροντιστηρίου A. Πρωταρχικοί τύποι B. Είσοδος/ Έξοδος C. Πράξεις 2

Δήλωση / Αρχικοποίηση / Εκχώρηση A. Πρωταρχικοί Τύποι 3

Δήλωση Γενικά Δήλωση: type varname; byte bb; // 8 bits short s; // 16 bits int i; // 32 bits long l; // 64 bits float fl; // 32 bits double dd; // 64 bits boolean b; // 8 bits char c; // 16 bits 4

Δήλωση-Αρχικοποίηση Δήλωση με ταυτόχρονη εκχώρηση (αρχικοποίηση): type varname = κάποια σταθερά ή παράσταση int num = 563; boolean psema = false; 5

Εκχώρηση Εκχώρηση: varname = κάποια σταθερά ή παράσταση bb = 15; s = 2225; i = 5 * s; l = 77L; fl = 5.4f; dd = 5.4 * fl; b = true && false; c = 5; c = 5 ; // αυτό διαφέρει από το παραπάνω.. Γιατί; 6

Δήλωση-Εκχώρηση 1/3 Δήλωση short mysrt; O short έχει μήκος 16 bit στη java ωστόσο πιάνει ολόκληρη τη θέση μήκους 32 δυφίων.. Αν είχαμε πίνακα από short (short[])μεταβλητές, τότε θα σώζαμε μνήμη καθότι σε μία θέση θα αντιστοιχούσαν 2 short μεταβλητές H μεταβλητή mysrt είναι πλέον συνώνυμο της θέσης 3 στη μνήμη Διεύθυν ση 0 1 2 3 4 5 6 7 8 9 10 11 12 Μνήμη Περιεχόμενο (λέξη 32 bits) 7

Δήλωση-Εκχώρηση 2/3 Δήλωση short mysrt; O short έχει μήκος 16 bit στη java ωστόσο πιάνει ολόκληρη τη θέση μήκους 32 δυφίων.. Αν είχαμε πίνακα από short (short[])μεταβλητές, τότε θα σώζαμε μνήμη καθότι σε μία θέση θα αντιστοιχούσαν 2 short μεταβλητές H μεταβλητή mysrt είναι πλέον συνώνυμο της θέσης 3 στη μνήμη Εκχώρηση σταθεράς mysrt = 5; Διεύθυν ση 0 1 2 3 4 5 6 7 8 9 10 11 12 Μνήμη Περιεχόμενο (λέξη 32 bits) 000..0101 8

Δήλωση-Εκχώρηση 3/3 Δήλωση short mysrt; Μνήμη O short έχει μήκος 16 bit στη java, ωστόσο πιάνει ολόκληρη τη θέση μήκους 32 δυφίων.. Αν είχαμε πίνακα από short (short[])μεταβλητές, τότε θα σώζαμε μνήμη καθότι σε μία θέση θα αντιστοιχούσαν 2 short μεταβλητές H μεταβλητή mysrt είναι πλέον συνώνυμο της θέσης 3 στη μνήμη Εκχώρηση σταθεράς mysrt = 5; Εκχώρηση παράστασης mysrt = 5.7 * mysrt; τι τύπου είναι το αποτέλεσμα; άρα είναι συντακτικά λαθεμένη η παραπάνω εντολή. Διεύθυν ση 0 1 2 3 4 5 6 7 8 9 10 11 12 Περιεχόμενο (λέξη 32 bits) 00 0...1. 9

Εισαγωγή πακέτου java.io.*; Χειρισμός IOException Παραδείγματα Ι/Ο Β. Είσοδος / Έξοδος 10

I/O Input / Output 1/2 Γενικά I/O: Input / Output Με τον όρο Ι/Ο αναφερόμαστε στην Είσοδο και Έξοδο δεδομένων από το πρόγραμμα σας Παραδείγματα Εξόδου Αρχείο κάποιο άλλο πρόγραμμα στον ίδιο Η/Υ ή κάπου αλλού στο δίκτυο Οθόνη ή Εκτυπωτή ή Παραδείγματα Εισόδου Αρχείο Κάποιο άλλο πρόγραμμα στον ίδιο Η/Υ ή κάπου αλλού στο δίκτυο Από πληκτρολόγιο ή ποντίκι ή.. 11

I/O Input / Output 2/2 Ροή Με Δεδομένα Στη java ανοίγουμε μια ροή με δεδομένα προς κάπου Πχ ένα αντικείμενο της κλάσης FileOutputStream Χρησιμοποιείται για ροή εγγραφής σε κάποιο αρχείο του δίσκου Εμείς θα δείξουμε εδώ το βασικό Ι/Ο System.in: από το πληκτρολόγιο προς το πρόγραμμα Default Input (προκαθορισμένη είσοδος) System.out: από το πρόγραμμα προς την οθόνη Default Output (Προκαθορισμένη έξοδος) System.err: Default Error Output Για μηνύματα λάθους» Προκαθορισμένη έξοδος είναι και πάλι η οθόνη Σημ: Εδώ κάνουμε μια απλή εισαγωγή στο Ι/Ο. Λεπτομέρειες για τις ροές σε απόμενα μαθήματα του οδηγού σπουδών πάνω στο προγραμματισμό ή ψάξτε αν ενδιαφέρεστε και από μόνοι σας. 12

I/O Input / Output 1/2 Βήμα 1: εισαγωγή βιβλιοθήκης στο κώδικα 1. import java.io.*;

I/O Input / Output 2/2 Βήμα 2: Δήλωση ρήψης εξαίρεσης από τη μέθοδο που περιλαμβάνει το κώδικα I/O 1. Import java.io.*; 2. public class SomeClass{ 3. public static void main(string[] args) throws IOException { 4. }//main() 5. }//SomeClass

Ι/Ο με παραδείγματα 1/2 1. int c = System.in.read(); // Διαβάζει και επιστρέφει το (σε μορφή int) το // επόμενο byte που μόλις διαβάστηκε από το πληκτρολόγιο 2. System.out.print(c); // Τυπώνει στην οθόνη την αριθμητική τιμή του byte που μόλις // διαβάστηκε πριν από το πληκτρολόγιο 3. System.out.print((char)c); // Τυπώνει στην οθόνη ως χαρακτήρα αυτό που μόλις // διαβάστηκε πριν από το πληκτρολόγιο (ερμηνεύει τον αριθμό ως τακτικό // αριθμό κάποιου χαρακτήρα). // Αν είναι λατινικός χαρακτήρας όλα καλά.. Για τους άλλους υπάρχει ζήτημα // κωδικοποίησης και το παραπάνω δεν θα παίξει σωστά 4. System.err.println( Ένα κείμενο @default error output ;-) ); 5. System.out.print( Ένας αριθμός: + 6 + \n );

Ι/Ο με παραδείγματα 2/2 6. System.out.print( Ένας αριθμός: + 6 + 17 + \n ); //Τι τυπώνει; 7. System.out.print( Ένας αριθμός: + (6 + 17) + \n ); //Ποια η διαφορά από πρίν; 8. System.out.print( Δύο αριθμοί τυπωμένοι με κενό ανάμεσα τους: + 6 + + 17 + \n );

Τελεστές και προτεραιότητες αυτών Παραδείγματα πράξεων και καλουπωμάτων C. Πράξεις 17

Αριθμητικοί Τελεστές Αριθμητικές πράξεις Τελεστές + ή - * ή / ή % Ο % επιστρέφει το υπόλοιπο μιας διαίρεσης (mod) Προτεραιότητες Όπως και στα μαθηματικά Προηγούνται τα «/» και «*» και «%» Έπονται τα +/- Μεταξύ ισοδύναμων προτεραιοτήτων προηγείται ότι είναι πιο αριστερά: Άσκηση: 1/2 + 5*8 + 2.5/(3+5)%5 1/(2 + 5)*8 + 2.5/3+5%5 Γιατί; 18

Αριθμητικοί Τελεστές Αριθμητικές πράξεις Άσκηση: 1/2 + 5*8 + 2.5/(3+5)%5 System.out.println(1/2); System.out.println(1/2 + 5*8); System.out.println(2.5/(3+5)); System.out.println(2.5/(3+5)%5); System.out.println(1/2 + 5*8 + 2.5/(3+5)%5); 0 40 0.3125 0.3125 40.3125 19

Παραδείγματα Πράξεων 1/8 1. byte b = 887; // Λαθος! εκτός range [- 128,127] 2. byte b = 111; // σωστό 3. b = (byte) 887; 4. System.out.println("0.0 b = " + b + "\n"); // αντιστοιχα για short σε σχέση με το εύρος τιμών που θα περάσουμε 5. int i = 887; 6. System.out.println("1.0 i = " + i + "\n"); 7. System.out.println("\t1.1 i / 10 = " + i/10 + "\n"); 20

Παραδείγματα Πράξεων 2/8 8. System.out.println("\t1.2 i % 10 = " + i%10 + "\n"); 9. System.out.println("\t1.3 (float)i % 10 = " + (float)i/10 + "\n"); 10.char c ; 11.c = 'α'; 12.System.out.println("2.0 c = " + c + "\n"); 13.// short srt = c; Λαθος! αν και ειναι // και οι δύο 16 bit, ο // char καταλαμβάνει 32 bit απο τα οποία // χρησιμοποιεί μόνο 16 21

Παραδείγματα Πράξεων 3/8 13.i = c * 'φ' / 887; 14.System.out.println("\t2.1 i = c * 'φ' / 887 = " + i + "\n"); 15.double d = (double) c * 'φ' / 887; 16.System.out.println("4.0 d = (double) c * 'φ' / 887 = " + d + "\n"); 22

Παραδείγματα Πράξεων 18.float f = 123; // ok, γιατι; 19.System.out.println("5.0 f = " + f + "\n"); 20.//f = 123.0; // οχι ok, γιατι; 21.f = 123.0f; // ok 22.f = (float)123.0;// ok, ποιά η διαφορά απο πριν; σημ: παίρνει και παραπάνω χρόνο 23.System.out.println("6.0 f = (float)123.0 ή 123.0f = " + f + "\n"); 4/8 24.// f = d / 125; // λάθος, γιατι; 25.// f = d / 125f; // λάθος, γιατι; 26.// f = d / 125.0; // λάθος, γιατι; 27.// f = (float)d / 125.0; // λάθος, γιατι; 23

Παραδείγματα Πράξεων 5 /8 28.d = (d / 125); // Σωστό, αν και // διαιρείται με int, γιατι; 29.System.out.println("\t6.1 d = (d / 125) = " + d + "\n"); 30.f = (float)(d / 125.0); // Σωστό, γιατι; 31.System.out.println("\t\t6.1.1 f = (float)(d / 125) = " + f + "\n"); 32.f = (int)(32000*d / 125.0); // Σωστή σύνταξη, λαθεμένο αποτέλεσμα, // γιατι; Ποιό το αποτέλεσμα και γιατί; 33.System.out.println("\t\t6.2.0 f = (int)(d / 125.0) = " + f + "\n");

Παραδείγματα Πράξεων 6 /8 34.f = (short)(32000*d / 125.0); // Ποιό το // αποτέλεσμα και γιατί διαφέρει απο το // προηγούμενο; 35.System.out.println("\t\t6.2.1 f = (short)(32000*d / 125.0) = " + f + "\n"); 36.d = (byte)(32000*d / 125.0); // Ποιό το // αποτέλεσμα και γιατί διαφέρει απο το // προηγούμενο; 37.System.out.println("\t\t6.2.2 d = (byte)(32000*d / 125.0) = " + d + "\n");

Παραδείγματα Πράξεων 7 /8 38.d = (32000*d / 125.0); // Σωστό αποτέλεσμα, // γιατι; Γιατί διαφέρει απο το // προηγούμενο; 39.System.out.println("\t\t6.2.3 d = (32000*d / 125.0) = " + d + "\n"); 40.f = (float)(32000*d / 125.0); // Ποιό το // αποτέλεσμα και γιατί διαφέρει απο το // προηγούμενο; 41.System.out.println("\t\t6.2.4 f = (float)((32000*d / 125.0) = " + f + "\n"); 42.i = 200 % 121; // γιατι είναι λάθος το i = 200.0 % 120; 43.System.out.println("7.0 i = 200 % 120 = " + i + "\n");

Παραδείγματα Πράξεων 8/8 44.double somedbl = (88-i)/i*100; // ποιά η // διαφορά απο το 88-i/i*100 ή το 88- // i/(i*100); 45.System.out.println("\t7.1 somedbl = (88- i)/i*100 = " + somedbl + "\n"); 46.System.in.read(); 47.someDbl =(double)(88-i)/i*100; 48.System.out.println("\t7.2 somedbl = (double)(88-i)/i*100 = " + somedbl + "\n"); 49.System.in.read(); 50.someDbl =(int)((88-i)/(double)(i)*100); 51.System.out.println("\t7.3 somedbl =(int)((88-i)/(double)(i)*100) = " + somedbl + "\n");

Τι Ακούσατε Σήμερα A. Πρωταρχικοί τύποι Δήλωση Αρχικοποίηση Εκχώρηση B. Είσοδος/ Έξοδος C. Πράξεις Προτεραιότητα Πράξεων Πράξεις Μεταξύ Ακεραίων Και Πραγματικών 28

ΤΕΛΟΣ!