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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 5/3/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια

2 Εμφάνιση κειμένου με την printf System.out.printf ισοδύναμο με System.out.format Εμφανίζει μορφοποιημένα τα δεδομένα Δέχεται ως παραμέτρους: String format, Object... args Το format είναι ένα string που καθορίζει τι format θα χρησιμοποιηθεί args είναι η λίστα των μεταβλητών που θα τυπωθούν με αυτό το format

3 Εμφάνιση κειμένου με την printf Παράδειγμα System.out.printf("The value of " + "the float variable is " + "%f, while the value of the " + "integer variable is %d, " + "and the string is %s", floatvar, intvar, stringvar); Η 1 η παράμετρος, format, είναι τύπου string και καθορίζει πώς τα αντικείμενα στη 2 η παράμετρο θα εμφανιστόύν. Η 1 η παράμετρος περιέχει απλό κείμενο αλλά και καθοριστές του format (format specifiers), δηλ. ειδικούς χαρακτήρες που καθορίζουν το format των ορισμάτων - Object... Args Π.χ. 0.3f σημαίνει ότι θα έχουμε 3 δεκαδικά ψηφία

4 Εμφάνιση κειμένου με την printf 1 // Welcome3a.java 2 // Printing multiple lines in a dialog box. 3 4 public class Welcome3a 5 { 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 System.out.printf("%s\n%s\n", 10 "Welcome to", "Java Programming!" ); } // end method main } // end class Welcome3a System.out.printf εμφανίζει μορφοποιημένα τα δεδομένα Welcome to Java Programming!

5 Τύποι και μεταβλητές Είδη τιμών που μπορούν να αποθηκευτούν και να τις επεξεργαστεί κάποιος boolean: Truth value (true or false) int: Integer (0, 1, -47) double: Real number (3.14, 1.0, -2.1) String: Text ( hello, example ). Μεταβλητές Ονοματισμένη θέση που αποθηκεύει μία τιμή ενός τύπου. Ορισμός: TYPE NAME; Παράδειγμα:String foo;

6 Καταχώρηση (Assignment) Χρησιμοποιούμε = για να δώσουμε τιμή σε μεταβλητή Παράδειγμα: String foo; foo = IAP ; Μπορεί να συνδυαστεί με δήλωση τύπου Παράδειγμα: double badpi = 3.14; boolean ismarch = true;

7 Εμφάνιση κειμένου με μεταβλητή 1 // Welcome3b.java 2 // Printing variable value 3 4 public class Welcome3b 5 { 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 String foo= Welcome to Java Programming ; 10 System.out.println(foo); 11 foo= Something else ; 12 System.out.println(foo); 13 } // end method main } // end class Welcome3b Welcome to Java Programming Something else

8 Τελεστές Σύμβολα για απλούς υπολογισμούς Καταχώρηση: = Πρόσθεση: + Αφαίρεση: - Πολλαπλασιασμός: * Διαίρεση: / Σειρά εκτέλεσης πράξεων Standard κανόνες μαθηματικών: Παρενθέσεις Πολλαπλασιασμός και διαίρεση Πρόσθεση και αφαίρεση

9 Συνένωση ακολουθιών String Concatenation (+) String text = "hello" + " world"; text = text + " number " + 5; // text = "hello world number 5"

10 Μία δεύτερη εφαρμογή Java Πρόσθεση 2 ακέραιων αριθμών Χρήση της Scanner για ανάγνωση 2 ακέραιων από το χρήστη Χρήση printf για εμφάνιση του αθροίσματος των 2 τιμών Χρήση packages

11 1// Fig. 2.7: Addition.java 2// Addition program that displays the sum of two numbers. 3import java.util.scanner; // program uses class Scanner 4 Πρόσθεση 2 ακέραιων Η δήλωση import εισάγει την 5public class Addition κλάση Scanner από το πακέτο 6{ (package) java.util. 7 // main method begins execution of Java application 8 public static void main (String args[]) 9 { 10 // create Scanner to obtain input from command window 11 Scanner input = new Scanner(System.in); int number1; // first number to add 14 int number2; // second number to add 15 int sum; // sum of number1 and number System.out.print("Enter first integer: "); // prompt 18 number1 = input.nextint(); // read first number Δήλωση και αρχικοποίηση της μεταβλητής input, που είναι μία Scanner. Δήλωση μεταβλητών number1, number2 και sum. Διαβάζει έναν integer από το χρήστη και τον αναθέτει στη number1.

12 20 System.out.print("Enter second integer: "); //prompt 21 number2 = input.nextint(); // read second number from user sum = number1 + number2; // add numbers 24 Πρόσθεση 2 ακέραιων 25 System.out.printf("Sum is %d\n", sum); // display sum 26 στη number2. 27 } // end method main 28 29} // end class Addition Enter first integer: 45 Enter second integer: 72 Sum is 117 Εμφανίζει το sum με χρήση μορφοποιημένης εξόδου Διαβάζει έναν integer από το χρήστη και τον αναθέτει Υπολογίζει το άθροισμα των number1 και number2, και θέτει το αποτέλεσμα στη sum.

13 Πρόσθεση 2 ακέραιων 3 import java.util.scanner; // program uses class Scanner Δηλώσεις import Χρησιμοποιούνται από τον compiler για να προσδιορίζει και να εντοπίζει classes Του υποδεικνύει να φορτώσει την κλάση Scanner από το package java.util 5 public class Addition 6 { Έναρξη κλάσης public class Addition Το όνομα του αρχείου πρέπει να είναι Addition.java Γραμμές 8-9: ξεκινά η main

