ΚΕΦΑΛΑΙΟ 2 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΤΗΣ JAVA

Slides:



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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
JAVA και SQL Δαμιανός Χατζηαντωνίου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Συλλογές.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Συλλογές Εξαιρέσεις.
Άσκηση 1. Θεωρούμε το ακόλουθο κομμάτι κώδικα int i,j; double result, a[110][4]; for(i=0; i
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γενικευμένες κλάσεις Συλλογές.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
Θεωρία Υπολογισμού Χρονική Πολυπλοκότητα και Μοντέλα.
Threads Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά η μία μετά.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 4: Συμβολοσειρές και Δομές Ελέγχου. Διδάσκων: Νικόλαος Θ Λιόλιος,
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Έλεγχος Ροής - Παραδείγματα Χειμερινό Εξάμηνο 2015.
ΜΕΤΑΛΛΕΥΤΙΚΗ ΝΟΜΟΘΕΣΙΑ ΔΙΑΧΕΙΡΙΣΗΚΑΙ ΑΞΙΟΠΟΙΗΣΗ ΜΕΤΑΛΛΕΥΜΑΤΩΝ Τζίμας Σπύρος Μηχανικός Μεταλλείων – Μεταλλουργός ΕΜΠ.
ΣΥΣΤΑΣΗ - ΣΥΓΚΡΟΤΗΣΗ ΑΥΤΟΔΙΟΙΚΗΣΗΣ ΚΑΙ ΑΠΟΚΕΝΤΡΩΜΕΝΗΣ ΔΙΟΙΚΗΣΗΣ Οι δήμοι και οι περιφέρειες συγκροτούν τον πρώτο και δεύτερο βαθμό τοπικής αυτοδιοίκησης.
Τεκμηρίωση λογισμικού. Η τεκμηρίωση μιας κλάσης είναι πολύ σημαντική γιατί αποτελεί την εικόνα της προς τον έξω κόσμο. Όποιος θέλει να χρησιμοποιήσει.
1 Προγραμματισμός Διαδικτύου Ενότητα 3 : Κατηγορίες και κληρονομικότητα Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Κάθετες και πλάγιες. Κάθετα και πλάγια τμήματα Έστω ευθεία ε και σημείο Α εκτός αυτής. ε Κ Β Α Από το Α διέρχεται μοναδική κάθετη. Έστω ζ μια άλλη ευθεία.
Διδακτική της Πληροφορικής
Εισαγωγή στον Προγ/μό Η/Υ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΟ ΝΕΟ ΓΥΜΝΑΣΙΟ ΠΔ 126/2016.
Εισαγωγή στον Προγ/μό Υπολογιστών
Εφαρμογές Υπολογιστών
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
ΤΗΣ ΣΧΟΛΙΚΗΣ ΚΟΙΝΟΤΗΤΑΣ ΓΙΑ ΟΡΘΟΛΟΓΙΚΗ ΔΙΑΧΕΙΡΙΣΗ ΔΙΑΤΡΟΦΙΚΩΝ ΕΠΙΛΟΓΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Δομές διακλάδωσης, επαναλήψεις, μέθοδοι
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Προγ/μό Η/Υ
Ενημέρωση για αλλαγές στο Γυμνάσιο
Πρότυπα Προγραμματισμού
«Από τη MicroWorlds Pro στην Python»
Πρωτογενείς τύποι δεδομένων
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Αντιμετώπιση Μαθησιακών Δυσκολιών στα Μαθηματικά
Αναδρομικές Εξισώσεις και Αφηρημένοι Τύποι Δεδομένων
Οι αλλαγεΣ Στο ΓυμναΣιο
Databases Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
Εισαγωγή στη Java (Μέρος Α’)
ΓΙΑ ΤΗΝ ΕΤΑΙΡΙΚΗ ΔΙΑΚΥΒΕΡΝΗΣΗ
Η ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ ΤΩΝ ΦΟΙΤΗΤΩΝ ΤΟΥ ΜΑΘΗΜΑΤΙΚΟΥ ΣΤΑ ΣΧΟΛΕΙΑ: ΜΙΑ ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ Εαρινό εξάμηνο
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Αποτελέσματα έρευνας που πραγματοποιήθηκε στο σχολείο μας
Ασφάλεια στο Διαδίκτυο
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ιστορία 8η Σέρλοκ Χολμς.
ΣΥΓΚΕΝΤΡΩΣΗ ΠΡΟΕΔΡΩΝ Π.Φ.Σ. 5 ΜΑΡΤΙΟΥ 2018.
11ο γυμνάσιο ΕΝΗΜΕΡΩΣΗ ΓΟΝΕΩΝ – ΚΗΔΕΜΟΝΩΝ Α΄ΤΑΞΗΣ …στη μεγαλύτερη βαθμίδα! … μεγαλύτερες απαιτήσεις! …νάτην και η εφηβεία!!
Η βιβλιοθήκη κλάσεων της Java
Мероприятие, посвященное восстанию студентов
“ХХІ ғасыр өскіндері” интеллектуальдық сайыс 5-6 сынып
Екі векторды векторлық көбейту
Σύντομος οδηγός υποψηφίου δημάρχου/δημοτικού συμβούλου
Σύντομος οδηγός υποψηφίου δημάρχου/δημοτικού συμβούλου
Σύντομος οδηγός υποψηφίου συμβούλου/προέδρου κοινότητας
Σύντομος οδηγός υποψηφίου δημάρχου/δημοτικού συμβούλου
7η ΕΞΕΙΔΙΚΕΥΣΗ ΕΦΑΡΜΟΓΗΣ ΤΟΥ ΕΠ - ΥΜΕΠΕΡΑΑ
Μεταγράφημα παρουσίασης:

ΚΕΦΑΛΑΙΟ 2 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΤΗΣ JAVA

Η Java χαρακτηρίζεται από ένα αρκετά καλά οργανωμένο σύνολο εντολών κι ένα μέρος της επιτυχίας της οφείλεται στα διάφορα APIs (βιβλιοθήκες) που έρχονται μαζί με τη γλώσσα. Έτσι στις περισσότερες περιπτώσεις υπάρχουν πολλές από τις λειτουργίες που μπορεί να χρειαστεί κάποιος έτοιμες. Η λογική της Java συνοψίζεται στην εξής ιδέα: Δεν επανεφευρίσκουμε τον τροχό. Όταν θέλουμε να αναπτύξουμε μια εφαρμογή ψάχνουμε πρώτα στις βιβλιοθήκες της γλώσσας μήπως αυτή η εφαρμογή ή τμήματά της έχουν ήδη υλοποιηθεί από άλλον προγραμματιστή

Τελεστής ανάθεσης-παραδείγματα X=4 X=X+5 ισοδύναμα X +=5 i=i+1 i++ ισοδύναμα i=i-1 i-- ισοδύναμα

Δηλώσεις Μεταβλητών Η δήλωση μιας μεταβλητής γίνεται συνήθως στην αρχή του προγράμματος, μπορεί όμως να γίνει και σε άλλες θέσεις μέσα στο πρόγραμμα, αρκεί φυσικά να είναι πριν από την πρώτη εντολή στην οποία χρησιμοποιείται η μεταβλητή (δηλαδή, πριν χρησιμοποιήσουμε οποιαδήποτε μεταβλητή πρέπει πρώτα να δηλωθεί).

Παράδειγμα –δηλώσεις μεταβλητών int number; // Η μεταβλητή number είναι ακέραιος. int counter = 6; // Δήλωση και ανάθεση τιμής στην ίδια εντολή boolean areEqual = (number == counter); // Μια λογική μεταβλητή

Κανόνες για τα ονόματα των μεταβλητών Το όνομα μιας μεταβλητής συνηθίζεται να ξεκινάει με μικρό γράμμα, σε αντίθεση με το όνομα μιας κλάσης που συνηθίζεται να ξεκινάει με κεφαλαίο. Είναι καλό τα ονόματα που δίνουμε σε μεταβλητές και κλάσεις να είναι περιγραφικά της έννοιας που θέλουν να αναπαραστήσουν. Μη δίνετε ελληνικά ονόματα στις μεταβλητές σας. Σε περίπτωση που θέλετε να χρησιμοποιήσετε ελληνικά ονόματα για τις μεταβλητές σας είναι προτιμότερο να χρησιμοποιήσετε greeklish. Τα ονόματα μεταβλητών δεν αρχίζουν ποτέ με αριθμό και δεν μπορούν να περιέχουν κενά.

Η δομή επιλογής if … else

Σε περίπτωση που έχουμε μόνο μια εντολή, δεν χρειάζονται τα άγκιστρα (δεν είναι λάθος όμως αν τα βάλουμε).

Επίσης μπορούμε να έχουμε εμφωλευμένες δομές επιλογής:

Δομή επανάληψης while

Δομή επανάληψης for

Βασικές Συναρτήσεις - Μέθοδοι Οι συναρτήσεις, είναι επαναχρησιμοποιήσιμα τμήματα κώδικα, στα οποία έχει δοθεί ένα όνομα, με απλή αναφορά του οποίου και εκτελούνται (κλήση συνάρτησης). Οι συναρτήσεις στην Java ανήκουν πάντα σε μια κλάση και λέγονται μέθοδοι της κλάσης (οι μέθοδοι είναι οι ενέργειες που μπορεί να εκτελεί ένα αντικείμενο)

Βιβλιοθήκη κλάσεων της Java Η τυπική βιβλιοθήκη κλάσεων της Java παρέχει ένα σύνολο APIs (Application Programming Interface) κλάσεων, οι οποίες είναι διαθέσιμες σε κάθε πρόγραμμα Java. Η βιβλιοθήκη κλάσεων οργανώνεται σε πακέτα. Ένα πακέτο είναι μια συλλογή από κλάσεις, που σχετίζονται μεταξύ τους και κάθε κλάση περιέχει αρκετές μεθόδους. ΠΧ το πακέτο : java.lang Παρέχει υποστήριξη των βασικών χαρακτηριστικών της γλώσσας. Περιέχει τις βασικές κλάσεις της γλώσσας και κάποιες ειδικές κλάσεις για αναπαράσταση των βασικών τύπων δεδομένων με τη μορφή αντικειμένων (Integer, Long, Double). Οι κλάσεις αυτές είναι πάντα διαθέσιμες στα προγράμματά μας, καθώς το πακέτο java.lang φορτώνεται αυτόματα.

Χρησιμοποίηση άλλων πακέτων Για να χρησιμοποιήσουμε τις κλάσεις από κάποιο άλλο πακέτο πρέπει να τις ενσωματώσουμε στον κώδικά μας χρησιμοποιώντας τη δεσμευμένη λέξη import. Ακολουθεί το όνομα του πακέτου και στη συνέχεια το όνομα της κλάσης. Όταν θέλουμε να εισάγουμε όλες τις κλάσεις ενός πακέτου βάζουμε * ΠΧ. η εντολή : import acm.program.*; ενημερώνει τον μεταγλωττιστή ότι θα χρησιμοποιήσουμε όλες τις κλάσεις που βρίσκονται στο πακέτο acm.program.

παραδείγματα χρήσης μεθόδων της κλάσης Math (του πακέτου java.lang ) x = Math.max(a, b) ; // Επιστρέφει στην x το μέγιστο των a, b root = Math.sqrt(x) ; // Επιστρέφει την τετραγωνική ρίζα του x

Πχ η μέθοδος println, η οποία εμφανίζει στην οθόνη ένα μήνυμα. System.out.println("Καλημέρα γαλαξία"); Η println είναι μια μέθοδος του αντικειμένου out που αναπαριστά το ρεύμα εξόδου, το οποίο συνήθως κατευθύνεται στην οθόνη. Το αντικείμενο out ανήκει στην κλάση System

Υπάρχει μεγάλο πλήθος βιβλιοθηκών της java που περιέχουν πάρα πολλές μεθόδους κλάσεων. Δεν είμαστε υποχρεωμένοι και ούτε έχει νόημα να γνωρίζουμε όλες τις κλάσεις και τις μεθόδους ενός πακέτου. Συνήθως, αναζητούμε τη μέθοδο που ψάχνουμε στην τεκμηρίωση της κλάσης της.

Τεκμηρίωση Λογισμικού Η τεκμηρίωση μιας κλάσης είναι πολύ σημαντική γιατί αποτελεί την εικόνα της προς τον έξω κόσμο. Όποιος θέλει να χρησιμοποιήσει μεθόδους της κλάσης διαβάζει την τεκμηρίωση (Documentation) για να πληροφορηθεί σχετικά με τη λειτουργία των μεθόδων και τον τρόπο κλήσης τους. Η τεκμηρίωση των βιβλιοθηκών που έρχονται μαζί με τη γλώσσα Java είναι διαθέσιμη μέσω του παγκόσμιου ιστού. Είναι επίσης ενσωματωμένη μέσα στα περισσότερα ολοκληρωμένα προγραμματιστικά περιβάλλοντα (IDEs).

Πώς βλέπουμε την τεκμηρίωση μιας κλάσης Ανοίγουμε ένα σενάριο Για να δούμε την τεκμηρίωση της κλάσης Actor πατάμε δεξί κλικ πάνω και επιλέγουμε Open Documentation

Για να δούμε την τεκμηρίωση όλων των κλάσεων του Greenfoot

Σχόλια Τα σχόλια χρησιμοποιούνται για να: Τεκμηριώνουμε: τον σκοπό και τους στόχους του προγράμματος μας, τον συγγραφέα του προγράμματος, τις εκδόσεις του κώδικά μας (revision history) κτλ. Περιγράφουμε: πεδία, μεθόδους, κλάσεις και κατασκευαστές. Τα σχόλια που γράφουμε στον πηγαίο κώδικα δεν εμφανίζονται στην εκτέλεση του προγράμματος μας. Ένα σχόλιο πολλών γραμμών γράφεται ανάμεσα στα σύμβολα /* και */. Ένα σχόλιο μιας γραμμής γράφεται μετά από το σύμβολο // μέχρι το τέλος της γραμμής.

Σχόλια Τα σχόλια χρησιμοποιούνται για να: Τεκμηριώνουμε: τον σκοπό και τους στόχους του προγράμματος μας, τον συγγραφέα του προγράμματος, τις εκδόσεις του κώδικά μας Περιγράφουμε: πεδία, μεθόδους, κλάσεις και κατασκευαστές. Τα σχόλια που γράφουμε στον πηγαίο κώδικα δεν εμφανίζονται στην εκτέλεση του προγράμματος μας. Ένα σχόλιο πολλών γραμμών γράφεται ανάμεσα στα σύμβολα /* και */. Ένα σχόλιο μιας γραμμής γράφεται μετά από το σύμβολο // μέχρι το τέλος της γραμμής

Διαγνωστικά Μηνύματα Όλες οι γλώσσες προγραμματισμού, που παρέχουν τη δυνατότητα δημιουργίας παραθυρικών εφαρμογών, διαθέτουν μια σειρά διαλόγων που ονομάζονται κοινοί διάλογοι (common dialogs) και διευκολύνουν την εισαγωγή δεδομένων από τον χρήστη, την προβολή μηνυμάτων κλπ. Η Java παρέχει το πακέτο javax.swing για τη δημιουργία γραφικού περιβάλλοντος διεπαφής (GUI). Η κλάση JOptionPane του πακέτου διευκολύνει την χρήση παραθύρων διαλόγου για διαγνωστικά μηνύματα, είσοδο και έξοδο δεδομένων.

Τύποι παραθύρων διαλόγου στην κλάση JOptionPane : Επιβεβαίωσης (ConfirmDialog) Εισόδου (InputDialog) Μηνύματος (MessageDialog) Επιλογής (OptionDialog)

Παράδειγμα διαλογικού παραθύρου που ζητά από το χρήστη να δώσει μια τιμή (string) String inputValue = JOptionPane.showInputDialog(“Δώσε ένα όνομα");