Computer Science - Technical Uni Of Crete

18
Εγχειρίδιο χρήσης της πλατφόρμας εργασίας «Eclipse» (version 3.3.0) Πρόκειται για έναν γρήγορο οδηγό του οποίου το μέγεθος φτάνει τις 18 σελίδες για το λόγο και μόνο της λεπτομερούς απεικόνισης παραδειγμάτων με εικόνες. Περιεχόμενα: 1. Δημιουργία του project σελ 2 2. Δημιουργία του package σελ 3 3. Δημιουργία νέας κλάσης και χρήση του Java Editor σελ 4-6 4. Δημιουργία νέων μεθόδων σελ 7 5. Χρήση του content assist (αυτόματη συμπλήρωση) σελ 8 6. Εύρεση των σφαλμάτων στον κώδικα σας σελ 9-10 7. Αλλαγή του ονόματος σε αντικείμενα Java σελ 11-12 8. «Εκτέλεση» των προγραμμάτων σας σελ 13-15 9. Αποσφαλμάτωση των προγραμμάτων σας σελ 16-18

description

Advanced pointer to pointer use

Transcript of Computer Science - Technical Uni Of Crete

Εγχειρίδιο χρήσης της πλατφόρμας εργασίας «Eclipse» (version 3.3.0)

Πρόκειται για έναν γρήγορο οδηγό του οποίου το μέγεθος φτάνει τις 18 σελίδες για το λόγο και μόνο της λεπτομερούς απεικόνισης παραδειγμάτων με εικόνες.

Περιεχόμενα:

1. Δημιουργία του project σελ 2

2. Δημιουργία του package σελ 3

3. Δημιουργία νέας κλάσης και χρήση του Java Editor σελ 4-6

4. Δημιουργία νέων μεθόδων σελ 7

5. Χρήση του content assist (αυτόματη συμπλήρωση) σελ 8

6. Εύρεση των σφαλμάτων στον κώδικα σας σελ 9-10

7. Αλλαγή του ονόματος σε αντικείμενα Java σελ 11-12

8. «Εκτέλεση» των προγραμμάτων σας σελ 13-15

9. Αποσφαλμάτωση των προγραμμάτων σας σελ 16-18

Δημιουργώντας το πρώτο σας Java project Σε αυτό το μέρος θα δημιουργήσουμε ένα νέο Java project για τη δημιουργία μιας απλής εφαρμογής που θα διαβάζει ένα string από το standard input και το τυπώνει στο standard output.

1. Δημιουργία του project

1. Από το Eclipse επιλέξτε το μενού File > New > Project.... για να ανοίξετε τον New Project wizard 2. Επιλέξτε Java Project από τον φάκελο Java, μετά Next για να ξεκινήσετε τον New Java Project

wizard:

Σε αυτή την σελίδα γράψτε "readInput" στο πεδίο Project name . Επιλεξτε να χρησιμοποιήσετε το default JRE (Java Runtime Environment), δηλαδή την έκδοση 6 και πιέστε το Finish.

3. Από τον Package Explorer, σιγουρευτείτε ότι το project readInput είναι επιλεγμένο.

2. Δημιουργία του package

Κάνοντας δεξί κλικ πάνω στο project που δημιουργήσαμε μπορούμε να δημιουργήσουμε νέο package (δική μας βιβλιοθήκη). Το βήμα αυτό είναι προαιρετικό, αλλά καλό είναι να γίνεται έτσι ώστε όλες οι κλάσεις μας να βρίσκονται κάτω από την ίδια βιβλιοθήκη.

Στο παράθυρο που ανοίγει δίνουμε το όνομα του package και πατάμε Finish.

Το package δημιουργείται και εμφανίζεται στον package explorer κάτω από το project μας.

3. Δημιουργία νέας κλάσης και χρήση του Java Editor