14 Αποφυγή λαθών Όλες οι δηλώσεις import πρέπει να εμφανίζονται πριν τη δήλωση της κλάσης στο αρχείο Διαφορετικά (π.χ. Στο σώμα δήλωσης ή μετά τη δήλωση της κλάσης) syntax error Αν ξεχάσουμε να συμπεριλάβουμε μια δήλωση import για μια κλάση που χρησιμοποιούμε στο πρόγραμμα Συνήθως cannot resolve symbol.

15 10 // create Scanner to obtain input from command window 11 Scanner input = new Scanner(System.in); Πρόσθεση 2 ακέραιων Η input είναι αντικείμενο τύπου Scanner δίνει τη δυνατότητα στο πρόγραμμα να διαβάσει δεδομένα για χρήση Έχουμε δήλωση μεταβλητής Θέση στη μνήμη που αποθηκεύει μία τιμή Δήλωση με όνομα και τύπο πριν τη χρήση Με το = η input αποκτά ένα στιγμιότυπο της κλάσης Scanner Αυτή η έκφραση δημιουργεί ένα αντικείμενο της κλάσης Scanner που διαβάζει τα δεδομένα που πληκτρολογεί ο χρήστης Όνομα μεταβλητής: any valid identifier Declarations end with semicolons ; Initialize variable in its declaration Equal sign Standard input object System.in

16 Πρόσθεση 2 ακέραιων Δήλωση μεταβλητών number1, number2 και sum τύπου int int holds integer values (whole numbers): i.e., 0, -4, 97 Types float and double can hold decimal numbers Type char can hold a single character: i.e., x, $, \n, 7 int, float, double and char are primitive types Προσθήκη σχολίων για σκοπό των μεταβλητών 13 int number1; // first number to add 14 int number2; // second number to add 15 int sum; // second number to add Κλασικά, μπορούμε να δηλώσουμε πολλαπλές μεταβλητές του ίδιου τύπου μαζί int number1, // first number to add number2, // second number to add sum; // second number to add Χρήση διαχωριστή (comma)

17 Προσοχή Κατά συνθήκη, τα ονόματα των μεταβλητών ξεκινούν με πεζά γράμματα Και κάθε λέξη στο όνομα μετά την πρώτη λέξη ξεκινά με κεφαλαίο γράμμα Παράδειγμα firstnumber

18 Ορισμός Μεταβλητών Τύπος μεταβλητής Γενικά Όνομα_Μεταβλητής παραδείγματα int number1; float a, b, c = 5.5; boolean temp; char mychar = c ; Δήλωση και αρχικοποίηση μαζί

19 Οι βασικοί τύποι δεδομένων στη Java Τύποι Δεδομένων byte Ακέραιοι short, int, long Κινητής Υποδιαστολής float, double boolean Χαρακτήρες char

20 Τύποι Δεδομένων (με παραδείγματα) Literal Data Type 178 int 8864L long double D double F float 26.77e3 double c true false char boolean boolean

21 Primitive datatypes (integers) Πρωταρχικοί τύποι δεδομένων

22 Primitive datatypes (floating point)

23 Miscellaneous datatypes

24 Πρόσθεση 2 ακέραιων 17 System.out.print( "Enter first integer: " ); // prompt Καλείται ένα prompt κατευθύνει το χρήστη να κάνει μια λειτουργία Package java.lang 18 number1 = input.nextint(); // read first number from user Το αποτέλεσμα της κλήσης του nextint δίνεται στη number1 με χρήση του τελεστή ανάθεσης = Τελεστής ανάθεσης = δυαδικός τελεστής έχει δύο τελεστέους Η έκφραση στα δεξιά υπολογίζεται και ανατίθεται στη μεταβλητή στα αριστερά Δηλ: η number1 παίρνει την τιμή της input.nextint()

25 Προσοχή!!! Εξ ορισμού, το πακέτο (package) java.lang εισάγεται σε κάθε πρόγραμμα Java Επομένως, το java.lang είναι το μόνο package στο Java API που δε χρειάζεται δήλωση import

26 Πρόσθεση 2 ακέραιων 20 System.out.print( "Enter second integer: " ); // prompt Ομοίως με πριν για το δεύτερο ακέραιο 21 number2 = input.nextint(); // read second number from user Ομοίως με πριν, αναθέτει στη number2 τον δεύτερο εισαχθέντα ακέραιο 23 sum = number1 + number2; // add numbers Δήλωση ανάθεσης Υπολογίζει το άθροισμα των number1 και number2 (right hand side) Χρήση τελεστή ανάθεσης = για ανάθεση αποτελέσματος στη μεταβλητή sum Δηλ.: Η sum παίρνει την τιμή του number1 + number2

27 Πρόσθεση 2 ακέραιων 25 System.out.printf( "Sum is %d\n: ", sum ); // display sum Χρήση System.out.printf για εμφάνιση αποτελεσμάτων Χρήση %d για μορφοποίηση σε int System.out.printf( "Sum is %d\n: ", ( number1 + number2 ) ); Οι υπολογισμοί μπορούν να γίνουν εντός της printf Οι παρενθέσεις για την έκφραση number1 + number2 δεν είναι απαραίτητες Άσκηση! Αντίστοιχα με την πρόσθεση 2 ακεραίων, γράψτε ένα ολοκληρωμένο πρόγραμμα που υπολογίζει και προβάλει το γινόμενο τριών ακεραίων!

28 Διαίρεση Η διαίρεση ( / ) λειτουργεί διαφορετικά σε integers και doubles! Παράδειγμα: double a = 5.0/2.0; int b = 4/2; int c = 5/2; double d = 5/2; // a = 2.5 // b = 2 // c = 2 // d = 2.0

