Μαθαίνοντας την JAVA – Μέρος 4

Post Pic
στις 12.10.09. Kατηγορίες Java με 9 Σχόλια

Στα προηγούμενα βοηθήματα κάναμε την εισαγωγή στην Java και εγκαταστήσαμε το Ολοκληρωμένο Περιβάλλον Ανάπτυξης. Στο σημερινό μας βοήθημα, θα γράψουμε το πρώτο μας πρόγραμμα στη γλώσσα προγραμματισμού Java. Στη συνέχεια θα εξηγήσουμε την κάθε γραμμή του κώδικα, έτσι ώστε να καταλάβουμε όλοι τη σημασία του.

Δημιουργώντας το Πρώτο μας Project

Αρχίζοντας, θα δημιουργήσουμε το πρώτο μας Project. Αυτό θα το κάνουμε μέσα απ’ το περιβάλλον του NetBeans IDE, το οποίο είχαμε εγκαταστήσει στο προηγούμενο βοήθημα μας.

Για να το κάνουμε αυτό, αφού ανοίξουμε το NetBeans, πάμε απ’ το πάνω μενού και πατάμε File -> New Project

proj-01

Στη συνέχεια, στο ‘Categories’ επιλέγουμε «Java», ενώ στο ‘Projects’ επιλέγουμε «Java Application». Αφού τα επιλέξουμε, προχωράμε πατώντας το Next.

proj-02

Στην επόμενη οθόνη, ως ‘Project Name’ δίνουμε την ονομασία «Hello». Επίσης από-επιλέγουμε το «Create Main Class», αφού θέλουμε να την δημιουργήσουμε εμείς, έτσι ώστε να μάθουμε τη διαδικασία. Προχωράμε κάνοντας κλικ στο ‘Finish’.

proj-03

Στο αριστερό μέρος, κάτω απ’ την ονομασία ‘Projects’, μπορούμε να διακρίνουμε το project μας με την ονομασία ‘Hello’. Με δεξι κλικ στο όνομα του project μας θα δημιουργήσουμε την πρώτη μας κλάση.

Αυτό θα γίνει κάνοντας αριστερό κλικ στο ‘Hello’ και στη συνέχεια επιλέγοντας ‘New -> Java Class’.

proj-04

Εδώ τώρα, θα δώσουμε ονομασία στην κλάση μας. Έτσι δίνουμε στο πεδίο ‘Class Name’ το όνομα ‘Hello’ και προχωράμε κάνοντας κλικ στο ‘Finish’.

proj-05

Με αυτό τον τρόπο δημιουργήσαμε την πρώτη μας κλάση με το όνομα ‘Hello’, η οποία βρίσκεται αποθηκευμένη στο αρχείο ‘Hello.java’. Μπορούμε τώρα να αρχίσουμε να πληκτρολογούμε κώδικα σε αυτή την κλάση, η οποία έχει ανοίξει αυτόματα στο κεντρικό μέρος του προγράμματος.

proj-06

Γράφοντας το Πρώτο μας Πρόγραμμα

Προτείνω να διαγράψουμε όσα αυτόματα έχουν δημιουργηθεί στην κλάση που φτιάξαμε, και να γράψουμε απ’ την αρχή τα δικά μας.

Έτσι πληκτρολογούμε τον παρακάτω κώδικα. Προσοχή στα κεφαλαία και στα πεζά γιατί η Java τα ξεχωρίζει μεταξύ τους και αν δεν τα γράψετε όπως πρέπει, ο compiler θα σας βγάλει error.

public class Hello
{
    public static void main(String[] args)
   {
    System.out.println(“Hello world”);
    }
}

Αφού γράψουμε το πρόγραμμα μας, στη συνέχεια θα το τρέξουμε. Αυτό γίνεται αφού πάμε απ’ το μενού πάνω στο Run -> Run Main Project ή απλά πατώντας F6 στο πληκτρολόγιο μας.

proj-07

Εδώ τώρα χρειάζεται να επιλέξουμε την κλάση εκκίνησης του προγράμματος μας. Μόνο μία κλάση έχουμε, έτσι την επιλέγουμε και κάνουμε κλικ στο OK.

proj-08

Και τότε στο κάτω μέρος του IDE θα μπορούμε να δούμε το αποτέλεσμα. Το πρώτο μας πρόγραμμα ήταν το κλασσικό “Hello World”. Αν βλέπετε κάτι διαφορετικό από την παρακάτω εικόνα τότε σίγουρα κάποιο λάθος θα έχετε κάνει.

proj-09

Ανάλυση του Κώδικα μας

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

Ας ξεκινήσουμε με την πρώτη γραμμή η οποία ήταν η εξής:

Public class Hello