Για να δημιουργήσουμε μια κλάση που θα ανήκει στο package μας, κάνουμε δεξί κλικ πάνω στο όνομα του package και επιλέγουμε New > Class. Στο παράθυρο που εμφανίζεται δίνουμε το όνομα της κλάσης μας και επιλέγουμε ποιες μέθοδοι της κλάσης θα παραχθούν αυτόματα. Εδώ επιλέγουμε μόνο την public static void main (String[] args), η οποία ουσιαστικά είναι η main του προγράμματός μας. ΠΡΟΣΟΧΗ: Στην Java δεν επιτρέπεται το γράψιμο κώδικα εκτός του σώματος της κλάσης, και έτσι η main μπαίνει πάντα μέσα στο σώμα της κλάσης.

Πατάμε Finish και η κλάση μας δημιουργείται. Πλέον είμαστε έτοιμοι να γράψουμε τον κώδικα της κλάσης μας η οποία θα διαβάζει ένα string από το standard input και θα το τυπώνει στο standard output . Κάτω από τη γραμμή package myPackage;, γράφουμε import java.io.* για να εισάγουμε την έτοιμη βιβλιοθήκη της Java java.io της οποίας τις κλάσεις θα χρησιμοποιήσουμε παρακάτω. Φτιάχνουμε έναν constructor της κλάσης μας στον οποίο δεν γράφουμε τίποτα και επίσης γράφουμε τη μέθοδο readFromStandardInput() η οποία θα υλοποιεί το διάβασμα από το το standard input και την εκτύπωση στο standard output. Οι κλάσεις BufferedReader, InputStreamReader και IOException που χρησιμοποιούμε μέσα στη μέθοδο βρίσκονται μέσα στη βιβλιοθήκη java.io .Τώρα μπορούμε να δούμε τις επιλογές που μας παρέχει ο Java Editor:

1. Παρατηρήστε τον χρωματισμό του συντακτικού. Διαφορετικά αντικείμενα της Java έχουν διαφορετικά χρώματα. Παραδείγματα που διαχωρίζονται εύκολα με αυτό τον τρόπο είναι:

o Κανονικά comments o Javadoc comments

o Λέξεις-κλειδιά o Strings.

2. Δείτε το Outline view (από το μενού επιλέγουμε Window > Show View > Outline). Εμφανίζει ένα γενικό περίγραμμα των includes που ορίζονται στο πακέτο, ορσιμούς import, declarations, fields, types και μεθόδους. Το Outline χρησιμοποιεί εικονίδια για να διαχωρίζει τα διαφορετικά αντικείμενα τα οποία προβάλλει. Για παράδειγμα, τα static είναι ( ), τα abstract ( ), και final ( ). Τα διαφορετικά εικονίδια σας δείχνουν άν μια μέθοδος κάνει override μια άλλη μέθοδο την οποία κληρονόμησε ( ) ή αν κάνει implement μια μέθοδο από ένα interface ( ).

3. Χρησιμοποιόντας τα Hide Fields, Hide Static Members, και Hide Non-Public Members κουμπιά στο Outline view toolbar μπορείτε τα φιλτράρεται τι βλέπεται. Πριν πάμε στο επόμενο βήμα σιγουρευτείτε ότι το Hide Non-Public Members είναι αποεπιλεγμένο.

4. Δημιουργία νέων μεθόδων 1. Ξεκινήστε με την πρόσθεση μιας νέας μεθόδου γράφοντας τα εξής στο τέλος του αρχείου public void test() Μόλις γράψετε το όνομα της μεθόδου στον editor αυτή εμφανίζεται στο τέλος του Outline View.