29 Προτεραιότητα πράξεων Από αριστερά προς δεξιά Το δεξί μέρος του = υπολογίζεται πρώτα Παράδειγμα: double x = 3 / 2 + 1; double y = 3 / (2 + 1); // x = 2.0 // y = 1.0

30 Mismatched Types Η Java πάντα ελέγχει ότι οι τύποι ταιριάζουν: String five = 5; // ERROR! test.java.2: incompatible types found: int required: java.lang.string String five = 5;

31 Μετατροπή με casting int a = 2; // a = 2 double a = 2; // a = 2.0 (Implicit) int a = 18.7; // ERROR int a = (int)18.7; // a = 18 double a = 2/3; // a = 0.0 double a = (double)2/3; // a =

32 Methods

33 Προσθήκη μεθόδων public static void NAME() { } STATEMENTS Για την κλήση μιας μεθόδου: NAME();

34 Προσθήκη μεθόδων class NewLine { public static void newline() { System.out.println(""); } public static void threelines() { } newline(); newline(); newline(); } public static void main(string[] arguments){ System.out.println("Line 1"); threelines(); System.out.println("Line 2"); }

35 Παράμετροι public static void NAME(TYPE NAME) { } STATEMENTS Για την κλήση: NAME(EXPRESSION);

36 Προσθήκη μεθόδων class Square { public static void printsquare(int x){ System.out.println(x*x); } } public static void main(string[] arguments){ int value = 2; printsquare(value); printsquare(3); printsquare(value*2); }

37 What s wrong here? class Square2 { public static void printsquare(int x){ System.out.println(x*x); } } public static void main(string[] arguments){ printsquare( hello ); printsquare(5.5); }

38 Πολλαπλές παράμετροι [ ] NAME(TYPE NAME, TYPE NAME) { } STATEMENTS Για την κλήση: NAME(ΑRG1, ARG2);

39 Προσθήκη μεθόδων class Multiply { public static void times (int a, int b){ System.out.println(a * b); } } public static void main(string[] arguments){ times (2, 2); times (3, 4); }

40 Τιμές επιστροφής public static TYPE NAME( ) { STATEMENTS return EXPRESSION; } void: σημαίνει no type

41 Τιμές επιστροφής class Square3 { public static void printsquare(int x){ System.out.println(x*x); } } public static void main(string[] arguments){ } printsquare(5);

42 Τιμές επιστροφής class Square4 { public static double square(int x){ return x*x; } } public static void main(string[] arguments){ } System.out.println(square(5)); System.out.println(square(2));

43 Methods: Building Blocks Τα μεγάλα προγράμματα χτίζονται με μικρές μεθόδους Οι μέθοδοι μπορούν να αναπτυχθούν, ελεγχθούν και ξαναχρησιμοποιηθούν ανεξάρτητα Ο χρήστης της μεθόδου δεν χρειάζεται να ξέρει πώς δουλεύει! Αυτό στην Επιστήμη των Υπολογιστών, ονομάζεται abstraction (αφαίρεση)

44 Εμφάνιση κειμένου σε παράθυρο διαλόγου Εμφάνιση Οι περισσότερες εφαρμογές Java χρησιμοποιούν παράθυρα ή dialog boxes Μέχρι τώρα χρησιμοποιήσαμε command prompt Η κλάση JOptionPane επιτρέπει τη χρήση dialog boxes Η JOptionPane βρίσκεται στο πακέτο javax.swing Το πακέτο γενικά περιέχει κλάσεις για τη χρήση γραφικών διεπαφών χρήστη (Graphical User Interfaces GUIs)

45 1 // Welcome4.java 2 // Printing multiple lines in a dialog box. 3 Εμφάνιση κειμένου σε 4 // Java packages 5 import javax.swing.joptionpane; // program uses JOptionPane 6 παράθυρο διαλόγου 7 public class Welcome4 { 8 9 // main method begins execution of Java application 10 public static void main( String args[] ) 11 { 12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" ); System.exit(0); // terminate application with window } // end method main } // end class Welcome4

46 Εμφάνιση κειμένου σε παράθυρο διαλόγου 4 // Java packages 2 ομάδες πακέτων στο Java API Core packages Ξεκινούν με java Extension packages Ξεκινούν με javax 5 import javax.swing.joptionpane; // program uses OptionPane import δήλωση Όπως είπαμε χρησιμοποιείται από τον compiler για να αναγνωρίσει και να εντοπίσει κλάσεις Εδώ λέει στον compiler να φορτώσει την κλάση JOptionPane από το πακέτο javax.swing

47 Εμφάνιση κειμένου σε παράθυρο διαλόγου 12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" ); Κλήση μεθόδου showmessagedialog της κλάσης JOptionPane Απαιτεί 2 ορίσματα Πολαπλλά ορίσματα χωρίζονται με (,) Για την ώρα, το 1ο όρισμα θα είναι πάντα null Το 2ο όρισμα είναι το string προς εμφάνιση Η showmessagedialog είνα μία static μέθοδος τη κλάσης JOptionPane Κλήση με το όνομα της κλάσης, τελεία (dot.) και μετά το όνομα της μεθόδου Δεν χρειάζεται στιγμιότυπο της κλάσης

48 Εμφάνιση κειμένου σε παράθυρο διαλόγου Η εκτέλεση των γραμμών 12 και 13 εμφανίζει το dialog box Αυτόματα περιλαμβάνει το κουμπί ΟΚ (OK button) Κρύβει το dialog box Ο τίτλος του παραθύρου έχει το string Message