Το ποιο σημαντικό πράγμα εδώ είναι η λέξη “class”. Όπως είχαμε αναφέρει σε προηγούμενο βοήθημα, η Java είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού. Το πραγματικό νόημα της αντικειμενοστρέφειας θα το εξηγήσουμε σε μελλοντικά βοηθήματα, για την ώρα όμως αυτό που πρέπει να ξέρεις είναι πως στις αντικειμενοστραφείς γλώσσες προγραμματισμού ο κώδικας γράφεται σε κομμάτια τα οποία ονομάζονται κλάσεις. Η πιο απλή μορφή ενός προγράμματος αποτελείτε από μια και μόνο κλάση (η οποία μπορεί να χρησιμοποιεί άλλες έτοιμες κλάσεις οι οποίες υπάρχουν έτοιμες στη βιβλιοθήκη της Java), όπως στην περίπτωση μας, που ονομάσαμε την κλάση μας ως ‘Hello’. Με λίγα λόγια, η πρώτη γραμμή λέει στον μεταγλωττιστή ότι από εδώ ξεκινάει η κλάση με την ονομασία ‘Hello’. Η λέξη ‘Public’ που βρίσκεται στην αρχή προσδιορίζει το επίπεδο πρόσβασης της κλάσης, και με το Public λέμε πως η κλάση μας είναι προσβάσιμη  και σε άλλες κλάσεις. Προς το παρόν όλες μας οι κλάσεις θα είναι Public, ενώ μελλοντικά θα μάθουμε και άλλες λέξεις κλειδιά για ρύθμιση αυτής της ιδιότητας. Σημαντικό είναι επίσης το γεγονός ότι μια Public κλάση πρέπει να αποθηκεύεται πάντα σε αρχείο στο οποίο η ονομασία του είναι η ίδια με αυτό της κλάσης. Δηλαδή στην περίπτωση μας η κλάση μας φέρει το όνομα ‘Hello’ και το αρχείο μας Hello.java.

Όλα όσα περιλαμβάνονται σε μια κλάση περικλείονται από braces (με { στη αρχή και } στο τέλος), έτσι ώστε να λέμε στον μεταγλωττιστή που αρχίζει και που τελειώνει μια κλάση.

Η επόμενη γραμμή είναι η εξής:

public static void main(String[] args)

Αν δεν είσαι συνηθισμένος στον προγραμματισμό, αυτή η γραμμή ίσως σου φανεί αρκετά παράξενη, σύντομα όμως θα διαπιστώσεις πως το κάθε πρόγραμμα που θα γράφουμε στο μέλλον, θα την περιέχει. Σύντομα το μέλλον θα μάθουμε πως μια κλάση αποτελείτε, εκτός των άλλων, από μεθόδους. Θα μάθουμε στο μέλλον τη σημασία τους, για αρχή όμως πρέπει να ξέρεις πως μια μέθοδος είναι μια ομάδα από εντολές οι οποίες εκτελούν μια συγκεκριμένη εργασία. Έτσι τώρα βλέπουμε πως η κλάση μας ‘Hello’, περιέχει μία μέθοδο. Στην πραγματικότητα αυτή η μέθοδος είναι πολύ σημαντική αφού ονομάζεται ‘main’. Είναι η βασική μέθοδος του προγράμματος μας, η οποία στην περίπτωση που είχαμε πολλές, αυτή θα εκτελείτο πρώτη. Όλα τα προγράμματα Java είναι αναγκαίο να την περιέχουν αφού από εδώ ξεκινούν την εκτέλεση τους, ακόμη και αν η συγκεκριμένη μέθοδος βρίσκεται στο τέλος αυτή θα εκτελεστεί πρώτη και θα τελειώσει με το τέλος της. Στο ενδιάμεσο όμως, μπορεί να ανακατευθυνθούμε σε μια άλλη μέθοδο και μετά να επιστρέψουμε πίσω στο ίδιο σημείο της ‘main’ μεθόδου. Περισσότερα όμως το μέλλον.

Μπορούμε επίσης να διακρίνουμε και εδώ τα braces, τα οποία υποδηλώνουν στον μεταγλωττιστή από πού ξεκινάει και που τελειώνει η συγκεκριμένη μέθοδος.

Προς το παρόν δεν χρειάζεται να ανησυχείς για τη σημασία του ‘public static void’ που βρίσκεται μπροστά από το ‘main’ αλλά και του ‘(String[] args)’ που ακολουθεί αφού τη σημασία τους θα τη μάθουμε στο μέλλον. Προς το παρόν θα ξέρουμε πως πάντα θα βρίσκονται εκεί στην main μας μέθοδο.

Τώρα ας μελετήσουμε την τελευταία μας γραμμή η οποία είναι η εξής:

System.out.println(“Hello World”);

Αυτή η γραμμή είναι η γραμμή που ευθύνεται για να τυπωθεί το ‘Hello World’ στην οθόνη μας. Μπορούμε να χρησιμοποιήσουμε το ‘System.out.println’ (ή κάποτε το System.out.print) για να τυπώσουμε κάτι στην οθόνη μας. Το ‘println’ είναι συντομογραφία για τη λέξη ‘print line’. Προς το παρόν δεν γνωρίζεις ακριβώς τι σημαίνουν αυτές οι λέξεις, ή γιατί γράφονται με αυτή τη σειρά ή γιατί χωρίζονται με τελείες, όμως για τώρα το αποδεχόμαστε πως έτσι είναι και περιμένουμε στο μέλλον να μάθουμε περισσότερα για το νόημα που κρύβεται πίσω τους.