Παράλληλα δείκτες λαθών (κόκκινα τεράγωνα) εμφανίζονται στο overview. Αυτοί οι δείκτες ειδοποιούν τον χρήστη ότι το συγκεκριμένο αντικείμενο περιέχει κάποιο λάθος. Άν κρατήσετε το mouse σας επάνω από τον δείκτη αυτό εμφανίζεται ένα βοήθημα όσον αφορά το συγκεκριμένο λάθος. Το ίδιο γίνεται και για τον δεύτερο δείκτη (Syntax error on token ")", { expected after this token). Παρατηρήστε ότι οι δείκτες λαθών ανανεώνονται ενώ γράφετετε. Αυτή η συμπεριφορά μπορεί να αλλαχθεί από την επιλογή Report problems as you type που βρίσκεται στo Window > Preferences… > Java > Editor.

2. Επιλέξτε το κουμπί Save . Η μεταγλώτιση γίνεται αυτόματα, και άν υπάρχουν λάθη εμφανίζονται Package Explorer view, στο Problems view και στην κάθετη μπάρα στην αριστερή πλευρά του editor. Στο Package Explorer view, τα λάθη προωθούνται προς τα επάνω ως το project το οποίο περιέχει το αρχείο με το λάθος.

3. Συμπληρώστε την νέα μέθοδο γράφοντας τα εξής: { System.out.println("Test"); Παρατηρήστε ότι το } εμφανίζεται αυτόματα.

4. Σώστε το αρεχείο. Παρατηρήστε ότι όλοι οι δέικτες λάθους εξαφανίζονται μιας και το λάθος διορθώθηκε.

5. Χρήση του content assist (αυτόματη συμπλήρωση) Σε αυτό το μέρος θα χρησιμοποιήσουμε το content assist to για να τελειώσουμε μια μέθοδο. Επιλέξτε την μέθοδο main() από το Outline view.

1. Προσθέστε την εξής γραμμή κώδικα στην αρχή της μεθόδου. Όταν γράψετε το . μετα το aReader, το Eclipse θα σας δείξει όλες τις πιθανές επιλογές. Παρατηρήστε πως οι επιλογές λιγοστεύουν όσο γράφετε περισσότερους χαρακτήρες. Reader aReader=new Reader(); aReader.readFromStandardInput();

2. Γράψτε τώρα aR και πιέστε Ctrl+Space για να ενεργοποιήσετε το content assist. Θα εμφανίζτεί ένα παράθυρο με τις δυνατές επιλογές. Παρατηρήστε τις δυνατές επιλογές σας.

3. Ενώ το παράθυρο του content assist window είναι ακόμη ενεργό γράψτε τον χαρακτήρα 'e' στον κώδικα μετά το aR (χωρίς κενό). Η λίστα συρικνώνεται και δείχνει πια μόνο επιλογές που ξεκινούν με ‘aRe’. Επιλέξτε aReader και συμπληρώστε .test();

4. Σώστε το αρχείο.

6. Εύρεση των σφαλμάτων στον κώδικα σας Σε αυτό το μέρος του οδηγού θα δούμε τους διάφορους τρόπους που μπορούν να σας υποδείξουν που υπάρχουν λάθη στο κώδικά σας.

Τα προβλήματα σε χρόνο μεταγλώτισσης εμφανίζονται στο Problems view και υποδυκνείονται στον editor όπως είδαμε ποιο πριν.

1. Προσθέστε ένα συντακτικό λάθος σβήνοντας ένα ‘;’ Από το τέλος του package declaration στον κώδικα.

2. Πατήστε το κουμπί Save. Το project μεταγλωτίζεται και το λάθος εμφανίζεται με διάφορους τρόπους: o Στο Problems view, o Στον Package Explorer view, η ιεραρχεία δείχνει ποιά πακέτα και αρχεία επηρρεάζονται από

το λάθος. o Στον editor εμφάνίζεται στην κάθετη μπάρα με τον κόκκινο δείκτη λάθους. o Μια κόκκινη γραμμή εμφανίζεται κάτω από την λέξη που πιθανώς δημιουργεί το λάθος. o Εμφανίζεται ένα κόκκινο Χ στα αριστερά του editor.

3. Μπορείτε να αφήσετε το mouse σας επάνω από τον δείκτη λάθους «Χ» για να σας δωθεί μια περιγραφή του λάθους.

4. Πιέστε το κουμπί Close ("X")στον editor's tab για να τον κλείσετε. 5. Στο Problems view, διαλέξτε το πρόβλημα απο την λίστα. Πατήστε δεξί κλίκ και επιλέξτε Go To. Το

αρχείο ανοίγει ξανά στον editor και μεταφέρεστε στο σημείο του προβλήματος

6. Διορθώστε το λάθος προσθέτοντας το ‘;’ . Πιέστε το κουμπί Save. Το project ξαναμεταγλωτίζεται και όλα οι ενδείξεις λάθους εξαφανίζονται.

7. Στο Outline view, επιλέξτε την μέθοδο method main(). Ο editor θα σας μεταφέρει σε αυτήν. 8. Στη γραμμή aReader.test() προσθέστε ένα h στην αρχή. Ενώ γράφετε, ένας δείκτης λάθους

εμφανίζεται μαζί με την κόκκινη γραμμή υποδυκνείοντας το λαθος. Αν αφήσετε το mouse σας επάνω από το κόκκινο Χ θα σας εμφανιστεί η περιγραφή του λάθους.

9. Δίπλα στο Χ εμφανίζεται και μια λάμπα. Αυτό σημαίνει ότι υπάρχουν προτάσεις για την διόρθωση του λάθους.

10. Τοποθετήστε τον κέρσορά σας μέα στο πεδίο με το λάθος και επιλέξτε Quick Fix από το Edit menu bar. Μπορείτε επίσης να πατήσετε Ctrl+1 ή να κάνετε αριστερό κλίκ στην άμπα. Εμφανίζεται ένας διάλογος με τις προτεινόμενες διορθώσεις.

11. Επιλέξτε το 'Change to aReader' για να διορθώσετε το πρόβλημα. Οι δείκτες λάθους εξαφανίζονται ενώ παράλληλα το πρόβλημα διορθώνεται.

12. Μπορείτε να επιλέξετε πως εμφανίζονται τα προβλήματα στο παράθυρο Window > Preferences > General > Editors > Text Editors > Annotations.

7. Αλλαγή του ονόματος σε αντικείμενα Java Σε αυτό το κομμάτι του οδηγόυ θα δούμε πως μπορούμε να αλλάζουμε ονόματα χρησιμοποιόντας refactoring. Το Refactoring αλλάζει την δομή του κώδικά σας χωρίς να αλλάζει τη λειτουργικότητά του.

1. Από τον Package Explorer view, επιλέξτε το Reader.java. Κάντε δεξί κλικ και επιλέξτε Refactor > Rename.

2. Στο πεδίο New Name γράψτε "MyReader" και πατήστε Next >και μετά Next >.

3. Το workbench αναλύει την αλλαγή και σας δίνει μια προεπισκόπιση με τις αλλαγές που θα πρέπει να

γίνουν αν αλλάξετε αυτό το αντικείμενο.

4. Στην σελίδα Refactoring preview μπορείτε να δείτε τις προτεινόμενες αλλαγές και να

επιλέξετε/αποεπιλέξετε κάποιες από τις αλλαγές αν χρεαστεί. Τυπικά θα χρειαστεί να αποδεχθείτε όλες τις προτεινόμενες αλλαγές.

5. Πατήστε Finish για να αποδεχθείτε όλες τις προτεινόμενες αλλαγές.

Είδαμε πως το refactoring μπορεί να αλλάξει τον κώδικα του αρχείου. Αυτές οι αλλαγές μπορούν να ακυρωθούν ομαδικά.

1. Από το menu bar, διαλέξτε Edit > Undo Rename Compilation Unit

2. Οι αλλαγές του refactoring ανατρέπονται και το workbench επιστρέφει στην προηγούμενη κατάστασή του. Μπορείτε να ακυρώσετε τις ενέργειες του refactoring μέχρι να αλλάξετε και να σώσετε το αρχείο.

8. «Εκτέλεση» των προγραμμάτων σας 1. Στο Outline view, παρατηρήσετε ότι η κλάση Reader έχει ένα εικονίδιο το οποίο υποδυκνύει ότι η

κλάση αυτή έχει μια μέθοδο main.

2. Κάντε δεξί κλικ στο Reader.java από τον Package Explorer και επιλέξτε Run As > Java Application. Αυτή η ενέργεια θα εκτελέσει την κλάση αυτή σαν ένα τοπικό πρόγραμμα Java. Το μενού Run As είναι διαθέσιμο και σε άλλα μέρη του workbench, όπως είναι το Outline View.

3. Η εφαρμογή μας πλέον τρέχει στο console όπου μας ζητείται να δώσουμε ένα όνομα. Αφού το δώσουμε, αυτό εκτυπώνεται στην παρακάτω γραμμή και στην επόμενη η λέξη Test.

4. Υπάρχει περίπτωση σε κάποιο άλλο πρόγραμμα να χρειάζονται να δοθούν παράμετροι εκτέλεσης.

Εκτελώντας την κλάση από τον Package Explorer σαν Java Application χρησιμοποιεί τις προεπιλογές της εκτέλεσης για την συγκεκριμένη κλαση και δεν σας επιτρέπει να διευκρινίσετε παράμετρους εκτέλεσης.

5. Για να ορίσετε παράμετρους χρησιμοποιήσετε το μενου Run από το toolbar και διαλέξτε Open Run Dialog....

6. Αυτή την φορά ανοίγει το Launch Configurations dialog με τις επιλογές για την κλάση Reader. Οι επιλογές εκτέλεσης σας επιτρέπουν να διαλέξετε πως εκτελείται ένα πρόγραμμα, όπως είναι οι παράμετροι, το classpath και άλλες επιλογές. (Όταν επιλέγετε Run > Java Application χρησιμοποιούνται οι προεπιλογές).

7. Αν επιλέξτε το Arguments tab μπορείτε να γράψετε τις παραμέτρους εκτέλεσης στο πεδίο Program arguments.

8. Μετακινηθείτε στο Debug perspective (Window > Open Perspective > Debug). Στο Debug view,

παρατηρήστε ότι εμφανίζεται το τελευταίο πρόγραμμα το οποίο εκτελέσατε. Απο προεπιλογή, το the Debug view automatically διαγράφει όλες τις τερματισμένες εκτελέσεις όταν μια νέα εκτέλεση ξεκινάει. Αυτή η επιλογή μπορεί να αλλαχθεί από την σελίδα επιλογών Launching που βρίσκεται στην σελίδα επιλογών Run/Debug.

Παρατήρηση: Μπορείτε να επαναεκτελέσετε ένα τερματισμένο πρόγραμμα κάνοντας δεξί κλικ και επιλέγοντας Relaunch.

9. Επιλέγτε το μενού Run από το workbench. Αυτή η λίστα περιέχει τα προγράμματα τα οποία εκτελέσατε πρόσφατα. Μπορείτε να τα επανεκτελέσετε διαλέγοντάς τα από αυτή την λίστα.

10. Κάνοντας δεξί κλικ στο Debug view (ή το αντίστοιχο κουμπί του toolbar) επιλέξτεt Remove All Terminated για να καθαρίσετε όλες της εμφανιζόμενες τερματισμένες εκτελέσεις.

9. Αποσφαλμάτωση των προγραμμάτων σας Σε αυτό το μέρος του οδηγού θα κάνουμε αποσφαλμάτωση(debug) του προγράμματος Java που υλοποιήσαμε.

1. Προσθέστε στην μέθοδο readFormStandardInput() κάτω από τη γραμμή String str=in.readLine(); τη γραμμή str=str.toUpperCase(); και τοποθετήσετε τον κέρσορά σας στην κάθετη μπάρα που βρίσκεται στην αριστερή άκρη του editor σε αυτή τη γραμμή.

2. Κάντε διπλό κλικ στην κάθετη μπάρα για να ορίσετε ένα breakpoint.

Το εικονίδιο breakpoint υποδυκνύει την κατάσταση του breakpoint. Το απλό μπλέ εικονίδιο δείχνει οτι απλως το breakpoint έχει ορισθεί αλλά δεν έχει εγκατασταθεί. Σημείωση: Όταν η κλάση φορτωθεί από το Java VM, το breakpoint θα εγκατασταθεί και ένα τικ θα εμφανιστεί επάνω από το εικονίδιο του breakpoint.

3. Στο Package Explorer view, επιλέξτε το Reader.java και επιλέξτε Debug As και μετά Java Application.

4. Το πρόγραμμα θα τρέξει μέχρι το πρώτο breakpoint είναι έτοιμο να εκτελεστεί. Τότε θα σταματήσει προσωρινά η εκτέλεση του προγράμματος και θα σας προταθεί να μετακινηθείτε στο Debug perspective. Επιλέξτε Yes. Παρατηρήστε ότι το process είναι ακόμη ενεργό στο Debug view. Κάποια threads μπορεί να τρέχουν παράλληλα.

Παρατήρηση: Το breakpoint τώρα έχει το τικ μιας και η κλάση Reader φορτώθηκε στο Java VM.

5. Από τον editor στο Debug perspective, επιλέξτε το str ακριβώς επάνω από την γραμμή που τοποθετήσαμε το breakpoint. Κάντε δεξί κλίκ και επιλέξτε Inspect.

6. Το expression υπολογίζεται στα πλάσια του συγκεκριμένου stack frame και ένα Pop-up εμφανίζεται και σας εμφανίζει το αποτέλεσμα. Μπορείτε να στείλετε το αποτέλεσμα στο Expressions view πατώντας το αντίστοιχο κουμπι από το pop-up.

7. Τα Expressions τα οποία υπολογίζονται ενώ κάνετε debug ένα πρόγραμμα θα εμφανίζονται σε αυτό το view. Για να σβήσετε ένα expression αφού καντε δεξί κλικ επάνω του και επιλέξτε Remove.

8. Το Variables view (είναι διαθέσιμο στο tab δίπλα από το Expressions view) εμφανίζει τις τιμές από τις μεταβλητές οι οποίες είναι επιλεγμένες στο stack frame. Επεκτείνετε το str δέντρο στο Variables view μέχρις να δείτε το value.

9. Οι μεταβλητές (π.χ., value) στο Variables view θα αλλάζουν όσο κάνετε βήματα μέσα στο Reader στο Debug view. Για να κάνετε ένα βήμα μέσα στον κώδικα πατήστε το κουμπί Step Over ( ) . Η εκτέλεση θα συνεχιστεί στην επόμενη γραμμή της ίδιας μεθόδου (ή αν είστε στο τέλος της μεθόδου θα συνεχίσει στην μέθοδο η οποία κάλεσε την μέθοδο στην οποία βρίσκεστε).

10. Δοκιμάστε διάφορα κουμπιά(Step Into , Step Return ) για να κάνετε βήματα μέσα στον κώδικα. Παρατηρήσετε τις διαφορές ανάμεσά τους.

11. Μπορείτε να τερματίσετε το debugging αφήνοντας το πρόγραμμα να τελειώσει ή τερματίζοντας τας μόνοι σας.

o Μπορείτε να συνεχίσετε να κάνετε βήματα στο κώδικα μέχρις ότου το πρόγραμμα φτάσει στο τέλος του.

o Μπορείτε να κάνετε κλικ στο κουμπί Resume ( ) για να επιτρέψετε στο πρόγραμμα να εκτελεστεί μέχρι το επόμενο breakpoint ή μέχρι το τέλος του προγράμματος.

o Μπορείτε να επιλέξετε το Terminate κάνοντας δεξί κλικ στο process του προγράμματος απο το Debug view.