49 Εμφάνιση κειμένου σε παράθυρο διαλόγου 15 System.exit(0); // terminate application with window Καλεί τη static μέθοδο exit της κλάσης System Τερματίζει την εφαρμογή Χρήση με κάθε εφαρμογή που εμφανίζει ένα GUI Το όρισμα 0 σημαίνει ότι η εφαρμογή τερματίστηκε επιτυχώς Συνήθως αν είναι μη-μηδέν σημαίνει ότι συνέβη κάποιο σφάλμα ΕΡΩΤΗΣΗ: Σε ποιο πακέτο βρίσκεται η System??? ΑΠΑΝΤΗΣΗ: Η κλάση System ανήκει στο πακέτο java.lang Δε χρειάζεται δήλωση import Το java.lang εισάγεται (imported) φορτώνεται αυτόματα σε κάθε πρόγραμμα Java

50 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων Χρήση input dialogs για εισαγωγή 2 τιμών από το χρήστη με τη χρήση της μεθόδου JOptionPane.showInputDialog Χρήση message dialog για εμφάνιση του αθροίσματος των δύο τιμών με τη χρήση της μεθόδου JOptionPane.showMessageDialog

51 1 // AdditionΑ.java 2 // Addition program that displays the sum of two numbers. 3 4 Άλλο // Java packages ένα παράδειγμα: 5 import javax.swing.joptionpane; // program uses JOptionPane 6 7 public class AdditionΑ { πρόσθεση ακεραίων 8 9 // main method begins execution of Java application 10 public static void main( String args[] ) 11 { 12 String firstnumber; // first string entered by user 13 String secondnumber; // second string entered by user int number1; // first number to add 16 int number2; // second number to add 17 int sum; // sum of number1 and number // read in first number from user as a String 20 firstnumber = JOptionPane.showInputDialog( "Enter first integer" ); // read in second number from user as a String 23 secondnumber = 24 JOptionPane.showInputDialog( "Enter second integer" ); // convert numbers from type String to type int 27 number1 = Integer.parseInt( firstnumber ); 28 number2 = Integer.parseInt( secondnumber ); // add numbers 31 sum = number1 + number2; 32 Πρόσθεση, τοποθέτηση του αποτελέσματος στη sum. Δήλωση μεταβλητών : όνομα και τύπος Εισαγωγή 1 ου ακέραιου ως String, ανάθεση στον firstnumber. 04/04/2008 Αντικειμενοστρεφής Προγραμματισμός Μετατροπή strings σε integers. Τμήμα Διδακτικής της Τεχνολογίας & Ψηφιακών Συστημάτων

52 33 // display result 34 JOptionPane.showMessageDialog( null, "The sum is " + sum, Άλλο ένα παράδειγμα: 35 "Results", JOptionPane.PLAIN_MESSAGE ); 36 πρόσθεση ακεραίων 37 System.exit( 0 ); // terminate application with window } // end method main } // end class AdditionΑ

53 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 5 import javax.swing.joptionpane; // program uses JOptionPane Θέση της JOptionPane για χρήση από το πρόγραμμα 7 public class AdditionΑ { Εκκίνηση public κλάσης AdditionΑ ΘΥΜΗΘΕΙΤΕ ότι το όνομα του αρχείου πρέπει να είναι AdditionΑ.java 12 String firstnumber; // first string entered by user 13 String secondnumber; // second string entered by user Δήλωση firstnumber και secondnumber είναι μεταβλητές

54 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 12 String firstnumber; // first string entered by user 13 String secondnumber; // second string entered by user Μεταβλητές Θέση στη μνήμη που αποθηκεύει μια τιμή Declare with name and type before use Οι firstnumber και secondnumber είναι τύπου String (package java.lang) Κρατά strings Όνομα μεταβλητής: ο,τιδήποτε Οι δηλώσεις τερματίζουν με ;

55 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 15 int number1; // first number to add 16 int number2; // second number to add 17 int sum; // sum of number1 and number2 Δηλώσεις μεταβλητών int holds integer values

56 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 20 firstnumber = JOptionPane.showInputDialog( "Enter first integer" ); Διαβάζει ένα String από το χρήστη, που αντιστοιχεί στον πρώτο προσθετέο Η μέθοδος JOptionPane.showInputDialog εμφανίζει το ακόλουθο: Καλείται ένα prompt κατευθύνει το χρήστη να κάνει μια ενέργεια Το όρισμα εμφανίζεται ως κείμενο στο prompt Αν εισαχθεί λάθος τύπος δεδομένων (π.χ. non-integer) ή πατήσουμε Cancel, συμβαίνει σφάλμα

57 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 20 firstnumber = JOptionPane.showInputDialog( "Enter first integer" ); Το αποτέλεσμα της κλήσης showinputdialog δίνεται στο firstnumber με χρήση του τελεστή = Δηλ.: Ο firstnumber παίρνει την τιμή που επιστρέφει η JOptionPane.showInputDialog( "Enter first integer" )

58 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 23 secondnumber = 24 JOptionPane.showInputDialog( "Enter second integer" ); Όπως πριν για τον secondnumber 27 number1 = Integer.parseInt( firstnumber ); 28 number2 = Integer.parseInt( secondnumber ); Μέθοδος Integer.parseInt Μετατρέπει το όρισμα String σε έναν ακέραιο (type int) Η κλάση Integer είναι στο πακέτο java.lang Ο ακέραιος που επιστρέφεται από την κλήση Integer.parseInt ανατίθεται στη μεταβλητή number1 (line 27) Θυμηθείτε ότι για number1 δηλώθηκε ως type int Ομοίως για τη γραμμή 28

59 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 31 sum = number1 + number2; Προφανές