Σημαντικό είναι να προσέξεις το κεφαλαίο ‘S’ στην αρχή της πρότασης, όπως επίσης και το ; που υποδηλώνει το τέλος κάθε μιας πρότασης στην Java. Κάθε πρόταση στην Java τελειώνει με ένα ελληνικό ερωτηματικό.

Εργασία για Ορεξάτους

Όσοι θέλουν να εξασκηθούν μπορούν να φτιάξουν ένα πρόγραμμα παρόμοιο με το πιο πάνω, που να τυπώνει στην οθόνη του υπολογιστή σε 4 γραμμές το εξής:

****************
My name is: Michel
Και μαθαίνω Java!!
****************

Καλό θα ήταν να γράψετε με το χέρι τον κώδικα και να μην κάνετε copy paste απ’ τα παραδείγματα μου, αφού έτσι δεν θα εξασκηθείτε. Μπορεί να φαίνεται αρκετά απλό, όμως αν δεν γράψετε τον κώδικα με το ίδιο σας το χέρι, τότε μέχρι το επόμενο μάθημα θα ξεχάσετε τα πάντα. Γράφοντας τα όμως, θα τα μάθετε καλύτερα.

Για οποιεσδήποτε απορίες ή δυσκολίες πιθανό αντιμετωπίσετε, μπορείτε να αφήσετε σχόλιο στην πιο κάτω φόρμα σχολίων.

Εμείς θα τα πούμε και πάλι σύντομα, εμβαθύνοντας τις γνώσεις μας στην Java.

//

Tags: , , ,

MZinas { Προσωπική Ιστοσελίδα / Άρθρα Στο GreekTuts }
Ο Michel βρίσκεται στο παρα πέντε της απόκτησης Πτυχίου Πληροφορικής. Ασχολείται εδώ και χρόνια με τους υπολογιστές και διατηρεί ιστοσελίδα μέσα απο την οποία δίνει λύσεις σε βασικά προβλήματα που μπορεί να αντιμετωπίσει κάποιος χρησιμοποιώντας τους. Απο τον Σεπτέμβριο του 2009 είναι εξωτερικός συνεργάτης του GreekTuts.

9 Σχόλια στο άρθρο Μαθαίνοντας την JAVA – Μέρος 4

  • Kostas says:

    Εμένα πάλι έχω ένα άλλο πρόβλημα δεν με βρίσκει το main class να το επιλέξω μετά το run που κάνω.Εκεί που λέει Select the main class λέει τι κάνω λάθος?

  • manolis says:

    tora moy kani kati alo den moy vgazi na kano class meta to run

  • manolis says:

    file moy eixais dikio prospathoysa kai eog me copy paste na to kano kai telika eftege ayto ta isagogika ta evgaze lathos kai tora moy trexi kanonika to programa

  • Παραθετω παρακατω τον κωδικα της ασκησης που λες,σε περιπτωση που καποιος τον θελει:

    public class Hi
    {
    public static void main(String[] args)
    {
    System.out.println("*******");
    System.out.println("My name is:Hlias");
    System.out.println("And i'm learning java");
    System.out.println("*******");

    }
    }

  • alex says:

    Την πρώτη φορά αφαίρεσα την πρώτη παρένθεση και μετά μου έβγαλε σφάλμα στην σειρά του κώδικα “system.out….κλπ”
    Tην δεύτερη φορά αφαίρεσα την άλλη παρένθεση στην δεύτερη σειρά και τότε έβγαλε λάθος και στην πρώτη σειρά του κώδικα. Πάλι κάτι έκανα λάθος

    http://i49.tinypic.com/t7k8k8.jpg

  • MZinas says:

    Ο κώδικας σου έχει μια περιττή παρένθεση.

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

  • Alex says:

    Μπα! Πάλι άκρη δεν βρήκα!

    Να δες και εσύ να μου πεις μήπως κάνω κάτι λάθος
    http://i50.tinypic.com/1430tit.jpg

  • MZinas says:

    Alex έχεις λύσει το πρόβλημα; Είναι πραγματικά πολύ απλός ο κώδικας και εαν έχεις κάνει σωστά εγκατάσταση τα προγράμματα σύμφωνα με τις οδηγίες, τότε πρέπει να δουλεύει. Επίσης, μην κάνεις copy&paste τον κώδικα απο εδώ γιατί μερικά πράγματα αλλάζουν, κυρίως σε αυτή την περίπτωση τα double quotes (“), δεν μεταφέρονται όπως πρέπει με αποτέλεσμα να μην δουλεύει ο κώδικας.

    Ρίξε μια ματιά στα εισαγωγικά (“) που περιλαμβάνουν το Hello world, ξαναδοκίμασε και πες μου εαν τα έχεις καταφέρει να δουλέψει.

  • Alex says:

    System.out.println(“Hello world”);

    μου βγάζει σφάλμα στον παραπάνω κωδικα

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>