60 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 34 JOptionPane.showMessageDialog( null, "The sum is " + sum, 35 "Results", JOptionPane.PLAIN_MESSAGE ); Χρήση της showmessagedialog για εμφάνιση αποτελεσμάτων "The sum is " + sum Χρησιμοποιεί τον τελεστή + για να «προσθέσει-ενώσει» τα "The sum is" και sum Αλληλουχία (Concatenation) ενός String και ενός άλλου τύπου Αποτέλεσμα = νέο string Αν η sum περιέχει το 117, τότε "The sum is " + sum δίνει το νέο string "The sum is 117" Προσοχή στο κενό (space) στο "The sum is "

61 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 34 JOptionPane.showMessageDialog( null, "The sum is " + sum, 35 "Results", JOptionPane.PLAIN_MESSAGE ); Άλλη έκδοση της showmessagedialog Απαιτεί 4 ορίσματα (αντί για 2 όπως πριν) 1 ο όρισμα: για τώρα null 2 ο όρισμα: string προς εμφάνιση 3 ο όρισμα: string στο title bar 4 ο όρισμα: τύπος μηνύματος με ή χωρίς εικόνα (icon) Γραμμή Line 35 χωρίς εικόνα : JOptionPane.PLAIN_MESSAGE

62 Άλλο ένα παράδειγμα: πρόσθεση ακεραίων Message dialog type Icon Description JOptionPane.ERROR_MESSAGE JOptionPane.INFORMATION_MESSAGE JOptionPane.WARNING_MESSAGE JOptionPane.QUESTION_MESSAGE Displays a dialog that indicates an error to the user. Displays a dialog with an informational message to the user. The user can simply dismiss the dialog. Displays a dialog that warns the user of a potential problem. Displays a dialog that poses a question to the user. This dialog normally requires a response, such as clicking on a Yes or a No button. JOptionPane.PLAIN_MESSAGE no icon Displays a dialog that simply contains a message, with no icon.

63 if statement if (CONDITION) { } STATEMENTS Συνθήκη Η έκφραση μπορεί να είναι είτε true είτε false if statement Αν μία συνθήκη είναι true, τότε το body της if statement εκτελείται Οι συνθήκες στα if statements σχηματίζονται με τελεστές ισότητας και σχεσιακούς τελεστές

64 Παράδειγμα public static void test(int x){ if (x > 5){ System.out.println(x + " is > 5"); } } public static void main(string[] arguments){ test(6); test(5); test(4); }

65 Τελεστές ισότητας και σχεσιακοί τελεστές Standard algebraic equality or relational operator Java equality or relational operator Sample Java condition Meaning of Java condition Equality operators == x == y x is equal to y!= x!= y x is not equal to y Relational operators > x > y x is greater than y < x < y x is less than y >= x >= y x is greater than or equal to y <= x <= y x is less than or equal to y

66 Τελεστές ισότητας ΜΗ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ ΠΟΤΕ == σε doubles! double a = Math.cos (Math.PI / 2); double b = 0.0; a = E-17 a == b επιστρέφει FALSE!

67 1 // Fig. 2.15: Comparison.java 2 // Compare integers using if statements, relational operato 3 // and equality operators. 4 import java.util.scanner; // program uses class Scanner 5 Παράδειγμα 6 public class Comparison 7 { 8 // main method begins execution of Java application 9 public static void main( String args[] ) 10 { 11 // create Scanner to obtain input from command window 12 Scanner input = new Scanner( System.in ); int number1; // first number to compare 15 int number2; // second number to compare System.out.print( "Enter first integer: " ); // prompt 18 number1 = input.nextint(); // read first number from user System.out.print( "Enter second integer: " ); // prompt 21 number2 = input.nextint(); // read second number from user if ( number1 == number2 ) 24 System.out.printf( "%d == %d\n", number1, number2 ); if ( number1!= number2 ) 27 System.out.printf( "%d!= %d\n", number1, number2 ); if ( number1 < number2 ) 30 System.out.printf( "%d < %d\n", number1, number2 );

68 31 32 if ( number1 > number2 ) 33 System.out.printf( "%d > %d\n", number1, number2 ); Παράδειγμα if ( number1 <= number2 ) 36 System.out.printf( "%d <= %d\n", number1, number2 ); if ( number1 >= number2 ) 39 System.out.printf( "%d >= %d\n", number1, number2 ); } // end method main } // end class Comparison Enter first integer: 777 Enter second integer: == <= >= 777 Enter first integer: 1000 Enter second integer: != < <= 2000 Enter first integer: 2000 Enter second integer: != > >= 1000

69 Τελεστές ισότητας και Σχεσιακοί τελεστές Γραμμή 6: αρχίζει η δήλωση της class Comparison Γραμμή 12: ορίζει Scanner variable input και καταχωρεί μία Scanner που διαβάζει δεδομένα από standard input Γραμμές 14-15: δηλώνουν μεταβλητές int Γραμμές 17-18: ζητάνε από το χρήστη να εισάγει τον πρώτο ακέραιο και εισάγει την τιμή Γραμμές 20-21: ζητάνε από το χρήστη να εισάγει το δεύτερο ακέραιο και εισάγει την τιμή

70 Τελεστές ισότητας και Σχεσιακοί τελεστές 23 if ( number1 == number2 ) 24 System.out.printf( "%d == %d\n", number1, number2 ); if statement για τον έλεγχο ισότητας με (==) Αν οι μεταβλητές είναι ίσες (συνθήκη true) Εκτελείται η γραμμή 24 Αν οι μεταβλητές δεν είναι ίσες, τότε η εντολή παραλείπεται ΟΧΙ ; στο τέλος του if statement Άδειο statement Δεν εκτελείται καμία λειτουργία Γραμμές 26-27, 29-30, 32-33, και Ελέγχουν τα number1 και number2 με τους τελεστές!=, <, >, <= και >=, αντίστοιχα

71 Συχνό Προγραμματιστικό Λάθος Η σύγχυση του τελεστή ισότητας «==» με τον τελεστή ανάθεσης «=» μπορεί να προκαλέσει λογικό ή συντακτικό λάθος! Ο τελεστής ισότητας πρέπει να διαβάζεται ως ισούται με, και ο τελεστής ανάθεσης πρέπει να διαβάζεται and the assignment operator should be read as παίρνει ή παίρνει την τιμή. Μερικοί άνθρωποι διαβάζουν τον τελεστή ισότητας ως διπλό ίσον ή ίσον ίσον.

72 Συχνό Προγραμματιστικό Λάθος Είναι συντακτικό λάθος αν οι τελεστές ==,!=, >= και <= περιέχουν διαστήματα ανάμεσα στα σύμβολά τους, όπως στα = =,! =, > = και < =, αντιστοίχως. Η αναστροφή των τελεστών!=, >= και <=, όπως στα =!, => and =<, αποτελεί συντακτικό λάθος. Η τοποθέτηση ; αμέσως μετά τη δεξιά παρένθεση της συνθήκης σε μία πρόταση if είναι κανονικά λογικό σφάλμα.

73 Τελεστές boolean &&: logical AND : logical OR if (x > 6) { if ( x > 6 && x < 9) { if (x < 9) { } } }

74 else if (CONDITION) { STATEMENTS } else { STATEMENTS }

75 Παράδειγμα public static void test(int x){ } if (x > 5){ } else { } System.out.println(x + " is > 5"); System.out.println(x + " is not > 5"); } public static void main(string[] arguments){ test(6); test(5); test(4); }

76 else if if (CONDITION) { STATEMENTS } else if (CONDITION) { STATEMENTS } else if (CONDITION) { STATEMENTS } else { STATEMENTS }

77 Παράδειγμα public static void test(int x){ } if (x > 5){ System.out.println(x + " is > 5"); } else if (x == 5){ } else { } System.out.println(x + " equals 5"); System.out.println(x + " is < 5"); public static void main(string[] arguments){ test(6); test(5); test(4); }

78 Καλές προγραμματιστικές τεχνικές! Ο στόχος του καλού προγραμματιστικού στυλ είναι να είναι ο κώδικάς μας πιο ευανάγνωστος! Από εμάς και από τους άλλους!!!

79 Κανόνας #1: χρησιμοποείστε καλά (meaningful) ονόματα String a1; int a2; double b; // BAD!! String firstname; // GOOD String lastname; // GOOD int temperature; // GOOD

80 Κανόνας #2: Χρησιμοποιείστε indentation public static void main (String[] arguments) { int x = 5; x = x * x; if (x > 20) { } double y = 3.4; } System.out.println(x + is greater than 20. );

81 Κανόνας #3: Χρησιμοποιείστε κενούς χαρακτήρες Βάλετε κενούς χαρακτήρες σε πολύπλοκες εκφράσεις: // BAD!! double cel=fahr*42.0/( ); // GOOD double cel = fahr * 42.0 / ( );

82 Κανόνας #3: Χρησιμοποιείστε κενούς χαρακτήρες Βάλετε κενές γραμμές για βελτίωση αναγνωσιμότητας: public static void main (String[] arguments) { int x = 5; x = x * x; if (x > 20) { } System.out.println(x + is > 20. ); } double y = 3.4;

83 Κανόνας #4: Μην επαναλαμβάνετε ελέγχους if (basepay < 8.0) {... } else if (hours > 60) {... } else if (basepay >= 8.0 && hours <= 60) {... }

84 Κανόνας #4: Μην επαναλαμβάνετε ελέγχους if (basepay < 8.0) {... } else if (hours > 60) {... } else if (basepay >= 8.0 && hours <= 60) {... } BAD

85 Κανόνας #4: Μην επαναλαμβάνετε ελέγχους if (basepay < 8.0) {... } else if (hours > 60) {... } else {... }

86 Δομές ελέγχου Εντολές επανάληψης Γνωστές και ως εντολές βρόχου Επανειλημμένα εκτελούνται ενέργειες για όσο η συνθήκη συνέχισης του βρόχου παραμένει αληθής εντολή while Εκτελεί τις ενέργειες εντός του σώματός της 0 ή περισσότερες φορές εντολή do while Εκτελεί τις ενέργειες εντός του σώματός της 1 ή περισσότερες φορές εντολή for Εκτελεί τις ενέργειες εντός του σώματός της 0 ή περισσότερες φορές

87 Παραδείγματα Ακολουθούν παραδείγματα χρήσης των παραπάνω εντολών (ήδη γνωστών από τη C) σε JAVA

88 Παράδειγμα 1 Ψευδοκώδικας για την επίλυση του προβλήματος εύρεσης του μέσου όρου βαθμών σε μία τάξη 10 σπουδαστών με επανάληψη ελεγχόμενη από μετρητή (counter-controlled) 1 Set total to zero 2 Set grade counter to one 3 4 While grade counter is less than or equal to ten 5 Prompt the user to enter the next grade 6 Input the next grade 7 Add the grade into the total 8 Add one to the grade counter 9 10 Set the class average to the total divided by ten 11 Print the class average

89 1 // Fig. 4.6: GradeBook.java 2 // GradeBook class that solves class-average problem using 3 // counter-controlled repetition. 4 import java.util.scanner; // program uses class Scanner 5 6 public class GradeBook 7 { 8 private String coursename; // name of course this GradeBook represents 9 10 // constructor initializes coursename 11 public GradeBook(String name) 12 { 13 coursename = name; // initializes coursename 14 } // end constructor // method to set the course name 17 public void setcoursename(string name) 18 { 19 coursename = name; // store the course name 20 } // end method setcoursename // method to retrieve the course name 23 public String getcoursename() 24 { 25 return coursename; 26 } // end method getcoursename 27 Ανάθεση τιμής στη μεταβλητή coursename Δήλωση μεθόδου setcoursename Δήλωση μεθόδου getcoursename

90 28 // display a welcome message to the GradeBook user 29 public void displaymessage() Δήλωση μεθόδου 30 { displaymessage 31 // getcoursename gets the name of the course 32 System.out.printf( "Welcome to the grade book for\n%s!\n\n, 33 getcoursename() ); 34 } // end method displaymessage // determine class average based on 10 grades entered by user 37 public void determineclassaverage() 38 { Δήλωση μεθόδου 39 // create Scanner to obtain input from command window determinecla 40 Scanner input = new Scanner(System.in); ssaverage int total; // sum of grades entered by user Δήλωση και 43 int gradecounter; // number of the grade to be entered αρχικοποίηση next τη 44 int grade; // grade value entered by user μεταβλητή input 45 int average; // average of grades τύπου Scanner // initialization phase 48 total = 0; // initialize total 49 gradecounter = 1; // initialize loop counter 50 Δήλωση τοπικών μεταβλητών total, gradecounter, grade and average τύπου int

91 51 // processing phase 52 while (gradecounter<=10) // loop 10 times 53 { 54 System.out.print("Enter grade: "); // prompt 55 grade = input.nextint(); // input next gradε 56 total = total + grade; // add grade 57 gradecounter = gradecounter + 1; // increment 58 } // end while // termination phase 61 average = total / 10; // integer division // display total and average of grades Αύξηση της μεταβλητήςμετρητή gradecounter 64 System.out.printf("\nTotal of all 10 grades is %d\n", total); 65 System.out.printf("Class average is %d\n", average); 66 } // end method determineclassaverage } // end class GradeBook Εμφάνιση αποτελεσμάτων Υπολογισμός μέσου όρου βαθμών Ο βρόχος while επαναλαμβάνεται για όσο ισχύει ότι gradecounter <= 10

92 1 // Fig. 4.7: GradeBookTest.java 2 // Create GradeBook object and invoke its determineclassaverage method. 3 4 public class GradeBookTest 5 { 6 public static void main(string args[]) 7 { 8 // create GradeBook object mygradebook and 9 // pass course name to constructor 10 GradeBook mygradebook = new GradeBook( 11 "CS101 Introduction to Java Programming"); mygradebook.displaymessage(); // display welcome message 14 mygradebook.determineclassaverage(); // find average 15 } // end main } // end class GradeBookTest Δημιουργία νέου (new) αντικειμένου GradeBook Πέρασμα του ονόματος του μαθήματος στον κατασκευαστή GradeBook ως string Κλήση της determineclassaverage μεθόδου της GradeBook

93 Παρατηρήσεις Η εμπειρία έχει δείξει ότι το πιο δύσκολο κομμάτι επίλυσης προβλήματος σε έναν υπολογιστή είναι η επινόηση και ανάπτυξη του αλγόριθμου επίλυσης Εφόσον έχει καθοριστεί ένας σωστός αλγόριθμος, η διαδικασία παραγωγής ενός προγράμματος Java program (που να δουλεύει :-)) είναι απλά ρουτίνα

94 Αποφυγή λαθών Να αρχικοποιείτε κάθε μετρητή (counter) και μεταβλητή συνόλου (total), είτε στη δήλωσή της είτε με μια εντολή ανάθεσης Συνήθως οι μεταβλητές total αρχικοποιούνται στο 0. οι μετρητές αρχικοποιούνται στο 0 ή το 1.

95 Welcome to the grade book for CS101 Introduction to Java Programming! Enter grade: 67 Enter grade: 78 Enter grade: 89 Enter grade: 67 Enter grade: 87 Enter grade: 98 Enter grade: 93 Enter grade: 85 Enter grade: 82 Enter grade: 100 Total of all 10 grades is 846 Class average is 84

96 Συνηθισμένο λάθος Το να θεωρούμε ότι η ακέραιη διαίρεση στρογγυλοποιεί αντί να αποκόπτει μπορεί να οδηγήσει σε λανθασμένα αποτελέσματα. Για παράδειγμα,το 7 4, που φυσιολογικά ισούται με 1.75, αποκόπτεται σε 1 στην αριθμητική των ακεραίων, αντί να στρογγυλοποιείται στο 2.

97 Αποφυγή λαθών Όταν εκτελείται διαίρεση με μία έκφραση που θα μπορούσε να είναι και μηδέν, πρέπει να ελέγχουμε σαφώς την πιθανότητα αυτή και να τη διαχειριζόμαστε ανάλογα στο πρόγραμμά μας (π.χ. Εκτυπώνοντας ένα μήνυμα σφάλματος)

98 Πηγές/Acknowledgements H. M. Deitel, P. J. Deitel, Java Προγραμματισμός, 6η έκδοση, Μ. Γκιούρδας, 2006 D. Barnes, M. Kolling, Αντικειμενοστρεφής Προγραμματισμός σε Java, Κλειδάριθμος, 2008 Βασίλης Χριστοφίδης, Αντικειμενοστρεφής Προγραμματισμός, Πανεπιστήμιο Κρήτης Κ. Τσαγκάρης, Εισαγωγή στις εφαρμογές της Java, Πανεπιστήμιο Πειραιώς Jones, Evan, Adam Marcus, and Eugene Wu Introduction to Programming in Java,January IAP (Massachusetts Institute of Technology: MIT OpenCourseWare), (Accessed 10 Mar, 2013). License: Creative Commons BY-NC-SA

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 4/3/2019 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Βασικό λεξιλόγιο Μία ενότητα κώδικα, ένα πρόγραμμα

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 6/3/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Βασικό λεξιλόγιο Μία ενότητα κώδικα, ένα πρόγραμμα

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 13/03/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr if statement if (CONDITION) { } STATEMENTS Συνθήκη

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές

Διαβάστε περισσότερα

4. Εισαγωγή στη Java

4. Εισαγωγή στη Java ΠΠΜ 401 - Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής 4. Εισαγωγή στη Java Χειμερινό εξάμηνο 2014 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Εισαγωγή στη γλώσσα προγραμματισμού

Διαβάστε περισσότερα

Αριθμητικοί υπολογισμοί χρησιμοποιούνται σε όλα σχεδόν τα προγράμματα

Αριθμητικοί υπολογισμοί χρησιμοποιούνται σε όλα σχεδόν τα προγράμματα Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 28/03/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Αριθμητική Αριθμητικοί υπολογισμοί χρησιμοποιούνται

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 18/4/216 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 30/5/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Συλλογή απορριμμάτων Συλλογή απορριμμάτων (Garbage

Διαβάστε περισσότερα

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 12/3/2018 Αναπλ. Καθ. Δρ. Ανδριάνα Πρέντζα Δρ. Βασιλική Κούφη Παράδειγμα 2 Ο Ψευδοκώδικας του προηγούμενου προβλήματος

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει

Διαβάστε περισσότερα

7. Δομές Ελέγχου (Control Statements)

7. Δομές Ελέγχου (Control Statements) 7. Δομές Ελέγχου (Control Statements) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αλγόριθμοι, δομές ελέγχου και ψευδοκώδικας Δομές ελέγχου στη

Διαβάστε περισσότερα

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού 5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού Χειμερινό εξάμηνο 2013 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αντικειμενοστραφής προγραμματισμός Τάξεις (classes)

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 30/5/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Χειρισμός Εξαιρέσεων Εξαίρεση (Exception) ένδειξη

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

Διαβάστε περισσότερα

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 30/3/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Δημιουργία αντικειμένων μιας κλάσης Η σύνταξη

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

Διαβάστε περισσότερα

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

Διαβάστε περισσότερα

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

Αντικειμενοστραφής Προγραμματισμός Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Έλεγχος ροής και επαναλήψεις. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Βρόγχοι Το if-then Statement Στην Java το if-then statement έχει το εξής συντακτικό Η παρένθεση είναι απαραίτητη if (condition) if-code block

Διαβάστε περισσότερα

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

Υπολογισμός - Εντολές Επανάληψης Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο) Προγραμματισμός Η/Υ Ενότητα 2β: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας του Τελεστή

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 2 Είσοδος από το πληκτρολόγιο: 1) Προσθήκη απαραίτητης βιβλιοθήκης

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

Διαβάστε περισσότερα

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 03/04/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Static πεδία και μέθοδοι Τα περισσότερα δεδομένα

Διαβάστε περισσότερα

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

3. Εκφράσεις και έλεγχος ροής 3. Εκφράσεις και έλεγχος ροής Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να διακρίνετε ανάμεσα σε μεταβλητές μέλη και αυτόματες μεταβλητές Να περιγράφετε την αρχικοποίηση των μεταβλητών μελών Να αναγνωρίζετε

Διαβάστε περισσότερα

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS. Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2 Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή

Διαβάστε περισσότερα

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

Διαβάστε περισσότερα

8. Μέθοδοι (Methods)

8. Μέθοδοι (Methods) 8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 2 η : Η Γλώσσα Προγραμματισμού VB.NET (1 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

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

Αντικειμενοστραφής Προγραμματισμός Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 2: Τύποι δεδομένων, μεταβλητές, τελεστές και παραστάσεις. Δρ. Χαράλαμπος Ζ. Πατρικάκης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 27/3/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πίνακες στη Java Εισαγωγή Πίνακες Δομές δεδομένων

Διαβάστε περισσότερα

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

Διαβάστε περισσότερα

Πίνακες στη Java. Αντικειμενοστρεφής Προγραμματισμός 4/4/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Πίνακες στη Java. Αντικειμενοστρεφής Προγραμματισμός 4/4/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια. Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 4/4/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πίνακες στη Java 1 Εισαγωγή Πίνακες Δομές δεδομένων

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Συνέχεια για το for: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Nested for-loops (for μέσα σε for): π.χ. int k; for (int i=0; i

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

Διαβάστε περισσότερα

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

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ

Διαβάστε περισσότερα

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Περιεχόµενα Τύποι εδοµένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθµητικές εκφράσεις

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

Διαβάστε περισσότερα

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Βασικά χαρακτηριστικά αναπτύχθηκε ως επέκταση της C το 1979 υπερσύνολο της C γλώσσα γενικού σκοπού, γρήγορη, Αντικειμενοστραφής προγραμματισμός (Object

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 26/3/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Εισαγωγή στις Κλάσεις και Αντικείμενα Java's "Building

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε

Διαβάστε περισσότερα

Διάλεξη 20: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 20: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου 1 Διάλεξη 20: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Η έννοια της αναδρομής - Μη-αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων - Παραδείγματα Ανάδρομης - Αφαίρεση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Μαθήματα από τα εργαστήρια ΕΡΓΑΣΤΗΡΙΟ 1 Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο

Διαβάστε περισσότερα

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,

Διαβάστε περισσότερα

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 Τύποι Δεδομένων

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

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

Υπολογισμός - Εντολές Ελέγχου Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 1 Τύποι Δεδομένων

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

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

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

Διαβάστε περισσότερα

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4

Διαβάστε περισσότερα

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

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι 1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της

Διαβάστε περισσότερα

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

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της

Διαβάστε περισσότερα

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6 Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:

Διαβάστε περισσότερα