﻿<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>GreekTuts &#187; Java</title> <atom:link href="http://greektuts.net/category/programming/java/feed/" rel="self" type="application/rss+xml" /><link>http://greektuts.net</link> <description>Ελληνικά Βοηθήματα</description> <lastBuildDate>Fri, 27 Apr 2012 09:31:40 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Μαθαίνοντας την JAVA – Μέρος 10</title><link>http://greektuts.net/java-part-10/</link> <comments>http://greektuts.net/java-part-10/#comments</comments> <pubDate>Fri, 27 Nov 2009 09:12:13 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Java part 10]]></category> <category><![CDATA[Μαθαίνοντας την Java]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=2237</guid> <description><![CDATA[Στο σημερινό βοήθημα, θα ξεκινήσουμε μια καινούρια ενότητα. Σήμερα ξεκινούμε να μαθαίνουμε για τις δομές διακλάδωσης. Μέχρι τώρα, όλα τα προγράμματα μας εκτελούνταν σειριακά,  δηλαδή ακριβώς με τη σειρά με την οποία τα είχαμε γράψει στον κώδικα μας. Με το τέλος αυτής της σειράς βοηθημάτων θα είμαστε σε θέση να χρησιμοποιούμε τις δομές if, if else, switch, for, while και do while.]]></description> <content:encoded><![CDATA[<p>Ας πάρουμε όμως τα πράγματα από την αρχή..</p><p>Μέχρι τώρα, όλα τα προγράμματα τα οποία σου έμαθα να φτιάχνεις, εκτελούνται σε σειριακή μορφή. Δηλαδή, εξ’ αρχής είσαι σε θέση να γνωρίζεις σε ποια σειρά θα εκτελεστεί το πρόγραμμα και με ποια σειρά θα εκτελεστούν οι εντολές. Με λίγα λόγια, εάν φτιάχναμε Ψευδοκώδικα για ένα πρόγραμμα (ας πούμε για το τελευταίο πρόγραμμα του προηγούμενου βοηθήματος, όπου μας ζητείτο το όνομα, μετά το επώνυμο μας και στο τέλος τα τύπωνε σε μια εντολή), αυτός θα ήταν κάπως έτσι..</p><p
align="center">ΑΡΧΗ</p><p
align="center">ΤΥΠΩΣΕ ρώτησε το όνομα του χρήστη</p><p
align="center">ΕΙΣΑΓΩΓΗ τιμής ονόματος από τον χρήστη</p><p
align="center">ΤΥΠΩΣΕ ρώτησε το επώνυμο του χρήστη</p><p
align="center">ΕΙΣΑΓΩΓΗ τιμής επωνύμου από χρήστη</p><p
align="center">ΤΥΠΩΣΕ το όνομα και το επώνυμο του χρήστη</p><p
align="center">ΤΕΛΟΣ</p><p>Σήμερα, θα μάθουμε πως μπορούμε να παρακάμπτονται ορισμένες εντολές ή να εκτελούνται κάποιες άλλες, κάτω από ορισμένες συνθήκες ή προϋποθέσεις που θα ισχύουν και τις οποίες εμείς θα βάζουμε στα προγράμματα μας ανάλογα με τις ανάγκες του κάθε προβλήματος που θέλουμε να λύσουμε. Έτσι, τα προγράμματα μας δεν θα εκτελούνται κατ’ ανάγκη και μόνο σε σειριακή σειρά αλλά η εκτέλεση τους θα διακλαδώνεται σε περισσότερα μέρη κάνοντας τα έτσι περισσότερο περίπλοκα και άρα με περισσότερες δυνατότητες.</p><h2>Η πρόταση If..</h2><p>Κάποιες φορές, είναι αναγκαίο να τυπώνονται κάποια αποτελέσματα ή να προχωρά η ροή κάποιου προγράμματος ανάλογα με τις τιμές που έχει κάποια μεταβλητή. Για παράδειγμα αυτό είναι χρήσιμο σε περιπτώσεις όπως:</p><ul><li>Έλεγχου της βαθμολογίας κάποιου μαθητή, εάν είναι πάνω από 60/100 τότε να τυπώνει στην οθόνη πως πέρασε το μάθημα, αλλιώς πως κόπηκε.</li><li>Εάν η θερμοκρασία σε κάποιο δωμάτιο είναι αρκετά υψηλή τότε να δοθεί η εντολή να ξεκινήσει το κλιματιστικό, αλλιώς να μην γίνει τίποτα.</li><li>Κατά τη διαδικασία κρατήσεων σε κάποιο ξενοδοχείο, ελέγχου από το σύστημα εάν υπάρχει άδειο δωμάτιο.</li></ul><p>Περιπτώσεις σαν και αυτές υπάρχουν άπειρες, και είναι απόλυτα βέβαιο πως σχεδόν σε κάθε πρόγραμμα που θα γράφει θα υπάρχει η ανάγκη να χρησιμοποιηθεί κάποια If πρόταση.</p><p>Φυσικά, αργότερα όταν θα μάθουμε και άλλες προτάσεις ελέγχου της ροής του προγράμματος, είναι απόλυτα φυσικό, κάποιο πρόβλημα να λύνεται τόσο με If τόσο και με κάποια άλλη πρόταση όπως για παράδειγμα με τη χρήση της πρότασης while. Σε τέτοιες περιπτώσεις χρησιμοποιούμε αυτό που μας βολεύει περισσότερο, ή αυτό που ξέρουμε καλύτερα, ή αυτό που στο μέλλον θα μπορεί να επεκταθεί ευκολότερα κλπ. Είναι στο χέρι του κάθε προγραμματιστή τι θα χρησιμοποιήσει ανάλογα με το τι πρόγραμμα γράφει και τι ανάγκες υπάρχουν. Σε κάθε περίπτωση όμως, όλα τα εργαλεία βρίσκονται εδώ, και περιμένουν από εμάς να τα χρησιμοποιήσουμε.</p><p>Η χρήση της πρότασης If, γίνεται ως εξής:</p><pre name="code" class="java">
If ( συνθήκη )
{
Εντολές εάν η συνθήκη είναι αληθές
}
</pre><p>Έτσι, σε περίπτωση που θέλουμε εάν κάποιος είναι άνω των 18 ετών να τυπώνουμε κάποιο συγκεκριμένο μήνυμα στην οθόνη, τότε με δεδομένη την ύπαρξη κάποιας μεταβλητής με την ονομασία age, στην οποία ο χρήστης έχει δώσει την ηλικία του, ο κώδικας μας θα είναι ο εξής:</p><pre name="code" class="java">
If ( age &gt; 18 )
{
   System.out.println(“Eiste panw apo 18 eton”);
}
</pre><p>Βέβαια, για να είμαι πιο σωστός, σε περίπτωση που η εντολή που θέλουμε να εκτελείτε σε περίπτωση που η συνθήκη είναι αληθές είναι μόνο μια, τότε μπορούμε να το γράψουμε και χωρίς τις παρενθέσεις ( {} ).</p><p>Δηλαδή κάπως έτσι:</p><pre name="code" class="java">
If ( age &gt; 18 )
   System.out.println(“Eiste panw apo 18 eton”);
</pre><p>Και στις δύο πιο πάνω περιπτώσεις, το αποτέλεσμα θα είναι ακριβώς το ίδιο.</p><p>Σε περίπτωση που οι εντολές είναι περισσότερες από μία (1), τότε οι παραθέσεις είναι αναγκαστικές. Χωρίς αυτές, ο compiler θεωρεί πως μόνο η αμέσως επόμενη εντολή είναι μέρος του if, και πως ο επόμενος κώδικας που θα βρει στη συνέχεια είναι η συνέχεια του προγράμματος. Έτσι θα δημιουργείτο αναμφίβολα πρόβλημα αφού σε περίπτωση που η συνθήκη ήταν λανθασμένη, θα προσπερνούσε μόνο την αμέσως επόμενη εντολή και όχι όλες όσες στην πραγματικότητα θα βάζαμε στις παρενθέσεις εάν σωστά τις βάζαμε.</p><h2>Τελεστές Σύγκρισης</h2><p>Τώρα, ας απομονώσουμε μόνο ένα κομμάτι του κώδικα μας:</p><pre name="code" class="java">
If ( age &gt; 18 )
</pre><p>Όπως βλέπεις, μέσα στις παρενθέσεις, έχουμε την ονομαζόμενη «συνθήκη». Σε περίπτωση που αυτή είναι αληθής (True), τότε οι εντολές που περιλαμβάνονται στο if εκτελούνται, ενώ σε αντίθετη περίπτωση απλά θα προσπεραστούν και μετά κανονικά θα συνεχιστεί η ροή του προγράμματος μας.</p><p>Χρησιμοποιώντας τους τελεστές σύγκρισης που υπάρχουν στη Java, μπορούμε να συγκρίνουμε δύο τιμές. Στο πιο πάνω παράδειγμα, χρησιμοποιούμε τον τελεστή σύγκρισης «μεγαλύτερο» (&gt;) για να ελέγξουμε εάν η τιμή που έχει δώσει ο χρήστης στη μεταβλητή age είναι μεγαλύτερη από 18. Έτσι, σε περίπτωση που είναι πάνω από 18, το αποτέλεσμα της συνθήκης θα είναι True, και έτσι θα εκτελεστεί ο κώδικας που περιλαμβάνεται στο If.</p><p>Άλλους τελεστές σύγκρισης που υπάρχουν στη Java, μπορούμε να τους δούμε στο πιο κάτω σχεδιάγραμμα:</p><blockquote><p
style="text-align: center;" align="center"><img
class="size-full wp-image-2239 aligncenter" title="image10-01" src="http://static.greektuts.net/uploads/2009/11/image10-01.PNG" alt="image10-01" width="285" height="168" /></p></blockquote><p>Τώρα που μάθαμε την πρόταση If, ας φτιάξουμε ένα πρόγραμμα στο οποίο θα το χρησιμοποιήσουμε στην πράξη..</p><p><strong>Παράδειγμα #1 </strong></p><p>Να φτιαχτεί ένα πρόγραμμα το οποίο θα ζητά από τον χρήστη-υπάλληλο μιας εταιρίας να δίνει τον μηνιαίο μισθό του. Σε περίπτωση που ο μηνιαίος μισθός του είναι κάτω από 700 ευρώ, τότε θα του γίνεται μια αύξηση 10%, και θα του παρουσιάζεται ο νέος του μισθός. Σε περίπτωση που ο μισθός του είναι πάνω από 700 ευρώ, τότε η αύξηση που θα του γίνεται θα είναι 5%.</p><p><span
style="text-decoration: underline;">Λύση</span></p><p>Ας δούμε τον κώδικα για τη λύση στο πρόβλημα μας..</p><pre name="code" class="java">
import java.util.*;
public class example1 {
public static void main (String[] args){
Scanner keyboard = new Scanner(System.in);
// dilwsi metavlitwn
double misthos;
//erwtisi pros to xristi kai eisagwgi timis sti metavliti
System.out.println("Poios eine o trexos misthos sas?");
misthos = keyboard.nextDouble();
// edw ksekinun ta 2 if mas kai ginonte oi aparetitoi ipologismoi tis auksisis
if (misthos &gt; 700)
   misthos = misthos + misthos * 5 / 100;
if (misthos &lt; 700)
   misthos = misthos + misthos * 10 / 100;
//ektiposi tou misthou meta tin auksisi
System.out.println("Meta tin auksisi sas o neos sas misthos tha einai " + misthos);
}
}
</pre><p>Όπως βλέπεις, έχω πρώτα τοποθετήσει το If στο οποίο ελέγχω εάν ο μισθός είναι μεγαλύτερος από 700 ευρώ πρώτο, και στη συνέχεια αυτό που ελέγχει εάν είναι μικρότερος από 700. Εάν τα είχα βάλει αντίθετα, κάποιο πρόβλημα θα προέκυπτε. Δεν είναι δύσκολο να το σκεφτεί κάποιος όμως επειδή θέλω να δοκιμάσω τον τρόπο σκέψης σας, θα ήθελα ο πρώτος που θα σκεφτεί κάποιο πιθανό πρόβλημα που θα δημιουργείτο σε μια τέτοια περίπτωση να το γράψει κάτω στα σχόλια.</p><p>Μπορείτε όπως πάντα, να κατεβάσετε έτοιμο τον κώδικα, ο οποίος βρίσκεται ακριβώς στο τέλος του βοηθήματος, ή ακόμη καλύτερα, μπορείτε να τον πληκτρολογήσετε μόνοι σας έτσι ώστε να εξασκηθείτε. Μπορείτε επίσης να του κάνετε ορισμένες αλλαγές και να πειραματιστείτε μαζί του, έτσι ώστε να εξοικειωθείτε περισσότερο.</p><p>Αυτά για σήμερα, θα συνεχίσουμε την επόμενη φορά με περισσότερες δομές διακλάδωσης και ελέγχου ροής των προγραμμάτων μας.</p><p>Θα τα πούμε και πάλι πολύ σύντομα.</p><blockquote><p
style="text-align: center;"><em><strong>Μπορείτε να κατεβάσετε τα αρχεία του βοηθήματος εδώ</strong></em></p><p
style="text-align: center;"><a
href="http://static.greektuts.net/uploads/2009/11/java10-examples.rar"><em><strong><img
class="alignnone" src="../wp-content/uploads/2009/10/membersdownload1.png" alt="download" width="200" height="200" /></strong></em></a></p></blockquote><p><span
style="text-decoration: underline;"> </span></p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-10/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Μαθαίνοντας την JAVA – Μέρος 9</title><link>http://greektuts.net/java-part-9/</link> <comments>http://greektuts.net/java-part-9/#comments</comments> <pubDate>Mon, 23 Nov 2009 11:47:15 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[java part 9]]></category> <category><![CDATA[Μαθαίνοντας την JAVA – Μέρος 9]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=2213</guid> <description><![CDATA[Στο σημερινό βοήθημα, θα μάθουμε μια κλάση η οποία υπάρχει έτοιμη στη βιβλιοθήκη της Java. Θα χρησιμοποιήσουμε αυτή την κλάση έτσι ώστε να παίρνουμε δεδομένα από το πληκτρολόγιο του χρήστη. Επίσης, θα μάθουμε ένα νέο είδος «μεταβλητής», με την ονομασία String. Τέλος, θα δούμε παραδείγματα.]]></description> <content:encoded><![CDATA[<p>Στα παραδείγματα που έχουμε δει μέχρι σήμερα, όλες οι τιμές των μεταβλητών μας ήταν καθορισμένες από εμάς εξ αρχής στον κώδικα. Ένα τέτοιο πρόγραμμα όμως συνήθως είναι άχρηστο. Τι γίνεται στην περίπτωση που θέλουμε ο χρήστης να μας δίνει δικές του τιμές για μερικές ή και για όλες τις μεταβλητές;</p><p>Από την έκδοση 5.0 της Java, έχει συμπεριληφθεί μια ειδική κλάση με την ονομασία Scanner. Χρησιμοποιώντας αυτή την κλάση, είναι πολύ εύκολο να γράψουμε ένα πρόγραμμα στο οποίο ο χρήστης θα μπορεί να εισάγει τα δικά του δεδομένα σε αυτό χρησιμοποιώντας το πληκτρολόγιο του. Η κλάση Scanner, είναι μέρος ενός μεγαλύτερου πακέτου (περισσότερα για τα πακέτα/packages θα μάθουμε  στο μέλλον) με την ονομασία util. Για να είμαστε σε θέση να χρησιμοποιήσουμε την κλάση Scanner στο κάθε μας πρόγραμμα θα πρέπει αρχικά να πούμε στον μεταγλωττιστή πως θα την χρησιμοποιήσουμε στο πρόγραμμα μας. Αυτό γίνεται με κάποιο συγκεκριμένο τρόπο ο οποίος είναι ο εξής.</p><p>Για να «πούμε» στον μεταγλωττιστή πως θα χρησιμοποιήσουμε την κλάση Scanner η οποία βρίσκεται στο πακέτο util, τότε θα πρέπει στην αρχή του κώδικα μας να προσθέσουμε το εξής:</p><pre name="code" class="java">
import java.util.*;
</pre><p>Με τον αστερίσκο (*) λέμε ότι όλες οι κλάσεις του συγκεκριμένου πακέτου (util) μπορεί να χρησιμοποιηθούν στον κώδικα μας, και έτσι ο μεταγλωττιστής θα τις συμπεριλάβει κατά τη διαδικασία της μεταγλώττισης. Με αυτό τον τρόπο, η κλάση Scanner και όλες οι μέθοδοι της είναι διαθέσιμες προς χρήση στο πρόγραμμα μας.</p><p>Μερικά από αυτά που θα πούμε στη συνέχεια, πιθανόν να είναι λίγο άγνωστα μην ανησυχείς όμως αφού όλα θα γίνουν περισσότερο κατανοητά καθώς θα προχωράμε και θα μαθαίνουμε περισσότερα. Σημαντικό για τώρα είναι να μάθεις τη βασική δομή του κώδικα.</p><p>Αφού έχουμε εισάγει στο πρόγραμμα μας το πακέτο util, στη συνέχεια στον κώδικα μας βάζουμε στη main μέθοδο μας το εξής:</p><pre name="code" class="java">
Scanner keyboard = new Scanner (System.in);
</pre><p>Με αυτό τον τρόπο θα δημιουργηθεί ένα νέο «αντικείμενο» της κλάσης Scanner το οποίο ονομάσαμε keyboard. Αν και ακόμη δεν είσαι σε θέση να κατανοήσεις την ακριβή έννοια της σημασίας της λέξης «αντικείμενο», όμως στο μέλλον θα μάθουμε περισσότερα. Προς το παρόν μην ανησυχεί. Αν και πιστεύω πως η ίδια η λέξη από μόνη της είναι αρκετά αντιπροσωπευτική της σημασίας της. Το System.in, που βρίσκεται στην παρένθεση, αντιπροσωπεύει το πληκτρολόγιο. Με λίγα λόγια, αυτό που βρίσκεται στην παρένθεση προσδιορίζει από πού θα εισάχθούν οι τιμές (πληκτρολόγιο, ποντίκι, οθόνη αφής, σκληρός δίσκος, κτλ). Το System.in αντιπροσωπεύει το πληκτρολόγιο, έτσι τώρα έχει δημιουργηθεί ένα νέο αντικείμενο με την ονομασία keyboard το οποίο θα παίρνει δεδομένα από το πληκτρολόγιο. Το ‘keyboard’ είναι απλά ένα όνομα, για να το ξεχωρίζουμε εύκολα στον κώδικα μας. Θα μπορούσε αντί αυτής της λέξης, να επιλέγαμε οτιδήποτε άλλο.</p><p>Η κλάση Scanner, έχει αρκετές μεθόδους εισαγωγής δεδομένων, κάθε μια εκ των οποίων συνεργάζεται και με διαφορετικό «τύπο δεδομένων» ανάλογα με τη μεταβλητή στην οποία θα εισαχθούν τα δεδομένα. Ας δούμε μερικές από αυτές..</p><p>Ας υποθέσουμε πως θέλουμε να εισάγουμε από το πληκτρολόγιο του χρήστη ένα ακέραιο αριθμό και αυτή την τιμή θα την εισάγουμε σε μια μεταβλητή που έχουμε ήδη δηλωμένη με την ονομασία ‘x’. Σε αυτή την περίπτωση, θα χρησιμοποιήσουμε την μέθοδο nextInt() της κλάσης Scanner και η εντολή θα είναι η εξής:</p><pre name="code" class="java">
x = keyboard.nextInt();
</pre><p>Σε περίπτωση που ο αριθμός που θέλουμε είναι πραγματικός, τότε θα χρησιμοποιήσουμε την εξής εντολή:</p><pre name="code" class="java">
x = keyboard.nextDouble();
</pre><p>Σου φαίνονται περίπλοκα; Και όμως, δεν είναι τόσο δύσκολα. Για να έχουμε πρόσβαση σε κάποια μέθοδο κάποιου αντικειμένου δεν έχουμε παρά να βάλουμε πρώτα το όνομα του αντικειμένου (keyboard), και στη συνέχεια το όνομα της μεθόδου (nextDouble) αφού πρώτα τα χωρίσουμε με μια τελεία (.). Οι δύο παρενθέσεις που βρίσκονται στο τέλος υποδηλώνουν το γεγονός ότι πρόκειται για μέθοδο και μπαίνουν πάντα σε όλες τις μεθόδους.</p><p>Τι γίνεται όμως αν θέλουμε να εισάγουμε χαρακτήρα (char); Εδώ η σύνταξη είναι κάπως διαφορετική αφού δεν υπάρχει ενσωματωμένη η μέθοδος nextChar. Αντ’ αυτού τότε θα χρησιμοποιήσουμε τον εξής κώδικα:</p><pre name="code" class="java">
x = keyboard.next().charAt(0);
</pre><p>Τι σημαίνει όλο αυτό; Δεν πρόκειται να μάθεις τώρα, αφού η εξήγηση είναι μέρος ενός μεγαλύτερου κεφαλαίου το οποίο θα μάθουμε αργότερα στο μέλλον. Για την ώρα φτάνει να ξέρεις να το χρησιμοποιείς.</p><p>Ωραία, τώρα που μάθαμε πώς να εισάγουμε δεδομένα από το πληκτρολόγιο του χρήστη, πριν να προχωρήσουμε στα Strings, ας δούμε ένα παράδειγμα..</p><p><strong>Παράδειγμα #1</strong></p><p>Θα προσπαθήσουμε να φτιάξουμε ένα πρόγραμμα στο οποίο είχαμε αναφερθεί παλαιότερα. Θα φτιάξουμε ένα πρόγραμμα το οποίο θα υπολογίζει τα κέρδη κάποιου ο οποίος πωλεί παγωτά. Υπάρχει μόνο ένα είδος παγωτού, και το πρόγραμμα θα ζητά την αξία πώλησης του κάθε παγωτού και τον αριθμό των πωλήσεων. Στη συνέχεια θα υπολογίζει και θα τυπώνει τα κέρδη.</p><p><span
style="text-decoration: underline;">Λύση</span></p><p>Για να λύσουμε αυτό το πρόγραμμα, χρειαζόμαστε δύο μεταβλητές οι οποίες θα παίρνουν τις τιμές τις αξίας πώλησης του κάθε παγωτού και τον αριθμό των πωλήσεων. Δηλώνουμε τις μεταβλητές στην αρχή, και στη συνέχεια με αυτές τις μεθόδους που μάθαμε σήμερα, ζητάμε από τον χρήστη να μας δώσει τιμές για αυτές τις μεταβλητές. Τέλος, αφού υπολογιστεί, τυπώνουμε το τελικό αποτέλεσμα στην οθόνη του χρήστη.</p><p>Ας δούμε τον κώδικα που κάνει τα πιο πάνω:</p><pre name="code" class="java">
import java.util.*; // gia na imaste se thesi na xrisimopioume tin klasi Scanner
public class example1 {
public static void main (String[] args) {
Scanner keyboard = new Scanner(System.in);  //dimiourgia tou keyboard object mas
// dilwsi metavlitwn
int sales;
double sellingPrice;
System.out.println("Poia einai i timi polisis tou kathe pagwtou? "); //tipssi erwtisis stin othoni
sellingPrice = keyboard.nextDouble(); //eisagwgi dedomenwn
System.out.println("Posa pagwta polithikan? "); //tipwsi erwtisis stin othoni
sales = keyboard.nextInt(); //eisagwgi dedomenwn
System.out.println("To kerdos eine: " + sellingPrice*sales);    //ypologismos kai ektiposi apotelesmatwn
}
}
</pre><p>Όπως βλέπεις τώρα, το πρόγραμμα μας είναι δυναμικό, αφού κάθε φορά ανάλογα με τις τιμές που δίνουμε θα παίρνουμε και διαφορετικά αποτελέσματα. Προσοχή τη στιγμή που θα δίνεις τιμές για την αξία του κάθε παγωτού, εάν είναι για παράδειγμα 1 ευρώ η τιμή που θα δώσεις θα είναι 1,00 ή 1 αλλά όχι 1.00. Θα πρέπει να χρησιμοποιήσεις κόμμα (,) για τα δεκαδικά αλλιώς θα πάρεις μήνυμα error.</p><p>Ας δούμε μια φωτογραφία με το πρόγραμμα μας εν δράση. Μην ξεχνάς πως στο τέλος του βοηθήματος μπορείς να κατεβάσεις το αρχείο στο οποίο περιλαμβάνεται έτοιμος ο κώδικας του προγράμματος.</p><blockquote><p
style="text-align: center;" align="center"><img
class="size-full wp-image-2218 aligncenter" title="image01" src="http://static.greektuts.net/uploads/2009/11/image01.png" alt="image01" width="508" height="170" /></p></blockquote><h2>Strings</h2><p>Ένα String, είναι μια ακολουθία από χαρακτήρες. Αν για παράδειγμα θέλουμε να φτιάξουμε μια μεταβλητή η οποία να παίρνει τιμές ονόματα, τότε πρέπει να χρησιμοποιήσουμε μια μεταβλητή που να είναι σε θέση να αποθηκεύσει ακολουθία χαρακτήρων. Μέχρι τώρα όμως, δεν έχουμε μάθει κάποιο τύπο δεδομένων που να μας βοηθάει σε αυτή την περίπτωση. Αυτή η δουλειά, δεν μπορεί να γίνει ούτε με int ούτε με double, ούτε με char, θα γίνει όμως με String.</p><p>Πρόσεξες πως η λέξη String, γράφεται με κεφαλαίο S, και ο λόγος είναι γιατί οι μεταβλητές αυτού του τύπου δεδομένων δεν υποστηρίζονται εγγενώς από την Java, και στην πραγματικότητα το String δεν είναι τύπος δεδομένων αλλά μια κλάση η οποία προϋπάρχει και χρησιμοποιείτε για αυτό ακριβώς το σκοπό.</p><p>Ας δούμε λοιπόν πώς να την χρησιμοποιούμε για να δημιουργούμε μεταβλητές String, αλλά και πώς να εισάγουμε δεδομένα σε αυτήν.</p><p>Για να δηλώσουμε μια μεταβλητή αυτού του τύπου, θα το κάνουμε με το συνηθισμένο τρόπο με τη διαφορά ότι το αρχικό ‘S’ θα είναι κεφαλαίο.</p><p>Για παράδειγμα:</p><pre name="code" class="java">
String onoma;
</pre><p>και θα της δώσουμε τιμή κάπως έτσι:</p><pre name="code" class="java">
onoma = “Michel”;
</pre><p>Για να πάρουμε μια ακολουθία χαρακτήρων από το πληκτρολόγιο και να την βάλουμε σε μια μεταβλητή, θα χρησιμοποιήσουμε την μέθοδο next() της κλάσης Scanner. Έχε υπόψη σου όμως πως προς το παρών δεν θα πρέπει να εισάγουμε string δύο ή περισσότερων λέξεων (δηλαδή δεν πρέπει να έχουμε διαστήματα στο string μας) γιατί αυτό θα μας οδηγήσει σε error. Θα μάθουμε στο μέλλον πώς να εισάγουμε και strings τα οποία να αποτελούνται από περισσότερες λέξεις.</p><p>Για να εισάγουμε string χρησιμοποιώντας τη μέθοδο nextInt(), αυτό θα γίνει ως εξής:</p><pre name="code" class="java">
onoma = keyboard.next();
</pre><p>Ωραία! Ας δούμε ένα παράδειγμα το οποίο περιλαμβάνει εισαγωγή τιμών σε string..</p><p><strong>Παράδειγμα #2</strong></p><p>Να φτιαχτεί ένα πρόγραμμα το οποίο θα ζητάει απ’ τον χρήστη να εισάγει πρώτα το επώνυμο του (να αποθηκεύεται σε μια μεταβλητή), στη συνέχεια το όνομα του (σε άλλη μεταβλητή), και τελικώς να του τυπώνει το πλήρες ονοματεπώνυμο του.</p><p><span
style="text-decoration: underline;">Λύση</span></p><p>Είναι αρκετά απλό, και κάνουμε ακριβώς ότι ζητά η οδηγία έτσι ώστε να εξασκηθούμε. Αν προτιμάς, μπορείς να κάνεις μια παύση εδώ, και να ξεκινήσεις να γράφεις από μόνος σου αυτό το πρόγραμμα, χωρίς να δεις τον κώδικα μου. Στη συνέχεια μπορείς να το συγκρίνεις με τη δική μου λύση.</p><p>Ας δούμε τώρα το δικό μου κώδικα..</p><pre name="code" class="java">
import java.util.*; // gia na imaste se thesi na xrisimopioume tin klasi Scanner
public class example2 {
public static void main (String[] args){
Scanner keyboard = new Scanner(System.in);  //dimiourgia tou keyboard object mas
// dilwsi metavlitwn
String onoma;
String epwnimo;
System.out.print("Poio eine to onoma sas? "); //erwtisi pros to xristi
onoma = keyboard.next();    // eisagwgi input sti metavliti
System.out.print("Poio eine to epwnimo sas? "); //erwtisi pros to xristi
epwnimo = keyboard.next();    // eisagwgi input sti metavliti
System.out.println("Geia soy " + onoma + " " + epwnimo); //ektiposi apotelesmatos
}
}
</pre><p>Ας δούμε σε φωτογραφία το πρόγραμμα μας εν δράση..</p><blockquote><p
style="text-align: center;" align="center"><img
class="size-full wp-image-2219 aligncenter" title="image02" src="http://static.greektuts.net/uploads/2009/11/image02.PNG" alt="image02" width="392" height="180" /></p></blockquote><p>Ο κώδικας αυτός περιλαμβάνεται επίσης στο αρχείο που μπορείς να κατεβάσεις στο τέλος του βοηθήματος.</p><p>Αυτά για σήμερα. Την επόμενη φορά, θα μπούμε σε μια καινούρια ενότητα, αυτή του ελέγχου ροής των προγραμμάτων μας.</p><p>Θα τα πούμε και πάλι πολύ σύντομα.</p><p
style="text-align: center;"><strong> </strong></p><p
style="text-align: center;"><em><strong>Μπορείτε να κατεβάσετε τα αρχεία του βοηθήματος εδώ</strong></em></p><p
style="text-align: center;"><a
href="http://static.greektuts.net/uploads/2009/11/java09-examples.rar" target="_blank"><em><strong><img
class="alignnone" src="../wp-content/uploads/2009/10/membersdownload1.png" alt="download" width="200" height="200" /></strong></em></a></p><p><strong> </strong></p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-9/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Μαθαίνοντας την JAVA – Μέρος 8</title><link>http://greektuts.net/java-part-8/</link> <comments>http://greektuts.net/java-part-8/#comments</comments> <pubDate>Tue, 10 Nov 2009 14:28:16 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[JAVA – Μέρος 8]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=2039</guid> <description><![CDATA[Στο προηγούμενο βοήθημα μάθαμε για τους αριθμητικούς τελεστές αλλά και για άλλους τελεστές που υπάρχουν στη Java. Σήμερα, θα μάθουμε πώς να προσθέτουμε τιμές μεταβλητών στο output μας, ενώ στη συνέχεια θα δούμε μερικά παραδείγματα προγραμμάτων τα οποία περιέχουν στην πράξη όλα όσα μάθαμε μέχρι σήμερα.]]></description> <content:encoded><![CDATA[<p>Ας ξεκινήσουμε λοιπόν!</p><p>Μέχρι στιγμής, στον κώδικα που είχαμε αναλύσει στο Μέρος 5, έχουμε δει την παρακάτω εντολή:</p><pre name="code" class="java">
System.out.println(“Hello world”);
</pre><p>Όπως ήδη πρέπει να ξέρεις, η πιο πάνω εντολή εμφανίζει το μήνυμα ‘Hello world’ στην οθόνη του υπολογιστή. Θα μπορούσαμε, αντί για ‘println’ να βάζαμε ‘print’. Η διαφορά του ενός από του άλλου είναι η εξής..</p><p>Το ‘println’ είναι συντομογραφία για το «print line», που σημαίνει «τύπωσε και άλλαξε γραμμή». Και αυτό ακριβώς κάνει. Εμφανίζει στην οθόνη το μήνυμα το οποίο υπάρχει στα εισαγωγικά, και ακολούθως αλλάζει γραμμή έτσι ώστε να είναι έτοιμο να τυπώσει κάτι άλλο (εάν υπάρχει) στη συνέχεια. Από την άλλη, το ‘print’ τυπώνει επίσης το μήνυμα που υπάρχει στα εισαγωγικά, στη συνέχεια όμως δεν αλλάζει γραμμή αλλά περιμένει στην ίδια γραμμή και εάν ξαναδοθεί εντολή να τυπωθεί κάτι στην οθόνη, θα το τυπώσει ως συνέχεια του προηγούμενου.</p><p>Στο output, μπορούμε να τυπώσουμε και την τιμή κάποιας μεταβλητής που ήδη υπάρχει στο πρόγραμμα μας. Αυτό θα γίνει κάπως έτσι (ας υποθέσουμε πως έχουμε κάπου στο πρόγραμμα μας μεταβλητή με το όνομα totalPrice):</p><pre name="code" class="java">
System.out.print(“Product price is: hhhhhghdf” + totalPrice);
</pre><p>Το συν (+) που βλέπεις εδώ, δεν έχει καμία σχέση με το συν που χρησιμοποιούμε στις μαθηματικές πράξεις. Θυμάσαι στο προηγούμενο βοήθημα όπου μιλήσαμε για το overloading και το εξηγήσαμε έχοντας ως παράδειγμα τον χαρακτήρα της διαίρεσης(/); Κάτι αντίστοιχο συμβαίνει και με το σύμβολο της πρόσθεσης! Μπορούμε να χρησιμοποιήσουμε το σύμβολο της πρόσθεσης στο output μας, προσθέτοντας έτσι περισσότερα στοιχεία σε αυτό. Στη συγκεκριμένη περίπτωση έχουμε ένα string το οποίο βρίσκεται μέσα στα εισαγωγικά, και στη συνέχεια την αξία μιας μεταβλητής η οποία βρίσκεται έξω απ’ τα εισαγωγικά. Ότι βρίσκεται μέσα στα εισαγωγικά εμφανίζεται ακριβώς  όπως το έχουμε πληκτρολογήσει στον κώδικα μας, ενώ την θέση της μεταβλητής θα πάρει η τιμή της. Εάν δηλαδή η τιμή του totalPrice ήταν 40, τότε το αποτέλεσμα μας θα ήταν κάπως έτσι..</p><blockquote><p
align="center">Product price is: 40</p></blockquote><p>Μια παρατήρηση. Έχεις προσέξει πάνω στον κώδικα πως μετά την ανω-κάτω τελεία έχω βάλει το διάστημα (space); Αυτός είναι και ο λόγος που υπάρχει και στο αποτέλεσμα το διάστημα, αλλιώς θα ήταν κολλημένα.</p><h2>Παραδείγματα</h2><p>Ας δούμε μερικά παραδείγματα πραγματικού κώδικα με ότι μάθαμε μέχρι σήμερα.. Στο τέλος του βοηθήματος μπορείς να κατεβάσεις το αρχείο που περιλαμβάνει αυτά τα παραδείγματα, όπως επίσης και τα σχόλια μέσα στον κώδικα. Για να τα τρέξεις δεν έχεις πάρα να βάλεις τα projects στον φάκελο «NetBeansProjects» που υπάρχει στο MyDocuments του υπολογιστή σου, και στη συνέχεια να ανοίξεις το κάθε project μέσα απ’ το περιβάλλον του NetBeans.</p><h3><strong>Παράδειγμα #1</strong></h3><p>Δημιούργησε μια εφαρμογή, η οποία να τυπώνει στην οθόνη το παρακάτω σχήμα:<strong></strong></p><p
align="center">*</p><p
align="center">***</p><p
align="center">******</p><p
align="center">********</p><p
align="center">**********</p><p><span
style="text-decoration: underline;">Λύση</span></p><p>Θα χρησιμοποιήσουμε 5 «print lines» για να λύσουμε αυτό το πρόβλημα. Σε κάθε μια γραμμή, θα βάλουμε τα αστεράκια με τα ανάλογα διαστήματα, έτσι ώστε να σχηματιστεί το ζητούμενο σχήμα.</p><p>Αρχικά θα δημιουργήσουμε ένα νέο project και μια κλάση την οποία θα ονομάσουμε ‘example1’. Την διαδικασία την έχουμε δει αναλυτικά στο Μέρος 4. Στο αρχείο example1.java θα φτιάξουμε κλασσικά την main μέθοδο μας, και εκεί θα πληκτρολογήσουμε τον κώδικα μας. Τελικώς ο κώδικας μας στο αρχείο θα είναι ο εξής:</p><pre name="code" class="java">
// enarksi klasis example1
public class example1 {
// enarksi methodou main
public static void main(String[] args) {
// to output mas
System.out.println("     *");
System.out.println("    ***");
System.out.println("   ******");
System.out.println("  ********");
System.out.println(" **********");
} // telos methodou main
} // telos klasis
</pre><p>Τρέχοντας τον κώδικα αυτό, θα έχουμε το επιθυμητό αποτέλεσμα.</p><h3><strong>Παράδειγμα #2</strong></h3><p>Ένα ορθογώνιο, έχει μήκος 15,50 μέτρα και πλάτος 8 μέτρα. Δημιούργησε μια εφαρμογή, η οποία να υπολογίζει και να τυπώνει στην οθόνη την περίμετρο και το εμβαδόν του συγκεκριμένου ορθογωνίου.</p><p><span
style="text-decoration: underline;">Λύση</span></p><p>Φτιάχνουμε ένα νέο project και μια κλάση. Στην κλάση μας φτιάχνουμε (όπως πάντα) την main μέθοδο μας. Δηλώνουμε μεταβλητές τύπου double, μια για το μήκος και ακόμη μια για το πλάτος και τους δίνουμε τις ανάλογες αρχικές τιμές. Στη συνέχεια δηλώνουμε ακόμη δύο μεταβλητές, για την περίμετρο και το εμβαδόν, και κάνοντας τις απαιτούμενες μαθηματικές πράξεις δίνουμε τις σωστές τιμές σε κάθε μεταβλητή. Τέλος, τυπώνουμε τα αποτελέσματα στην οθόνη.</p><p>Ο κώδικας μας θα είναι ο εξής:</p><pre name="code" class="java">
// enarksi class example2
public class example2 {
// enarksi main methodou
public static void main(String[] args){
// dilosi metavlitwn
double mikos = 15.50; // dinontas parallila arxikes
double platos = 8;    // dinontas parallila arxikes
double perimetros, emvadon; // me ton allo tropo dilonontas 2 mazi stin idia entoli
// oi ypologismoi mas gia na vroume tin perimetro kai to emvadon
perimetros = (2 * mikos) + (2 * platos); //akomi kai tis paren8esis na min vazame to apotelesma tha itan swsto afou prwta tha ektelounto oi pollaplasiamoi
emvadon = mikos * platos;
// output gia na tiponei ta apotelesmata
System.out.println("I perimetros tou orthogwniou pou exei mikos " + mikos + "cm kai platos " + platos + "cm eine " + perimetros + "cm.");
System.out.println("To emvadon tou orthogwniou pou exei mikos " + mikos + "cm kai platos " + platos + "cm eine " + emvadon + "cm.");
} // telos tis methodou main
} // telos tis class
</pre><p>Αυτά για σήμερα.</p><p>Την επόμενη φορά θα μάθουμε μια κλάση η οποία βρίσκεται στις βιβλιοθήκες της Java. Χρησιμοποιώντας αυτή την κλάση, θα μπορούμε να παίρνουμε δεδομένα από το πληκτρολόγιο, όχι μόνο αριθμούς, αλλά και ολόκληρα Strings, κάνοντας έτσι τα προγράμματα μας περισσότερο ζωντανά. Στη συνέχεια θα δούμε μερικά παραδείγματα και έτσι θα ολοκληρωθεί αυτή η ενότητα. Απ’ το βοήθημα 10 θα μπούμε σε μια άλλη σημαντική ενότητα, αυτή των «εντολών ελέγχων» μέσα απ’ την οποία θα μάθουμε να χρησιμοποιούμε σωστά τις εντολές if, else, do, while, for, break και όχι μόνο.</p><p>Μέχρι τότε όμως, να είστε όλοι καλά. Θα τα πούμε και πάλι σύντομα.</p><p>ΥΓ. Αν δεν κατέβασες το αρχείο με τα παραδείγματα, κατέβασε τα τώρα, βάλε τα στον υπολογιστή σου, τρέξε τα, δες τα αποτελέσματα και πειραματίσου με τον κώδικα προσπαθώντας να φτιάξεις παραλλαγές. Μόνο έτσι θα γίνει αυτός ο κώδικας μέρος του εαυτού σου και θα μάθεις.</p><p><strong><p
style="text-align: center; font-weight: bold;"><br><img
src="http://greektuts.net/images/GTMemberAccess.png" alt="Member Area" /> <br>Άν είστε ήδη συνδρομητής κάντε login με τα στοιχεία σας. Για να γίνετε συνδρομητής πατήστε <a
href="/wp-login.php?action=register">εδώ</a></p></strong></p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-8/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Μαθαίνοντας την JAVA – Μέρος 7</title><link>http://greektuts.net/java-part-7/</link> <comments>http://greektuts.net/java-part-7/#comments</comments> <pubDate>Mon, 02 Nov 2009 08:23:06 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Γλώσσα Java]]></category> <category><![CDATA[Μαθαίνοντας την JAVA – Μέρος 7]]></category> <category><![CDATA[Μέρος 7]]></category> <category><![CDATA[Προγραμματισμός]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=1983</guid> <description><![CDATA[Στο προηγούμενο βοήθημα μάθαμε περισσότερα για τις μεταβλητές και τις χρήσεις τους στα προγράμματα μας. Στο σημερινό βοήθημα, θα δούμε τους αριθμητικούς τελεστές και τους τελεστές αύξησης και μείωσης που υπάρχουν στη Java καθώς και τις ιδιαιτερότητες τους όπου αυτό χρειάζεται. ]]></description> <content:encoded><![CDATA[<h2>Οι Αριθμητικοί Τελεστές στη Java</h2><p>Οι αριθμητικοί τελεστές που υπάρχουν στην Java, περιλαμβάνουν όλους τους γνωστούς τελεστές αριθμητικών πράξεων δηλαδή πρόσθεσης (+), αφαίρεσης (-), πολλαπλασιασμού (*), διαίρεσης (/) και υπολοίπου ή modulo (%). Ας δούμε αυτούς τους τελεστές στον πιο κάτω πίνακα.</p><blockquote><p
style="text-align: center;" align="center"><img
class="size-full wp-image-1985 aligncenter" title="lesson07-01" src="http://static.greektuts.net/uploads/2009/11/lesson07-01.png" alt="lesson07-01" width="550" height="139" /></p></blockquote><p>Χρησιμοποιώντας δηλαδή τους πιο πάνω τελεστές, μπορούμε να φτιάξουμε αριθμητικές προτάσεις και να δώσουμε τιμές στις μεταβλητές μας, κάπως έτσι:</p><pre name="code" class="java">
int x
x = 5 + 5;
</pre><p>Μετά την εκτέλεση της πιο πάνω πρότασης, η τιμή της μεταβλητής x θα είναι 10.</p><p>Μπορούμε επίσης να εκτελέσουμε και πιο σύνθετες προτάσεις, οι οποίες να περιλαμβάνουν περισσότερους από ένα τελεστές, όπως για παράδειγμα:</p><p>Θέλουμε να υπολογίσουμε την τελική τιμή ενός προϊόντος, του οποίου η τιμή πώλησης χωρίς ΦΠΑ είναι 200 ευρώ. Το ποσοστό του ΦΠΑ είναι 19%.</p><pre name="code" class="java">
double finalPrice;
finalPrice = 200 * (1 + 19/100);
</pre><p>Μετά την εκτέλεση της πιο πάνω πράξης, η τιμή της μεταβλητής finalPrice θα είναι 238.</p><p>Κατά την εκτέλεση αυτών των αριθμητικών προτάσεων, ισχύει απόλυτα η σειρά προτεραιότητας των τελεστών, ακριβώς όπως θα τους υπολογίζαμε και σε μια αριθμητική πράξη γράφοντας σε χαρτί.</p><p>Αυτό σημαίνει πως εκτελούνται πάντα με την εξής σειρά προτεραιότητας:</p><ul><li>Πρώτα υπολογίζεται η τιμή μιας παρένθεσης</li><li>Πολλαπλασιασμός, διαίρεση και υπόλοιπο εκτελούνται πρώτα. Σε περίπτωση που μια πρόταση περιλαμβάνει περισσότερους από ένα τέτοιους τελεστές, τότε αρχίζουμε από τα αριστερά και πάμε προς τα δεξιά.</li><li>Προσθέσεις και αφαιρέσεις εκτελούνται στη συνέχεια έχοντας την ίδια προτεραιότητα μεταξύ τους, ενώ και πάλι σε περίπτωση που μια πρόταση περιλαμβάνει περισσότερους από ένα τέτοιους τελεστές, η εκτέλεση αρχίζει από τα αριστερά προς τα δεξιά.</li></ul><p>Γι’ αυτό και έτσι η πρόταση μας 200 * (1 + 19/100) θα υπολογιστεί με την εξής σειρά:</p><p>Πρώτα θα υπολογιστεί το αποτέλεσμα του 19/100, μετά θα προστεθεί 1, και τέλος το αποτέλεσμα θα πολλαπλασιαστεί επί 200, και έτσι θα έχουμε το τελικό αποτέλεσμα  238 στη μεταβλητή μας.</p><p>Δύο τελεστές οι οποίοι χρειάζεται να αναλύσουμε λίγο περισσότερο, είναι ο τελεστής του υπολοίπου (%) και ο τελεστής της διαίρεσης (/). Τον πρώτο θα τον εξηγήσουμε καθώς πολλοί ίσως να μην γνωρίσουν τη συγκεκριμένη αλγεβρική έννοια, ενώ για τον δεύτερο χρειάζεται να αναφέρουμε μερικά πράγματα καθώς η λειτουργία του στη Java κρύβει κάποιες ιδιαιτερότητες.</p><h2>Τελεστής Υπολοίπου</h2><p>Όσοι γνωρίζετε τη σημασία του τελεστή υπολοίπου, μπορείτε να προσπεράσετε αυτό το μέρος.</p><p>Ο τελεστής του υπολοίπου, υπολογίζει το υπόλοιπο που απομένει μετά από μια ακέραιη διαίρεση. Δηλαδή για παράδειγμα το αποτέλεσμα της πράξης 7%4 είναι 3, ενώ το αποτέλεσμα της πράξης 17%5 είναι 2.</p><p>Πως γίνεται αυτό; Ας πάρουμε το πρώτο παράδειγμα, το 7%4. Το αποτέλεσμα της ακέραιης διαίρεσης του 7 με το 4 είναι 1, ενώ το υπόλοιπο που απομένει είναι 3. Το 3 θα είναι και η τιμή που θα πάρει η μεταβλητή μας μετά από μια τέτοια πράξη. Είναι απλά μαθηματικά, δεν νομίζω πως χρειάζεται να επεκταθώ περισσότερο.</p><h2>Τελεστής Διαίρεσης</h2><p>Ας δούμε τώρα τον τελεστή διαίρεσης στη Java, και την ιδιαιτερότητα που έχει.</p><p>Θα γίνουν όλα περισσότερο κατανοητά, αν ξεκινήσω με ένα παράδειγμα..</p><p>Ας υποθέσουμε πως έχουμε 30 σοκολάτες, τις οποίες θέλουμε να μοιράσουμε σε 4 παιδάκια.</p><p>Για να υπολογίσουμε πόσες σοκολάτες θα δώσουμε σε κάθε παιδί και πόσες θα μας περισσέψουν, μπορούμε να χρησιμοποιήσουμε τους τελεστές διαίρεσης και υπολοίπου ως εξής:</p><pre name="code" class="java">
int chocolatesToEachKid, chocolatesLeft;
chocolatesToEachKid = 30/4;
chocolatesLeft = 30%4;
</pre><p>Μετά την εκτέλεση τον πιο πάνω εντολών, η τιμή της μεταβλητής chocolatesToEachKid θα είναι 7 (ως αποτέλεσμα της διαίρεσης 30/4) ενώ η τιμή της μεταβλητής chocolatesLeft θα είναι 2. Ίσως τώρα να διερωτάσαι γιατί το αποτέλεσμα της διαίρεσης 30/4 μας κάνει 7 και όχι 7.5 όπως κανονικά θα έπρεπε.</p><p>Η απάντηση είναι η εξής.</p><p>Στη Java, το ίδιο σύμβολο της διαίρεσης χρησιμοποιείτε για δύο μορφές διαιρέσεων. Χρησιμοποιείτε τόσο για την πραγματοποίηση διαιρέσεων ακεραίων, όσο και για την πραγματοποίηση διαιρέσεων πραγματικών αριθμών.</p><p>Θα μπορούσε να υπήρχαν ξεχωριστοί τελεστές για αυτές τις δύο μορφές διαιρέσεων, όμως ο ίδιος τελεστής (/) χρησιμοποιείτε και για τις δύο μορφές. Αυτό σημαίνει πως ο τελεστής της διαίρεσης είναι υπερφορτωμένος (overloaded). Περισσότερα για το overloading θα μάθουμε σε μελλοντικά βοηθήματα, όμως για τώρα αυτό που χρειάζεται να ξέρεις είναι πως το overloading πάει να πει πως ο ίδιος τελεστής (σε αυτή την περίπτωση ο τελεστής της διαίρεσης), μπορεί να συμπεριφέρεται διαφορετικά υπό ορισμένες περιστάσεις.</p><p>Έτσι όσο αφορά τον τελεστή της διαίρεσης, ο compiler της Java ξέρει πότε θα πραγματοποιήσει διαίρεση ακεραίων, και πότε διαίρεση πραγματικών αριθμών.</p><p>Πως όμως αποφασίζετε αυτό, και γιατί στο πιο πάνω παράδειγμα χρησιμοποιήθηκε η διαίρεση ακεραίων;</p><p>Αυτό αποφασίζετε ανάλογα με τις τιμές οι οποίες διαιρούνται (ή αν θέλεις, με τον τύπο των μεταβλητών που διαιρούνται). Αν τουλάχιστο μία από τις διαιρούμενες τιμές είναι πραγματικός αριθμός, τότε θα γίνει διαίρεση πραγματικών αριθμών και το αποτέλεσμα μας θα είναι πραγματικός αριθμός (έτσι θα πρέπει να έχουμε φροντίσει η μεταβλητή η οποία θα δεκτεί την τιμή η οποία θα προκύψει, να είναι σε θέση να πάρει τιμές με δεκαδικά). Εάν η διαίρεση γίνεται μεταξύ ακέραιων αριθμών (όπως στο πιο πάνω παράδειγμα), τότε θα γίνει διαίρεση ακεραίων, και το όποιο υπόλοιπο περισσέψει θα «χαθεί». Αυτός είναι ο λόγος που το αποτέλεσμα της διαίρεσης 30/4 θα είναι 7 και όχι 7.5 (Υπάρχει βέβαια κάποιος τρόπος με τον οποίο μπορούμε να «αναγκάσουμε» την Java να χρησιμοποιήσει όποιο τρόπο διαίρεσης επιθυμούμε, όμως αυτό είναι κάτι που θα μάθουμε στο μέλλον).</p><h2>Τελεστές Αύξησης και Μείωσης</h2><p>Βέβαια, μια μεταβλητή στη Java, δεν μπορεί να χρησιμοποιηθεί μόνο στο αριστερό μέρος μιας πράξης. Μπορεί να χρησιμοποιηθεί εξίσου και στο δεξί.</p><p>Δηλαδή, εάν είχαμε δηλωμένη μια μεταβλητή με το όνομα x, της οποία θα θέλαμε να αυξήσουμε την τιμή κατά 1 μονάδα, τότε ο κώδικας μας θα ήταν ο εξής:</p><pre name="code" class="java">
x = x + 1;
</pre><p>Με την πιο πάνω εντολή, η τιμή του x αυξήθηκε κατά 1 μονάδα. Μπορούμε όμως πιο εύκολα και γρήγορα να χρησιμοποιήσουμε την εξής συντομογραφία η οποία είναι διαθέσιμη στη Java και κάνει ακριβώς το ίδιο πράγμα:</p><pre name="code" class="java">
x++;
</pre><p>Με τον ίδιο τρόπο, γράφοντας x&#8211;; παίρνουμε το ίδιο αποτέλεσμα σαν η εντολή να ήταν x = x -1;</p><p>Μπορούμε επίσης να κάνουμε και το εξής:</p><pre name="code" class="java">
y = x++;
</pre><p>Με αυτό τον τρόπο, αυτό που γίνεται είναι το εξής, το y παίρνει την αρχική τιμή του x, και το x αυξάνεται κατά 1 μονάδα. Έτσι εάν το x ήταν 5, μετά την εκτέλεση του πιο πάνω, θα είχε γίνει 6, ενώ το y θα είχε πάρει προηγουμένως την τιμή 5.</p><p>Τα ++  και τα &#8212; μπορούν να χρησιμοποιηθούν όχι μόνο πίσω, αλλά και μπροστά από μια μεταβλητή, έτσι ακολουθώντας τον ίδιο τρόπο σκέψης, με την εντολή:</p><pre name="code" class="java">
y = ++x;
</pre><p>θα συμβεί το εξής, η τιμή του x πρώτα θα αυξηθεί κατά μια μονάδα, και στη συνέχεια θα δοθεί η νέα τιμή στο y. Έτσι x και y θα έχουν την ίδια τιμή.</p><p>Ακόμη μια συντομογραφία που υπάρχει στην Java είναι η:</p><pre name="code" class="java">
y += x;
</pre><p>και είναι η συντομογραφία για το</p><pre name="code" class="java">
y = y + x;
</pre><p>Ανάλογες συντομογραφίες υπάρχουν για όλους τους τελεστές αριθμητικών πράξεων.</p><p>Αυτές οι συντομογραφίες χρησιμοποιούνται συχνά από τους προγραμματιστές, και θα τις χρησιμοποιούμε και εμείς στα προγράμματα μας. Ας τις δούμε όμως όλες μαζί στον πιο κάτω πίνακα.</p><blockquote><p
style="text-align: center;" align="center"><img
class="size-full wp-image-1986 aligncenter" title="lesson07-02" src="http://static.greektuts.net/uploads/2009/11/lesson07-02.png" alt="lesson07-02" width="590" height="99" /></p></blockquote><blockquote><p
style="text-align: center;" align="center"><img
class="size-full wp-image-1987 aligncenter" title="lesson07-03" src="http://static.greektuts.net/uploads/2009/11/lesson07-03.png" alt="lesson07-03" width="425" height="144" /></p></blockquote><p>Αυτά για σήμερα.</p><p>Την επόμενη φορά, θα μάθουμε πώς να τυπώνουμε τις τιμές των μεταβλητών μας στην οθόνη του υπολογιστή, έτσι ώστε να είμαστε σε θέση να παρουσιάζουμε δεδομένα στον χρήστη. Αυτό θα είναι το εύκολο μέρος. Το μεγαλύτερο κομμάτι θα το αναλώσουμε για να γράψουμε και να εξηγήσουμε το δεύτερο μας πρόγραμμα το οποίο θα περιλαμβάνει όλα όσα μάθαμε μέχρι σήμερα.</p><p>Θα τα πούμε και πάλι πάρα πολύ σύντομα.</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-7/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Μαθαίνοντας την JAVA – Μέρος 6</title><link>http://greektuts.net/java-part-6/</link> <comments>http://greektuts.net/java-part-6/#comments</comments> <pubDate>Mon, 26 Oct 2009 09:40:16 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Γλώσσα Java]]></category> <category><![CDATA[Μαθαίνοντας την JAVA – Μέρος 6]]></category> <category><![CDATA[Μέρος 6]]></category> <category><![CDATA[Προγραμματισμός]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=1925</guid> <description><![CDATA[Στο προηγούμενο βοήθημα μάθαμε πώς να δημιουργούμε σχόλια στον πηγαίο κώδικα ενός προγράμματος, όπως επίσης μάθαμε τους βασικούς τύπους δεδομένων με τους οποίους μπορούμε να δημιουργούμε μεταβλητές στην Java. Σήμερα θα δούμε πώς να δηλώνουμε και πώς να χρησιμοποιούμε αυτές τις μεταβλητές στα προγράμματα μας. Επίσης θα δούμε πώς να δηλώνουμε στα προγράμματα μας μεταβλητές σταθερών τιμών, και πως αυτές διαφέρουν απ’ τις συνηθισμένες μεταβλητές.]]></description> <content:encoded><![CDATA[<h2>Δηλώνοντας τις Μεταβλητές μας</h2><p>Ως μεταβλητή, ονομάζουμε μια περιοχή στη μνήμη του υπολογιστή, η οποία δεσμεύετε από το πρόγραμμα μας και χρησιμοποιείτε για αποθήκευση δεδομένων κατά τη διάρκεια που αυτό τρέχει. Οι μεταβλητές συνήθως δηλώνονται/δημιουργούνται στην αρχή (χωρίς αυτό να είναι απαραίτητα δεσμευτικό) ενός προγράμματος και κατά τη διάρκεια της δήλωσης δίνονται τα εξής στοιχεία:</p><ul><li>Όνομα της μεταβλητής, έτσι ώστε να μπορούμε να την χρησιμοποιούμε στο πρόγραμμα μας χρησιμοποιώντας τη συγκεκριμένη ονομασία.</li><li>Τύπο δεδομένων της μεταβλητής, έτσι ώστε να δημιουργηθεί στην μνήμη ο κατάλληλος χώρος ο οποίος θα είναι ανά πάσα στιγμή έτοιμος να φιλοξενήσει δεδομένα αυτού του τύπου. Αν για παράδειγμα δηλώσουμε μια μεταβλητή ως τύπο byte, τότε στη μνήμη θα δεσμευτεί ο μέγιστος χώρος που είναι πιθανό να χρειαστεί να αποθηκευτούν δεδομένα για μια μεταβλητή αυτού του τύπου.</li></ul><p>Μερικά στοιχεία που πρέπει να προσέξουμε επιλέγοντας ονομασία για μια μεταβλητή, είναι τα εξής:</p><ul><li>Το όνομα να μην είναι ήδη δεσμευμένο απ’ το λεξιλόγιο της Java, δηλαδή λέξεις όπως class, void, public κτλ. είναι απαγορευμένες.</li><li>Να μην περιλαμβάνει κενά διαστήματα (spaces), ούτε μαθηματικά σύμβολα όπως + ή –</li><li>Πρέπει οπωσδήποτε να αρχίζει με χαρακτήρα του αγγλικού αλφαβήτου ή με κάτω γραμμή (_), ή με το σύμβολο του δολαρίου ($)</li><li>Σημαντικό είναι να επιλέξουμε μια ονομασία αντιπροσωπευτική για την χρήση για την οποία προορίζετε η συγκεκριμένη μεταβλητή. Αυτό θα μας διευκολύνει κατά τη διάρκεια ανάγνωσης του κώδικα μας.</li></ul><p>Αφού αποφασίσουμε τον τύπο αλλά και την ονομασία της μεταβλητής μας, τότε μπορούμε να την δηλώσουμε στον κώδικα μας με τον εξής τύπο:</p><p>τύπος ονομασίαΜεταβλητής;</p><p>Για παράδειγμα, στο παράδειγμα που είχαμε δει στο προηγούμενο βοήθημα, όπου θέλαμε να φτιάξουμε κάποιο πρόγραμμα που να υπολογίζει τον αριθμό τον παγωτών που έχει πωλήσει κάποιος σε μια μέρα. Σε αυτή την περίπτωση, χρειαζόμαστε μια μεταβλητή που να αντιπροσωπεύει αυτό τον αριθμό. Τι τύπου θα είναι αυτή η μεταβλητή όμως; Σίγουρα θα είναι ακέραιος αριθμός, έτσι μπορούμε να χρησιμοποιήσουμε είτε byte, είτε short, είτε int, είτε ακόμη και long. Ας πούμε όμως πως επιλέγουμε να χρησιμοποιήσουμε μεταβλητή τύπου int και να του δώσουμε ονομασία iceCreamSales, τότε σύμφωνα με τον τύπο που είδαμε πιο πάνω, θα την δηλώσουμε στο πρόγραμμα μας με τον εξής κώδικα:</p><pre name="code" class="java">
int iceCreamSales;
</pre><p>Ωραία!</p><p>Ας πούμε για παράδειγμα τώρα, πως εκτός από τον αριθμό των παγωτών, θέλουμε να κρατάμε και τις εισπράξεις των πωλήσεων της ημέρας, τότε χρειαζόμαστε ακόμη μια μεταβλητή. Εδώ χρειαζόμαστε κάποια μεταβλητή που να μπορεί να κρατάει και δεκαδικά, έτσι οι επιλογές που μπορούμε να  χρησιμοποιήσουμε είναι float ή double. Επιλέγουμε να χρησιμοποιήσουμε double και ως ονομασία της μεταβλητής μας το όνομα netSales. Τότε στον κώδικα του προγράμματος μας θα δηλώσουμε τις δύο μεταβλητές μας κάπως έτσι:</p><pre name="code" class="java">
int iceCreamSales;
double netSales;
</pre><p>Τι συμβαίνει στην περίπτωση που θέλουμε να δηλώσουμε περισσότερες από μια μεταβλητές του ίδιου τύπου;</p><p>Ας συνεχίσουμε το παράδειγμα μας υποθέτοντας πως εκτός από παγωτά, ο φίλος μας πωλεί και γρανίτες. Έτσι θέλει το πρόγραμμα που θα του φτιάξουμε να είναι σε θέση να κρατάει και αυτό τον αριθμό. Χρειαζόμαστε ακόμη μια μεταβλητή του τύπου int, και η ονομασία που επιλέγουμε είναι granitaSales. Αυτά μπορούν να δηλωθούν κάπως έτσι:</p><pre name="code" class="java">
int granitaSales;
int iceCreamSales;
double netSales;
</pre><p>Υπάρχει όμως ακόμη ένας τρόπος να γίνει αυτό..</p><p>Στην Java, μπορούμε να δηλώσουμε όλες τις μεταβλητές του ίδιου τύπου, στην ίδια γραμμή, στην ίδια εντολή. Έτσι μπορούμε να δηλώνουμε τις μεταβλητές του ίδιου τύπου με περισσότερη ευκολία, γράφοντας λιγότερο κώδικα που αυτό θα έχει αντίκτυπο στο μέγεθος του προγράμματος μας αλλά και στην καλύτερη οργάνωση του κώδικα.</p><p>Η δήλωση περισσότερων από μια μεταβλητές του ίδιου τύπου, στην ίδια γραμμή, γίνεται με τον εξής τρόπο:</p><pre name="code" class="java">
τύπος ονομασίαΜεταβλητής1, ονομασίαΜεταβλητής2;
</pre><p>Φυσικά μπορούμε να δηλώσουμε περισσότερες από δύο μεταβλητές με τον ίδιο τρόπο.</p><p>Έτσι, ο πιο πάνω κώδικας που γράψαμε σε τρείς γραμμές, μπορεί να γραφεί σε δύο ακριβώς έτσι:</p><pre name="code" class="java">
int granitaSales, iceCreamSales;
double netSales;
</pre><h2>Εκχωρώντας Τιμές Στις Μεταβλητές Μας</h2><p>Μια μεταβλητή θα ήταν τελείως άχρηστη αν δεν μπορούσαμε σε αυτήν να εκχωρήσουμε δεδομένα. Μπορούμε να εκχωρήσουμε δεδομένα σε μια μεταβλητή χρησιμοποιώντας το σύμβολο ίσον (=). Το = ονομάζεται ως τελεστής εκχωρήσεως (assignment operator), και για να δώσουμε τιμή σε μια μεταβλητή τον χρησιμοποιούμε ως εξής:</p><pre name="code" class="java">
ονομασίαΜεταβλητής = τιμή;
</pre><p>Αν για παράδειγμα θέλουμε να δώσουμε την τιμή 0 στην μεταβλητή μας με την ονομασία iceCreamSales τότε ο κώδικας θα είναι ο εξής:</p><pre name="code" class="java">
iceCreamSales = 0;
</pre><p>Όπως είναι λογικό, για να δώσουμε τιμή σε κάποια μεταβλητή, αυτή πρέπει πρώτα προηγουμένως να έχει δηλωθεί στον κώδικα μας. Μπορούμε όμως, κατά την στιγμή της δήλωσης μιας μεταβλητής,  στην ίδια γραμμή να της δώσουμε ταυτόχρονα και μια τιμή.</p><p>Στο πιο πάνω παράδειγμα μας, αυτό θα γινόταν ως εξής:</p><pre name="code" class="java">
int iceCreamSales = 0;
</pre><p>ο πιο πάνω κώδικας έχει την ίδια σημασία με αυτό:</p><pre name="code" class="java">
int iceCreamSales;
iceCreamSales = 0;
</pre><p>Σημαντικό είναι να προσέξουμε τις τιμές που δίνουμε σε κάθε μεταβλητή γιατί εάν δώσουμε κάποια τιμή η οποία δεν χωράει στο συγκεκριμένο τύπο δεδομένων της μεταβλητής, τότε το πρόγραμμα μας δεν θα μεταγλωττίζετε και θα λάβουμε error. Για παράδειγμα, δεν μπορούμε να εισάγουμε μια τιμή με δεκαδικά σε μια int μεταβλητή.</p><p>Για αυτό το λόγο, το πιο κάτω παράδειγμα είναι λανθασμένο και δεν θα λειτουργήσει.</p><pre name="code" class="java">
int iceCreamSales;
iceCreamSales = 3.5;
</pre><p>Μπορούμε όμως να εκχωρήσουμε μια ακέραια τιμή σε μια μεταβλητή με δεκαδικά.</p><p>Για παράδειγμα:</p><pre name="code" class="java">
double netSales;
netSales = 100;
</pre><p>Σε αυτή την περίπτωση, αυτόματα ο μεταγλωττιστής θα μετατρέψει το 100 σε 100.00 έτσι ώστε να χωράει στη συγκεκριμένη μεταβλητή.</p><p>Σημαντικό είναι επίσης να δούμε πώς μπορούμε να εκχωρούμε τιμές σε μεταβλητές του τύπου char.</p><p>Όπως έχουμε πει στο προηγούμενο βοήθημα, στις μεταβλητές του τύπου char χωράει ένας Unicode χαρακτήρας. Η εκχώρηση τιμών σε αυτές τις μεταβλητές γίνεται ως εξής.</p><pre name="code" class="java">
ονομασίαΜεταβλητής = ‘UnicodeΧαρακτήρας’;
</pre><p>Για παράδειγμα, αφού πρώτα υπάρχει δηλωμένη η μεταβλητή με την ονομασία grade, εκχωρούμε τιμές σε αυτήν ακριβώς έτσι:</p><pre name="code" class="java">
grade = ‘A’;
</pre><h2>Μεταβλητές Σταθερών Τιμών</h2><p>Σε ένα πρόγραμμα μας, μπορούμε να έχουμε επίσης μεταβλητές των οποίων η τιμή να είναι σταθερή. Μερικά παραδείγματα σταθερών τιμών είναι:</p><ul><li>Οι ώρες σε μια ημέρα που πάντα είναι 24</li><li>Οι μήνες σε ένα χρόνο που είναι πάντα 12</li><li>Ο μεγαλύτερος βαθμός σε ένα διαγώνισμα που είναι πάντα 100</li><li>Ο μαθηματικός όρος π που πάντα είναι 3.14176</li></ul><p>Για να δηλώσουμε μια μεταβλητή ως σταθερή, αυτό που έχουμε να κάνουμε είναι κατά τη διάρκεια της δήλωσης της, να βάλουμε μπροστά τη λέξη-κλειδί final. Επίσης, αν και δεν είναι αναγκαίο, συνήθως οι μεταβλητές σταθερών τιμών δηλώνονται με ΚΕΦΑΛΑΙΟΥΣ χαρακτήρες. Αυτό βοηθάει στη συνέχεια όταν σε κάποιο κομμάτι του κώδικα μας δούμε τη μεταβλητή, να καταλάβουμε πως πρόκειται περί σταθερής μεταβλητής. Όπως είπαμε και πιο παλιά, η Java ξεχωρίζει τους κεφαλαίους απ’ του πεζούς χαρακτήρες, έτσι μια μεταβλητή με την ονομασία ‘exam’ είναι διαφορετική από μια με την ονομασία ‘Exam’ ή ‘ΕΧΑΜ’.</p><p>Για παράδειγμα, φτιάχνω ένα πρόγραμμα για κάποιο καθηγητή και ξέρω πως η μεγαλύτερη βαθμολογία σε κάποιο διαγώνισμα θα είναι το 100. Έτσι η μεταβλητή που θα δηλώσω για αυτό το σκοπό είναι η εξής:</p><pre name="code" class="java">
final int EXAMSCORE = 100;
</pre><p>Οποιαδήποτε προσπάθεια αργότερα στο πρόγραμμα για αλλαγή της τιμής αυτής της μεταβλητής, θα οδηγήσει σε error και θα ενημερωθούμε για αυτό από τον μεταγλωττιστή.</p><p>Αυτά για σήμερα.</p><p>Μπορείς να εξασκηθείς φτιάχνοντας ένα νέο project στο NetBeans και δοκιμάζοντας αυτά που μάθαμε σήμερα. Σίγουρα δεν θα είσαι σε θέση να φτιάξεις ένα πρόγραμμα που να τρέχει και να τυπώνει αποτελέσματα (αφού ακόμη δεν τα μάθαμε αυτά), όμως ο καλύτερος τρόπος για να χωνέψεις αυτά που μαθαίνουμε κάθε φορά, είναι να κάνεις και πρακτική εξάσκηση με το πληκτρολόγιο σου.</p><p>Προσπάθησε να δηλώσεις μερικές μεταβλητές και να τους εκχωρήσεις τιμές. Τόσο αρχικά στην ίδια γραμμή, όσο και με τον δεύτερο τρόπο ξεχωριστά. Μπορεί να φαίνεται αστείο και να νομίζεις πως μπορείς να μάθεις τα πάντα απλά διαβάζοντας ένα βοήθημα ή ένα βιβλίο, όμως η αλήθεια είναι πως για να πάρεις το 100% της γνώσης πρέπει ταυτόχρονα να κάνεις και πρακτική εξάσκηση, αφού αυτή πάντα βοηθάει καλύτερα στο να εμπεδώσουμε κάθε νέο πράγμα που μαθαίνουμε.</p><p>Καλή εξάσκηση και θα τα πούμε ξανά πάρα πολύ σύντομα.</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-6/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Μαθαίνοντας την JAVA – Μέρος 5</title><link>http://greektuts.net/java-part-5/</link> <comments>http://greektuts.net/java-part-5/#comments</comments> <pubDate>Wed, 21 Oct 2009 08:15:29 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Γλώσσα Προγραμματισμού]]></category> <category><![CDATA[Μαθαίνοντας την JAVA – Μέρος 5]]></category> <category><![CDATA[Μέρος 5]]></category> <category><![CDATA[Προγραμματισμός]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=1868</guid> <description><![CDATA[Στο προηγούμενο βοήθημα μάθαμε πώς να δημιουργούμε και να τρέχουμε ένα απλό πρόγραμμα σε Java χρησιμοποιώντας το NetBeans IDE, σήμερα θα δούμε πως μπορούμε να αφήνουμε σχόλια σε ένα πρόγραμμα. Επίσης, στη συνέχεια θα δούμε τους τύπους δεδομένων που υπάρχουν στη Java για δημιουργία μεταβλητών τις οποίες θα χρησιμοποιούμε στα προγράμματα μας.]]></description> <content:encoded><![CDATA[<h2>Αφήνοντας Σχόλια σε Ένα Πρόγραμμα</h2><p>Κατά τη διάρκεια που δημιουργούμε ένα πρόγραμμα, είναι καλό στον κώδικα του να περιλαμβάνουμε και κάποια επεξηγηματικά σχόλια. Η ύπαρξη αυτών των σχολίων πιθανώς να αποδειχτεί αρκετά ευεργετική, αφού θα μας βοηθήσουν να θυμηθούμε εύκολα τη σημασία του κώδικα μας, όταν μετά από μερικές βδομάδες χρειαστεί να τον επεξεργαστούμε ή να τον αλλάξουμε. Φυσικά, αυτά τα σχόλια δεν βοηθούν μόνο εμάς, αλλά και άλλα πρόσωπα ή προγραμματιστές που ίσως στο μέλλον δουν τον κώδικα μας και προσπαθούν να τον κατανοήσουν.</p><p>Κατά τη διάρκεια της μεταγλώττισης, όλα τα σχόλια αγνοούνται από τους μεταγλωττιστές, έτσι δεν υπάρχει καμία ανησυχία του να επέμβουν στον κώδικα μας και να τον αλλοιώσουν.</p><p>Στη Java, υπάρχουν δύο τρόποι με τους οποίους μπορούμε να δημιουργούμε σχόλια. Ο πρώτος τρόπος είναι χρησιμοποιώντας δύο κάθετες γραμμές (//) στην αρχή της γραμμής. Με αυτό τον τρόπο, ο μεταγλωττιστής θα γνωρίζει πως όλο το υπόλοιπο περιεχόμενο της γραμμής είναι σχόλιο, και έτσι θα το αγνοήσει.</p><p>Για μεγάλα σχόλια τα οποία περιλαμβάνουν περισσότερες από μία γραμμές, μπορούμε να χρησιμοποιήσουμε τον δεύτερο τρόπο ο οποίος είναι ο εξής. Βάζουμε στην αρχή των σχολίων μία κάθετο και αμέσως μετά ένα αστεράκι (/*) ενώ στο τέλος τους βάζουμε ένα αστεράκι και αμέσως μετά μία κάθετο (*/). Οτιδήποτε γράψουμε ανάμεσα τους, θεωρούνται ως σχόλια και αγνοούνται από όλους τους μεταγλωττιστές της Java. Ας δούμε ένα παράδειγμα σχολίων, χρησιμοποιώντας τον κώδικα που είχαμε γράψει στο προηγούμενο μας βοήθημα.</p><pre name="code" class="java">
// αυτό είναι ένα σχόλιο μιας γραμμής, χρησιμοποιώντας τον πρώτο τρόπο
public class Hello
{
public static void main(String[] args)
{
System.out.println(“Hello world”);
}
/* αυτό είναι ένα σχόλιο πολλών γραμμών χρησιμοποιώντας τον δεύτερο τρόπο. Αυτός ο τρόπος είναι αρκετά βολικός σε περιπτώσεις που θέλουμε να αφήσουμε κάποιο μεγάλο σχόλιο. */
}
</pre><p>Σε μελλοντικό βοήθημα, πρόκειται να μάθουμε ένα ειδικό εργαλείο το οποίο ονομάζετε Javadoc, μέσω του οποίου μπορεί κάποιος να δημιουργήσει documentation για το πρόγραμμα του αφήνοντας σε αυτό σχόλια μιας άλλης συγκεκριμένης μορφής. Αυτής της μορφής τα σχόλια ξεκινούν με /** και τελειώνουν με */ . Περισσότερα όμως για την χρησιμότητα του στο μέλλον.</p><h2>Απλοί Τύποι Δεδομένων στη Java</h2><p>Το πρόγραμμα το οποίο έχουμε γράψει την προηγούμενη φορά, ήταν πολύ απλό. Επίσης η χρησιμότητα τέτοιας μορφής προγραμμάτων είναι αρκετά περιορισμένη, αφού σε αυτά δεν υπάρχουν δεδομένα. Η ύπαρξη δεδομένων είναι αρκετά σημαντική σε κάποιο πρόγραμμα αφού το οποιοδήποτε πρόγραμμα για να είναι ενδιαφέρον και να παρέχει κάποια αξιόλογη χρησιμότητα, πρέπει να είναι σε θέση να επεξεργάζεται δεδομένα και να παρουσιάζει πληροφορίες χρησιμοποιώντας αυτά τα δεδομένα. Για παράδειγμα ένα πρόγραμμα υπολογισμού της ηλικίας κάποιου, πρέπει να είναι σε θέση να επεξεργάζεται την ημερομηνία γέννησης του, έτσι ώστε να είναι σε θέση να μας λέει την σημερινή του ηλικία. Γι’ αυτό, το πρώτο ερώτημα που θα πρέπει να σε απασχολεί καθώς θα φτιάχνεις κάποιο πρόγραμμα, είναι το τι είδους δεδομένα θα χρειάζεται να αποθηκεύει και να επεξεργάζεται αυτό το πρόγραμμα.</p><p>Σε κάθε γλώσσα προγραμματισμού υπάρχουν συγκεκριμένοι τύποι δεδομένων οι οποίοι μπορούν να χρησιμοποιηθούν από τους προγραμματιστές. Έτσι μπορούμε να φτιάξουμε μεταβλητές αυτών των τύπων, στις οποίες και θα δίνουμε τις τιμές τις οποίες θέλουμε.</p><p>Αν για παράδειγμα θέλουμε να επεξεργαζόμαστε το πόσα παγωτά πωλεί κάποιος σε μια εργάσιμη μέρα, τότε ξέρουμε εξ αρχής πως αυτός ο αριθμός θα είναι πάντα ακέραιος, έτσι θα δημιουργήσουμε για αυτόν μια μεταβλητή της μορφής integer. Σε περίπτωση που θέλουμε να επεξεργαζόμαστε και το κέρδος του από αυτές τις πωλήσεις, τότε θα δημιουργήσουμε και μια μεταβλητή που να μπορούν να της δοθούν αριθμοί με δεκαδικά.</p><p>Στη Java, υπάρχουν απλής μορφής τύποι δεδομένων, οι όποιοι και χρησιμοποιούνται από τους προγραμματιστές. Αυτοί οι τύποι απλής μορφής, συνήθως ονομάζονται ως  primitive types ή επίσης και ως scalar types.</p><p>Στον πιο κάτω πίνακα μπορούμε να δούμε τους τύπους δεδομένων που υπάρχουν στην Java, καθώς και τις τιμές που μπορούμε να δώσουμε σε μια μεταβλητή του κάθε τύπου.</p><blockquote><p
style="text-align: center;" align="center"><img
class="size-full wp-image-1870 aligncenter" title="java5-img01" src="http://static.greektuts.net/uploads/2009/10/java5-img01.PNG" alt="java5-img01" width="500" height="141" /></p></blockquote><p>Όπως ήδη θα έχεις προσέξει, μια συγκεκριμένη τιμή πιθανόν να μπορεί να δοθεί σε μεταβλητές διαφόρων τύπων. Σημασία πρέπει να δοθεί στην επιλογή του κατάλληλου τύπου για τη δημιουργία μιας μεταβλητής έτσι να καλύπτει τις ανάγκες του προγράμματος χωρίς όμως να καταναλώνει άσκοπα τους πόρους του συστήματος μας. Αν για παράδειγμα ξέρουμε πως το εύρος μιας τιμής μπορεί να είναι από 0 μέχρι το 100, πιθανόν θα την αποθήκευση της βαθμολογίας κάποιου μαθητή σε ένα διαγώνισμα, τότε θα ήταν τελείως άσκοπο να δημιουργηθεί μια μεταβλητή του τύπου int τη στιγμή που καλυπτόμαστε απόλυτα με μια μεταβλητή του τύπου byte.</p><p>Σε μεταβλητές του τύπου char μπορούν να δοθούν ως τιμές Unicode χαρακτήρες. Σε αυτό περιλαμβάνονται σχεδόν όλοι οι χαρακτήρες, όλων των γλωσσών και έτσι με λίγα λόγια θα μπορούσαμε να πούμε πως μια μεταβλητή του τύπου char, μπορεί να αντιπροσωπεύει οποιοδήποτε χαρακτήρα μπορείς να πληκτρολογήσεις με το πληκτρολόγιο σου.</p><p>Σε μεταβλητές του τύπου boolean, οι τιμές που μπορούν να δοθούν είναι True ή False (Σωστό ή Λάθος). Αυτός ο τύπος χρησιμοποιείτε σε περιπτώσεις όπου η απάντηση σε κάποιο ερώτημα μπορεί να είναι Ναι ή Όχι. Για παράδειγμα σε ένα πρόγραμμα υπολογισμού της ηλικίας κάποιου, μια μεταβλητή του τύπου boolean μπορεί να χρησιμοποιηθεί για να ξέρουμε εάν το συγκεκριμένο άτομο είναι άνω των 18 ετών, με το True να σημαίνει πως είναι, ενώ το False να σημαίνει πως δεν είναι.</p><p>Αυτά για σήμερα. Πιστεύω ήταν αρκετά απλά και κατανοητά.</p><p>Μάθαμε πώς να αφήνουμε σχόλια στα προγράμματα μας, όπως επίσης μάθαμε τους βασικούς τύπους δεδομένων που υπάρχουν στη Java με τους οποίους θα δημιουργούμε μεταβλητές. Την επόμενη φορά θα δούμε στην πράξη πώς να δημιουργούμε μεταβλητές αυτών των τύπων, και πώς να δίνουμε ξεχωριστή ονομασία στην κάθε μια έτσι ώστε να τις χρησιμοποιούμε στα προγράμματα μας. Επίσης θα μάθουμε να τους δίνουμε τιμές και τέλος θα φτιάξουμε ένα πρόγραμμα με όλα αυτά τα οποία θα μάθουμε.</p><p>Για απορίες ή διευκρινήσεις μπορείτε να χρησιμοποιήσετε την φόρμα που βρίσκεται στο τέλος της σελίδας.</p><p>Θα τα πούμε και πάλι πολύ σύντομα.</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-5/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Μαθαίνοντας την JAVA – Μέρος 4</title><link>http://greektuts.net/java-part-4/</link> <comments>http://greektuts.net/java-part-4/#comments</comments> <pubDate>Mon, 12 Oct 2009 09:09:24 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Γλώσσα Προγραμματισμού]]></category> <category><![CDATA[Μαθαίνοντας την JAVA – Μέρος 4]]></category> <category><![CDATA[Προγραμματισμός]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=1732</guid> <description><![CDATA[Στα προηγούμενα βοηθήματα κάναμε την εισαγωγή στην Java και εγκαταστήσαμε το Ολοκληρωμένο Περιβάλλον Ανάπτυξης. Στο σημερινό μας βοήθημα, θα γράψουμε το πρώτο μας πρόγραμμα στη γλώσσα προγραμματισμού Java. Στη συνέχεια θα εξηγήσουμε την κάθε γραμμή του κώδικα, έτσι ώστε να καταλάβουμε όλοι τη σημασία του.]]></description> <content:encoded><![CDATA[<h2>Δημιουργώντας το Πρώτο μας Project</h2><p>Αρχίζοντας, θα δημιουργήσουμε το πρώτο μας Project. Αυτό θα το κάνουμε μέσα απ’ το περιβάλλον του NetBeans IDE, το οποίο είχαμε εγκαταστήσει στο προηγούμενο βοήθημα μας.</p><p>Για να το κάνουμε αυτό, αφού ανοίξουμε το NetBeans, πάμε απ’ το πάνω μενού και πατάμε File -&gt; New Project</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1735 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-01.PNG" alt="proj-01" width="248" height="232" /></p></blockquote><p>Στη συνέχεια, στο ‘Categories’ επιλέγουμε «Java», ενώ στο ‘Projects’ επιλέγουμε «Java Application». Αφού τα επιλέξουμε, προχωράμε πατώντας το Next.</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1736 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-02.png" alt="proj-02" width="550" height="381" /></p></blockquote><p>Στην επόμενη οθόνη, ως ‘Project Name’ δίνουμε την ονομασία «Hello». Επίσης από-επιλέγουμε το «Create Main Class», αφού θέλουμε να την δημιουργήσουμε εμείς, έτσι ώστε να μάθουμε τη διαδικασία. Προχωράμε κάνοντας κλικ στο ‘Finish’.</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1737 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-03.png" alt="proj-03" width="550" height="366" /></p></blockquote><p
style="text-align: left">Στο αριστερό μέρος, κάτω απ’ την ονομασία ‘Projects’, μπορούμε να διακρίνουμε το project μας με την ονομασία ‘Hello’. Με δεξι κλικ στο όνομα του project μας θα δημιουργήσουμε την πρώτη μας κλάση.</p><p
style="text-align: left">Αυτό θα γίνει κάνοντας αριστερό κλικ στο ‘Hello’ και στη συνέχεια επιλέγοντας ‘New -&gt; Java Class’.</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1738 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-04.png" alt="proj-04" width="440" height="295" /></p></blockquote><p
style="text-align: left">Εδώ τώρα, θα δώσουμε ονομασία στην κλάση μας. Έτσι δίνουμε στο πεδίο ‘Class Name’ το όνομα ‘Hello’ και προχωράμε κάνοντας κλικ στο ‘Finish’.</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1739 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-05.png" alt="proj-05" width="550" height="365" /></p></blockquote><p
style="text-align: left">Με αυτό τον τρόπο δημιουργήσαμε την πρώτη μας κλάση με το όνομα ‘Hello’, η οποία βρίσκεται αποθηκευμένη στο αρχείο ‘Hello.java’. Μπορούμε τώρα να αρχίσουμε να πληκτρολογούμε κώδικα σε αυτή την κλάση, η οποία έχει ανοίξει αυτόματα στο κεντρικό μέρος του προγράμματος.</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1740 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-06.png" alt="proj-06" width="550" height="316" /></p></blockquote><h2>Γράφοντας το Πρώτο μας Πρόγραμμα</h2><p>Προτείνω να διαγράψουμε όσα αυτόματα έχουν δημιουργηθεί στην κλάση που φτιάξαμε, και να γράψουμε απ’ την αρχή τα δικά μας.</p><p>Έτσι πληκτρολογούμε τον παρακάτω κώδικα. Προσοχή στα κεφαλαία και στα πεζά γιατί η Java τα ξεχωρίζει μεταξύ τους και αν δεν τα γράψετε όπως πρέπει, ο compiler θα σας βγάλει error.</p><pre name="code" class="java">
public class Hello
{
    public static void main(String[] args)
   {
    System.out.println(“Hello world”);
    }
}</pre><p>Αφού γράψουμε το πρόγραμμα μας, στη συνέχεια θα το τρέξουμε. Αυτό γίνεται αφού πάμε απ’ το μενού πάνω στο Run -&gt; Run Main Project ή απλά πατώντας F6 στο πληκτρολόγιο μας.</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1741 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-07.png" alt="proj-07" width="400" height="215" /></p></blockquote><p>Εδώ τώρα χρειάζεται να επιλέξουμε την κλάση εκκίνησης του προγράμματος μας. Μόνο μία κλάση έχουμε, έτσι την επιλέγουμε και κάνουμε κλικ στο OK.</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1742 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-08.png" alt="proj-08" width="450" height="446" /></p></blockquote><p>Και τότε στο κάτω μέρος του IDE θα μπορούμε να δούμε το αποτέλεσμα. Το πρώτο μας πρόγραμμα ήταν το κλασσικό “Hello World”. Αν βλέπετε κάτι διαφορετικό από την παρακάτω εικόνα τότε σίγουρα κάποιο λάθος θα έχετε κάνει.</p><blockquote><p
style="text-align: center" align="center"><img
class="size-full wp-image-1743 aligncenter" src="http://static.greektuts.net/uploads/2009/10/proj-09.png" alt="proj-09" width="550" height="162" /></p></blockquote><h2>Ανάλυση του Κώδικα μας</h2><p>Αν και δεν ήταν ιδιαίτερα περίπλοκο, ας εξηγήσουμε όμως το νόημα των γραμμών του προγράμματος που μόλις έχουμε τρέξει.</p><p>Ας ξεκινήσουμε με την πρώτη γραμμή η οποία ήταν η εξής:</p><pre name="code" class="java">Public class Hello</pre><p>Το ποιο σημαντικό πράγμα εδώ είναι η λέξη “class”. Όπως είχαμε αναφέρει σε προηγούμενο βοήθημα, η Java είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού. Το πραγματικό νόημα της αντικειμενοστρέφειας θα το εξηγήσουμε σε μελλοντικά βοηθήματα, για την ώρα όμως αυτό που πρέπει να ξέρεις είναι πως στις αντικειμενοστραφείς γλώσσες προγραμματισμού ο κώδικας γράφεται σε κομμάτια τα οποία ονομάζονται κλάσεις. Η πιο απλή μορφή ενός προγράμματος αποτελείτε από μια και μόνο κλάση (η οποία μπορεί να χρησιμοποιεί άλλες έτοιμες κλάσεις οι οποίες υπάρχουν έτοιμες στη βιβλιοθήκη της Java), όπως στην περίπτωση μας, που ονομάσαμε την κλάση μας ως ‘Hello’. Με λίγα λόγια, η πρώτη γραμμή λέει στον μεταγλωττιστή ότι από εδώ ξεκινάει η κλάση με την ονομασία ‘Hello’. Η λέξη ‘Public’ που βρίσκεται στην αρχή προσδιορίζει το επίπεδο πρόσβασης της κλάσης, και με το Public λέμε πως η κλάση μας είναι προσβάσιμη  και σε άλλες κλάσεις. Προς το παρόν όλες μας οι κλάσεις θα είναι Public, ενώ μελλοντικά θα μάθουμε και άλλες λέξεις κλειδιά για ρύθμιση αυτής της ιδιότητας. Σημαντικό είναι επίσης το γεγονός ότι μια Public κλάση πρέπει να αποθηκεύεται πάντα σε αρχείο στο οποίο η ονομασία του είναι η ίδια με αυτό της κλάσης. Δηλαδή στην περίπτωση μας η κλάση μας φέρει το όνομα ‘Hello’ και το αρχείο μας Hello.java.</p><p>Όλα όσα περιλαμβάνονται σε μια κλάση περικλείονται από braces (με { στη αρχή και } στο τέλος), έτσι ώστε να λέμε στον μεταγλωττιστή που αρχίζει και που τελειώνει μια κλάση.</p><p>Η επόμενη γραμμή είναι η εξής:</p><pre name="code" class="java">public static void main(String[] args)</pre><p>Αν δεν είσαι συνηθισμένος στον προγραμματισμό, αυτή η γραμμή ίσως σου φανεί αρκετά παράξενη, σύντομα όμως θα διαπιστώσεις πως το κάθε πρόγραμμα που θα γράφουμε στο μέλλον, θα την περιέχει. Σύντομα το μέλλον θα μάθουμε πως μια κλάση αποτελείτε, εκτός των άλλων, από μεθόδους. Θα μάθουμε στο μέλλον τη σημασία τους, για αρχή όμως πρέπει να ξέρεις πως μια μέθοδος είναι μια ομάδα από εντολές οι οποίες εκτελούν μια συγκεκριμένη εργασία. Έτσι τώρα βλέπουμε πως η κλάση μας ‘Hello’, περιέχει μία μέθοδο. Στην πραγματικότητα αυτή η μέθοδος είναι πολύ σημαντική αφού ονομάζεται ‘main’. Είναι η βασική μέθοδος του προγράμματος μας, η οποία στην περίπτωση που είχαμε πολλές, αυτή θα εκτελείτο πρώτη. Όλα τα προγράμματα Java είναι αναγκαίο να την περιέχουν αφού από εδώ ξεκινούν την εκτέλεση τους, ακόμη και αν η συγκεκριμένη μέθοδος βρίσκεται στο τέλος αυτή θα εκτελεστεί πρώτη και θα τελειώσει με το τέλος της. Στο ενδιάμεσο όμως, μπορεί να ανακατευθυνθούμε σε μια άλλη μέθοδο και μετά να επιστρέψουμε πίσω στο ίδιο σημείο της ‘main’ μεθόδου. Περισσότερα όμως το μέλλον.</p><p>Μπορούμε επίσης να διακρίνουμε και εδώ τα braces, τα οποία υποδηλώνουν στον μεταγλωττιστή από πού ξεκινάει και που τελειώνει η συγκεκριμένη μέθοδος.</p><p>Προς το παρόν δεν χρειάζεται να ανησυχείς για τη σημασία του ‘public static void’ που βρίσκεται μπροστά από το ‘main’ αλλά και του ‘(String[] args)’ που ακολουθεί αφού τη σημασία τους θα τη μάθουμε στο μέλλον. Προς το παρόν θα ξέρουμε πως πάντα θα βρίσκονται εκεί στην main μας μέθοδο.</p><p>Τώρα ας μελετήσουμε την τελευταία μας γραμμή η οποία είναι η εξής:</p><pre name="code" class="java">System.out.println(“Hello World”);</pre><p>Αυτή η γραμμή είναι η γραμμή που ευθύνεται για να τυπωθεί το ‘Hello World’ στην οθόνη μας. Μπορούμε να χρησιμοποιήσουμε το ‘System.out.println’ (ή κάποτε το System.out.print) για να τυπώσουμε κάτι στην οθόνη μας. Το ‘println’ είναι συντομογραφία για τη λέξη ‘print line’. Προς το παρόν δεν γνωρίζεις ακριβώς τι σημαίνουν αυτές οι λέξεις, ή γιατί γράφονται με αυτή τη σειρά ή γιατί χωρίζονται με τελείες, όμως για τώρα το αποδεχόμαστε πως έτσι είναι και περιμένουμε στο μέλλον να μάθουμε περισσότερα για το νόημα που κρύβεται πίσω τους.</p><p>Σημαντικό είναι να προσέξεις το κεφαλαίο ‘S’ στην αρχή της πρότασης, όπως επίσης και το ; που υποδηλώνει το τέλος κάθε μιας πρότασης στην Java. Κάθε πρόταση στην Java τελειώνει με ένα ελληνικό ερωτηματικό.</p><h2>Εργασία για Ορεξάτους</h2><p>Όσοι θέλουν να εξασκηθούν μπορούν να φτιάξουν ένα πρόγραμμα παρόμοιο με το πιο πάνω, που να τυπώνει στην οθόνη του υπολογιστή σε 4 γραμμές το εξής:</p><p>****************<br
/> My name is: Michel<br
/> Και μαθαίνω Java!!<br
/> ****************</p><p>Καλό θα ήταν να γράψετε με το χέρι τον κώδικα και να μην κάνετε copy paste απ’ τα παραδείγματα μου, αφού έτσι δεν θα εξασκηθείτε. Μπορεί να φαίνεται αρκετά απλό, όμως αν δεν γράψετε τον κώδικα με το ίδιο σας το χέρι, τότε μέχρι το επόμενο μάθημα θα ξεχάσετε τα πάντα. Γράφοντας τα όμως, θα τα μάθετε καλύτερα.</p><p>Για οποιεσδήποτε απορίες ή δυσκολίες πιθανό αντιμετωπίσετε, μπορείτε να αφήσετε σχόλιο στην πιο κάτω φόρμα σχολίων.</p><p>Εμείς θα τα πούμε και πάλι σύντομα, εμβαθύνοντας τις γνώσεις μας στην Java.</p><p>//</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-4/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>Μαθαίνοντας την JAVA – Μέρος 3</title><link>http://greektuts.net/java-part-3/</link> <comments>http://greektuts.net/java-part-3/#comments</comments> <pubDate>Sun, 04 Oct 2009 17:31:01 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Μαθαίνοντας την Java]]></category> <category><![CDATA[Μέρος 3]]></category> <category><![CDATA[Προγραμματισμός]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=1551</guid> <description><![CDATA[Στο 3ο μέρος των βοηθημάτων για την Java, θα εγκαταστήσουμε το Ολοκληρωμένο Περιβάλλον Ανάπτυξης (Integrated Development Environment) ή IDE το οποίο και πρόκειται να χρησιμοποιούμε στα μελλοντικά μας βοηθήματα για τη συγγραφή του Java κώδικα μας.]]></description> <content:encoded><![CDATA[<p>Με την εγκατάσταση του JDK που είχαμε εγκαταστήσει την προηγούμενη φορά στον υπολογιστή μας, είμαστε ήδη έτοιμοι να μεταγλωττίζουμε κώδικα Java σε «Java Bytecode».</p><p>Η συγγραφή του κώδικα όμως που γίνεται;</p><p>Η πιο απλή μορφή ενός προγράμματος, αποτελείτε από ένα και μόνο αρχείο, ενώ κάποιο πλήρες πρόγραμμα σίγουρα θα αποτελείτε από πολλά, πολλά, μα πάρα πολλά αρχεία. Μπορούμε εύκολα να δημιουργήσουμε ένα αρχείο στο Notepad, και αφού γράψουμε τον κώδικα μας, να του δώσουμε κάποιο όνομα και να το αποθηκεύσουμε με κατάληξη «.java». Στη συνέχεια το μεταγλωττίζουμε μέσω command line, και τρέχουμε το παραγόμενο «.class» αρχείο που θα δημιουργηθεί. Αυτή όμως μπορεί να είναι μια χρονοβόρα διαδικασία ιδιαίτερα κατά τη διάρκεια που γράφουμε κώδικα και θέλουμε να είμαστε απόλυτα συγκεντρωμένοι στο στόχο ή στις σκέψεις μας.</p><p>Εδώ ακριβώς εμφανίζονται τα IDE τα οποία πραγματικά μας λύνουν τα χέρια αφού αναλαμβάνουν να κάνουν την πιο πάνω διαδικασία σχεδόν αυτόματα με το πάτημα ενός κουμπιού. Φυσικά όμως τα IDE δεν φτιάχτηκαν απλά για αυτό το λόγο, αλλά επίσης προσφέρουν και πολλές άλλες ευεργετικές ευκολίες και χρήσιμα εργαλεία στους προγραμματιστές. Όλα αυτά μέσα από ένα γραφικό και φιλικό περιβάλλον το οποίο βοηθά τους προγραμματιστές να αυξήσουν την αποδοτικότητα και την παραγωγικότητα τους. Προϊόντα IDE υπάρχουν αρκετά, πολλά εκ των οποίων υποστηρίζουν περισσότερες από μία γλώσσες προγραμματισμού. Αρκετά από αυτά προσφέρονται επι πληρωμή, υπάρχουν όμως και δωρεάν λύσεις, μερικές από τις οποίες είναι αρκετά επιτυχημένες και χρησιμοποιούνται ευρέως. Εμείς, θα χρησιμοποιήσουμε μια από τις καλύτερες open source λύσεις, το NetBeans.</p><p>Η πρώτη έκδοση του NetBeans κυκλοφόρησε το 1996 και είναι γραμμένο σε Java. Η τελευταία του έκδοση αυτή τη στιγμή είναι η 6.7.1, την οποία θα κατεβάσουμε και θα εγκαταστήσουμε σήμερα.</p><h2>Κατέβασμα και εγκατάσταση του NetBeans IDE</h2><p>Ας παρακολουθήσουμε λοιπόν αναλυτικά την διαδικασία που πρέπει να ακολουθήσουμε για να κατεβάσουμε και να εγκαταστήσουμε το NetBeans IDE στον υπολογιστή μας.</p><p>Αρχικά επισκεπτόμαστε με τον browser μας την ιστοσελίδα <a
href="http://www.netbeans.org/">http://www.netbeans.org/</a> η οποία είναι η επίσημη ιστοσελίδα του Περιβάλλοντος Ανάπτυξης NetBeans.  Εκεί κάνουμε κλικ στο «Download NetBeans IDE», ακριβώς όπως φαίνεται στην παρακάτω εικόνα.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1555" title="netb-inst01" src="http://static.greektuts.net/uploads/2009/10/netb-inst01.png" alt="netb-inst01" width="550" height="295" /></p></blockquote><p>Στο πάνω δεξιά μέρος, μπορούμε να επιλέξουμε την πλατφόρμα του υπολογιστή μας, έτσι ώστε να κατεβάσουμε την ανάλογη έκδοση που ταιριάζει στο μηχάνημα μας. Στο κάτω μέρος, βλέπουμε διάφορες εκδόσεις οι οποίες είναι διαθέσιμες για κατέβασμα. Για τις ανάγκες των βοηθημάτων μας θα χρειαστούμε το πρώτο πακέτο, έτσι πατάμε στο ανάλογο «Download» κουμπί για να κατεβάσουμε την Java SE.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1557" title="netb-inst02" src="http://static.greektuts.net/uploads/2009/10/netb-inst02.png" alt="netb-inst02" width="500" height="271" /></p></blockquote><p>Αν δεν ξεκινήσει αυτόματα να κατεβαίνει το αρχείο μας, τότε με ένα κλικ στο «download it here» σίγουρα θα ξεκινήσει.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1558" title="netb-inst03" src="http://static.greektuts.net/uploads/2009/10/netb-inst03.png" alt="netb-inst03" width="449" height="342" /></p></blockquote><p
style="text-align: left;">Στη συνέχεια αποθηκεύουμε το αρχείο κάπου στον υπολογιστή μας ακριβώς όπως αποθηκεύουμε ένα οποιοδήποτε άλλο αρχείο. Περιμένουμε λίγο μέχρι να τελειώσει το κατέβασμα, αυτό όμως θα εξαρτηθεί από την ταχύτητα της σύνδεσης μας στο ιντερνέτ.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1559" title="netb-inst04" src="http://static.greektuts.net/uploads/2009/10/netb-inst04.png" alt="netb-inst04" width="404" height="267" /></p></blockquote><p
style="text-align: left;">Αφού κατεβεί το αρχείο το βρίσκουμε στον φάκελο που το αποθηκεύσαμε, και το εκτελούμε. Αρχικά περιμένουμε λιγάκι μέχρι να φορτωθεί το πρόγραμμα εγκατάστασης.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1560" title="netb-inst05" src="http://static.greektuts.net/uploads/2009/10/netb-inst05.png" alt="netb-inst05" width="400" height="171" /></p></blockquote><p
style="text-align: left;">Στη συνέχεια, και πάλι θα χρειαστεί να περιμένουμε μέχρι να φορτωθούν και οι υπόλοιπες ρυθμίσεις του προγράμματος εγκατάστασης.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1561" title="netb-inst06" src="http://static.greektuts.net/uploads/2009/10/netb-inst06.png" alt="netb-inst06" width="500" height="374" /></p></blockquote><p
style="text-align: left;">Το πρόγραμμα εγκατάστασης μας καλωσορίζει και εμείς δεν έχουμε παρά να κάνουμε κλικ στο ‘Next’ για να προχωρήσουμε.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1562" title="netb-inst07" src="http://static.greektuts.net/uploads/2009/10/netb-inst07.png" alt="netb-inst07" width="450" height="347" /></p></blockquote><p
style="text-align: left;">Στη συνέχεια, αφού διαβάσουμε και συμφωνήσουμε με τους όρους χρήσης του προγράμματος, βάζουμε τικ στο κουτάκι και κάνουμε κλικ στο ‘Next’ για να προχωρήσουμε.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1563" title="netb-inst08" src="http://static.greektuts.net/uploads/2009/10/netb-inst08.png" alt="netb-inst08" width="500" height="386" /></p></blockquote><p
style="text-align: left;">Εδώ μπορούμε αν θέλουμε να αλλάξουμε το φάκελο στον οποίο θα γίνει η εγκατάσταση, αλλά και να επιλέξουμε την έκδοση του JDK που επιθυμούμε να χρησιμοποιείτε (εάν έχουμε περισσότερες από μία εγκαταστημένες στον υπολογιστή μας). Εάν δεν είχαμε εγκατεστημένο τον JDK στον υπολογιστή μας, τότε δεν θα μπορούσαμε να προχωρήσουμε παρακάτω, αφού η ύπαρξη του στον υπολογιστή μας, είναι απόλυτα απαραίτητη (για περισσότερες πληροφορίες εγκατάστασης του JDK, μπορείς να ανατρέξεις στο βοήθημα «Μαθαίνοντας την Java – Μέρος 2»). Εάν όλα είναι εντάξει, κάνοντας κλικ στο ‘Next’ θα προχωρήσουμε παρακάτω.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1564" title="netb-inst09" src="http://static.greektuts.net/uploads/2009/10/netb-inst09.png" alt="netb-inst09" width="500" height="378" /></p></blockquote><p
style="text-align: left;">Εδώ τώρα, βλέπουμε μια ανασκόπηση που περιλαμβάνει τον φάκελο στον οποίο θα γίνει η εγκατάσταση, αλλά και τον χώρο τον οποίο θα καταλαμβάνει στον σκληρό μας δίσκο. Προχωράμε κάνοντας κλικ στο ‘Next’.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1565" title="netb-inst10" src="http://static.greektuts.net/uploads/2009/10/netb-inst10.png" alt="netb-inst10" width="500" height="370" /></p></blockquote><p
style="text-align: left;">Στη συνέχεια χρειάζεται να κάνουμε υπομονή, μέχρι να ολοκληρωθεί η διαδικασία της εγκατάστασης.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1566" title="netb-inst11" src="http://static.greektuts.net/uploads/2009/10/netb-inst11.png" alt="netb-inst11" width="500" height="375" /></p></blockquote><p
style="text-align: left;">Η διαδικασία της εγκατάστασης μόλις έχει ολοκληρωθεί. Ως τελευταίο βήμα, υπάρχουν αυτόματα προεπιλεγμένες δύο επιλογές. Με την πρώτη δίνουμε τη συγκατάθεση μας πως επιτρέπουμε να αποστέλλονται στο netbeans.org ανώνυμες πληροφορίες για τη χρήση του NetBeans, βοηθώντας έτσι περισσότερο την εξέλιξη του. Με την δεύτερη, εγγράφουμε την εγκατάσταση του NetBeans, διαδικασία η οποία είναι απολύτως δωρεάν. Θα σας πρότεινα να τα αφήσουμε όλοι επιλεγμένα, αν και είναι καθαρά δική σας επιλογή και οποιαδήποτε απόφαση σας δεν θα επηρεάσει καθόλου τη λειτουργία του IDE. Στη συνέχεια τερματίζουμε την εγκατάσταση κάνοντας κλικ στο ‘Finish’.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1567" title="netb-inst12" src="http://static.greektuts.net/uploads/2009/10/netb-inst12.png" alt="netb-inst12" width="500" height="362" /></p></blockquote><p>Τώρα λοιπόν, έχουμε στον υπολογιστή μας τα δυο βασικά συστατικά τα οποία χρειαζόμαστε για να προγραμματίζουμε αποδοτικά σε Java. Έχουμε εγκαταστήσει το Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE) NetBeans, μέσω του οποίου θα δημιουργούμε Projects και θα γράφουμε τον κώδικα των προγραμμάτων μας εύκολα, οργανωμένα και με όλες τις βοήθειες που μπορεί να μας προσφέρει ένα IDE. Επίσης έχουμε εγκαταστήσει τον JDK, του οποίου η δουλειά μπορεί να είναι σχετικά αφανείς αλλά όμως, είναι αρκετά χρήσιμη και απολύτως απαραίτητη.</p><p>Με αυτό το βοήθημα ολοκληρώνετε αυτή η σειρά βοηθημάτων η οποία ήταν περισσότερο εισαγωγική, θεωρητική αλλά και απαραίτητη, αφού μέσω αυτής μάθαμε την βασική θεωρία και εγκαταστήσαμε τα χρήσιμα εργαλεία τα οποία θα χρειαστούμε στη συνέχεια. Την επόμενη φορά θα δημιουργήσουμε το πρώτο μας Project και θα ξεκινήσουμε να γράφουμε κώδικα Java, μέσα απ’ το περιβάλλον του NetBeans.</p><p>Μέχρι τότε να είστε όλοι καλά.</p><p>Θα τα ξαναπούμε και πάλι πολύ σύντομα, όπως πάντα εδώ, στο greektuts.net.</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-3/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Μαθαίνοντας την JAVA – Μέρος 2</title><link>http://greektuts.net/java-part-2/</link> <comments>http://greektuts.net/java-part-2/#comments</comments> <pubDate>Sun, 27 Sep 2009 13:20:43 +0000</pubDate> <dc:creator>MZinas</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[Μαθαίνοντας την Java]]></category> <category><![CDATA[Μέρος 2]]></category> <category><![CDATA[Προγραμματισμοός]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=1386</guid> <description><![CDATA[Στο πρώτο μέρος κάναμε την εισαγωγή στην γλώσσα προγραμματισμού Java. Στο δεύτερο μέρος θα επεκτείνουμε τις γνώσεις μας για τον μεταγλωττιστή και τον διερμηνευτή (JVM) της Java. ]]></description> <content:encoded><![CDATA[<p>Αναλυτικά, πρόκειται να εξηγήσουμε τους όρους JVM, JRE και JDK. Στο τέλος θα εγκαταστήσουμε στον υπολογιστή μας το JDK, το οποίο είναι το πιο απαραίτητο συστατικό για να αρχίσει κάποιος να μεταγλωττίζει, να αποσφαλματώνει και να διερμηνεύει κώδικα Java. Αυτή τη διαδικασία, θα την δούμε βήμα-βήμα με τη βοήθεια εικόνων, έτσι ώστε όλοι να μπορέσουμε να ακολουθήσουμε χωρίς κανένα πρόβλημα.</p><p>Ας ξεκινήσουμε λοιπόν!</p><h2>JVM, JRE και JDK. Βοήθεια είμαι μπερδεμένος !!</h2><p>Στο προηγούμενο μάθημα, είχαμε μάθει πως ο μεταγλωττιστής της Java, παράγει κάποιο ενδιάμεσο κώδικα (Java bytecode) ο οποίος στην ουσία είναι και το εκτελέσιμο αρχείο που θα τρέξει κάποιος στον υπολογιστή του. Οι υπολογιστές όμως, επειδή το μόνο που καταλαβαίνουν είναι η γλώσσα μηχανής, έτσι δεν είναι σε θέση να κατανοούν τη σημασία των «Java bytecodes». Γι’ αυτό, για να τρέξει κάποιος στον υπολογιστή του κάποιο πρόγραμμα Java, θα πρέπει να έχει στον υπολογιστή του την «Java Virtual Machine» (JVM), η οποία θα διερμηνεύσει τα «Java bytecodes» στη γλώσσα μηχανής του υπολογιστή στον οποίο εκτελείτε. Όλη αυτή η διαδικασία γίνεται αυτόματα τη στιγμή που κάποιος θα τρέξει στον υπολογιστή του μια εφαρμογή γραμμένη σε Java. Όπως επίσης είχαμε πει την προηγούμενη φορά, με αυτό τον τρόπο η Java επιτυχαίνει οι εφαρμογές που είναι γραμμένες στη γλώσσα της, να τρέχουν σε όλες τις μηχανές και σε όλα τα λειτουργικά. Έτσι λοιπόν τώρα όλοι έχουμε ξεκαθαρίσει ποια ακριβώς είναι η δουλειά της JVM.</p><p>Η JVM όμως δεν είναι αυτόνομη, αλλά είναι μέρος ενός μεγαλύτερου πακέτου με την ονομασία Java Runtime Environment (JRE). Αυτό το πακέτο, οι περισσότεροι χρήστες το έχουν εγκαταστημένο στον υπολογιστή τους. Πρέπει να το έχει κάποιος, έτσι ώστε να είναι σε θέση να τρέχει εφαρμογές γραμμένες σε Java. Προσοχή όμως να μην μπερδευτούμε. Δεν είναι αναγκαίο κάποιος να είναι προγραμματιστής για να το έχει στον υπολογιστή του, αφού αυτό το πακέτο δεν έχει κάποια σχέση με την δημιουργία προγραμμάτων, αλλά μόνο με την εκτέλεση τους. Το JRE εκτός από την JVM (η οποία είπαμε διερμηνεύει τα bytecodes), περιέχει επίσης μέσα του έτοιμες κλάσεις οι οποίες μπορεί να καλούνται και να χρησιμοποιούνται από τα Java προγράμματα κατά την εκτέλεση τους (περισσότερα για αυτό στο μέλλον), καθώς επίσης και άλλα εργαλεία τα οποία σχετίζονται με την εκτέλεση Java εφαρμογών. Είμαι σίγουρος πως οι περισσότεροι θα έχετε κάποια έκδοση του JRE στον υπολογιστή σας, ακόμη και αν δεν το γνωρίζετε. Αν από περιέργεια θέλεις να δεις αν έχεις εγκαταστημένη κάποια έκδοση του JRE στον υπολογιστή σου, μπορείς να πάς στην προσθαφαίρεση προγραμμάτων, και εκεί να ψάξεις στο γράμμα ‘J’ για ‘Java’. Όπως μπορείς να δεις στην παρακάτω εικόνα, εγώ έχω στον υπολογιστή μου εγκατεστημένη την 6η έκδοση της Java και την 16η αναβάθμιση της, γι’ αυτό και ο υπολογιστής μου είναι σε θέση να τρέχει Java εφαρμογές.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1389" title="javaRE" src="http://static.greektuts.net/uploads/2009/09/javaRE.png" alt="javaRE" width="550" height="78" /></p></blockquote><p>Αρκετά όμως με την εκτέλεση εφαρμογών. Πού είναι ο μεταγλωττιστής έτσι ώστε να είμαστε σε θέση να φτιάχνουμε προγράμματα; Ο μεταγλωττιστής της Java λοιπόν, είναι μέρος ενός άλλου πακέτου, το οποίο φέρει την ονομασία «Java Development Kit» (JDK). Αυτό το πακέτο είναι που χρειαζόμαστε έτσι ώστε να είμαστε σε θέση να δημιουργούμε Java εφαρμογές. Το JDK, εκτός από τον μεταγλωττιστή, περιέχει και άλλα χρήσιμα εργαλεία όπως αποσυμβολομεταφραστή (disassembler), αποσφαλματωτή (debugger), αλλά και μια έκδοση του JRE έτσι ώστε να είμαστε σε θέση να τρέχουμε τις δημιουργίες μας.</p><h2>Κατέβασμα και εγκατάσταση του JDK</h2><p>Ας παρακολουθήσουμε λοιπόν αναλυτικά την διαδικασία που πρέπει να ακολουθήσουμε για να κατεβάσουμε και να εγκαταστήσουμε τον JDK στον υπολογιστή μας.</p><p>Αρχικά επισκεπτόμαστε με τον browser μας την ιστοσελίδα <a
href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a> και αφού βρούμε την τελευταία έκδοση του JDK (τη συγκεκριμένη στιγμή που γράφεται αυτό το βοήθημα είναι η «JDK 6 Update 16»), κάνουμε κλικ στο ‘Download’ που βρίσκεται στα δεξιά του. Προτείνω να κατεβάσουμε μόνο το JDK, χωρίς οποιαδήποτε άλλα πρόσθετα.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1391" title="jdk-inst01" src="http://static.greektuts.net/uploads/2009/09/jdk-inst01.png" alt="jdk-inst01" width="550" height="516" /></p></blockquote><p>Στη συνέχεια, θα επιλέξουμε την πλατφόρμα μας (για παράδειγμα Windows), και αφού διαβάσουμε και συμφωνήσουμε με τους όρους χρήσης, τικάρουμε το κουτάκι και προχωράμε με το ‘continue’.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1392" title="jdk-inst02" src="http://static.greektuts.net/uploads/2009/09/jdk-inst02.png" alt="jdk-inst02" width="550" height="353" /></p></blockquote><p>Το αρχείο για το λειτουργικό που επιλέξαμε πιο πριν είναι έτοιμο για κατέβασμα. Όπως βλέπεις στην παρακάτω εικόνα, ένα κλικ στο .exe είναι αυτό που χρειάζεται για να ξεκινήσει να κατεβαίνει στον υπολογιστή μας.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1393" title="jdk-inst03" src="http://static.greektuts.net/uploads/2009/09/jdk-inst03.png" alt="jdk-inst03" width="550" height="362" /></p></blockquote><p
align="center">Τώρα αποθηκεύουμε το αρχείο κάπου στον υπολογιστή μας, ακριβώς όπως αποθηκεύουμε οποιοδήποτε άλλο αρχείο. Περιμένουμε κάποιο χρόνο μέχρι να κατεβεί, και αυτό θα εξαρτηθεί ανάλογα με την ταχύτητα της σύνδεσης μας.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1394" title="jdk-inst04" src="http://static.greektuts.net/uploads/2009/09/jdk-inst04.png" alt="jdk-inst04" width="400" height="262" /></p></blockquote><p
align="center">Αφού κατεβεί το αρχείο, το βρίσκουμε στον φάκελο που το αποθηκεύσαμε και το εκτελούμε. Στην πρώτη οθόνη, διαβάζουμε τους όρους και αφού συμφωνήσουμε προχωράμε με το ‘Accept’.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1395" title="jdk-inst05" src="http://static.greektuts.net/uploads/2009/09/jdk-inst05.png" alt="jdk-inst05" width="450" height="353" /></p></blockquote><p
align="center">Στη συνέχεια, εδώ δεν χρειάζεται να αλλάξουμε οτιδήποτε. Απλά πατάμε στο ‘Next’..</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1396" title="jdk-inst06" src="http://static.greektuts.net/uploads/2009/09/jdk-inst06.png" alt="jdk-inst06" width="503" height="385" /></p></blockquote><p
align="center">..και περιμένουμε λιγάκι μέχρι να ολοκληρωθεί η διαδικασία.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1397" title="jdk-inst07" src="http://static.greektuts.net/uploads/2009/09/jdk-inst07.png" alt="jdk-inst07" width="502" height="382" /></p></blockquote><p
align="center">Εδώ τώρα, πρόκειται να εγκατασταθεί η ενσωματωμένη έκδοση του JRE. Έτσι και εμείς, προχωράμε με το ‘Next’..</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1398" title="jdk-inst08" src="http://static.greektuts.net/uploads/2009/09/jdk-inst08.png" alt="jdk-inst08" width="500" height="383" /></p></blockquote><p
align="center">..και περιμένουμε μέχρι να ολοκληρωθεί η διαδικασία.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1399" title="jdk-inst09" src="http://static.greektuts.net/uploads/2009/09/jdk-inst09.png" alt="jdk-inst09" width="507" height="385" /></p></blockquote><p
align="center">Αφού ολοκληρωθεί, τερματίζουμε με το ‘Finish’. Αφού η εγκατάσταση έχει ολοκληρωθεί, μπορούμε να διαγράψουμε το αρχείο που είχαμε κατεβάσει, έτσι ώστε να μην κρατά άσκοπα χώρο στον υπολογιστή μας.</p><blockquote><p
align="center"><img
class="alignnone size-full wp-image-1400" title="jdk-inst10" src="http://static.greektuts.net/uploads/2009/09/jdk-inst10.png" alt="jdk-inst10" width="500" height="380" /></p></blockquote><p>Τώρα λοιπόν μπορούμε να ξεκινήσουμε να προγραμματίζουμε σε Java. Ο πιο άμεσος τρόπος που μπορεί να γίνει αυτό, είναι με το να γράψουμε κώδικα στο notepad, να τον αποθηκεύσουμε σε ένα αρχείο, και στη συνέχεια να το μεταγλωττίσουμε μέσω command line χρησιμοποιώντας τον compiler της Java έτσι ώστε τελικώς να παραχθεί το εκτελέσιμο αρχείο του προγράμματος μας, το οποίο και θα τρέξουμε πάλι μέσω command line. Ποιος όμως θέλει να γράψει κώδικα στο notepad και να πληκτρολογήσει εντολές στο command line; Ειδικά μάλιστα απ’ τη στιγμή που υπάρχει και καλύτερη λύση. Ποια είναι όμως αυτή η καλύτερη λύση;</p><p>Μπορεί η πιο πάνω μέθοδος να ακολουθείτο πριν από μερικές δεκαετίες από τους προγραμματιστές, στην εποχή όμως που ζούμε υπάρχουν πλήρες σουίτες προγραμματισμού (IDE), μέσα απ’ τις οποίες ο προγραμματιστής χειριζόμενος ένα γραφικό περιβάλλον μπορεί πιο εύκολα να δημιουργεί μεγάλα projects, να τα αποσφαλματώνει, να τα μεταγλωττίζει και να τα τρέχει με μεγάλη ευκολία. Επίσης η συγγραφή κώδικα καθιστάτε αρκετά πιο άνετη διαδικασία, αφού αυτές οι σουίτες προσφέρουν πολλές ευκολίες.</p><p>Στο επόμενο μέρος λοιπόν, θα γνωρίσουμε την δωρεάν σουίτα που πρόκειται να χρησιμοποιούμε σε αυτή τη σειρά μαθημάτων, και θα την εγκαταστήσουμε μαζί βήμα-βήμα έτσι ώστε να είμαστε έτοιμοι να ξεκινήσουμε να γράφουμε κώδικα.</p><p>Θα τα πούμε και πάλι σύντομα.</p><p
align="center"> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/java-part-2/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Eclipse Galileo: Δημιουργώντας το «Απόλυτο» Περιβάλλον Προγραμματισμού &#8211; Mέρος A</title><link>http://greektuts.net/eclipse-galileo/</link> <comments>http://greektuts.net/eclipse-galileo/#comments</comments> <pubDate>Sun, 20 Sep 2009 12:19:52 +0000</pubDate> <dc:creator>krap</dc:creator> <category><![CDATA[Java]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[Galileo]]></category> <category><![CDATA[IDE]]></category> <category><![CDATA[Περιβάλλον Προγραμματισμού]]></category> <category><![CDATA[Προγραμματισμός]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=1265</guid> <description><![CDATA[Όλοι οι προγραμματιστές στοχεύουν στο να κατασκευάσουν τη μία και μοναδική εφαρμογή που θα τους λύσει το οικονομικό τους πρόβλημα μια για πάντα. Μέχρις ότου όμως το πετύχουν, θα μπορούσαμε να πούμε πως το βασικότερο μέλημά τους είναι να κάνουν την προγραμματιστική τους ζωή ευκολότερη.]]></description> <content:encoded><![CDATA[<p>Στη σημερινή μας παρουσίαση, θα δούμε πως μπορούμε να αναπτύσσουμε προγράμματα σε κάποιες από τις γνωστότερες γλώσσες προγραμματισμού, κάνοντας χρήση ενός μόνον περιβάλλοντος ανάπτυξης, του Eclipse.<br
/> Στο πρώτο αυτό μέρος του όλου εγχειρήματος θα ασχοληθούμε με την ρύθμιση του Eclipse ώστε να φιλοξενεί προγράμματα σε Java και PHP scripts.</p><h2>Προαπαιτούμενα</h2><p>Για το συγκεκριμένο εγχειρίδιο θα θεωρήσουμε δεδομένη την ύπαρξη ενός Java Developement Kit – JDK. (Στα πλαίσια του παραδείγματος χρησιμοποιούμε το JDK 6 update 16 το οποίο μπορείτε να κατεβάσετε δωρεάν από <a
href="https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u16-oth-JPR@CDS-CDS_Developer" target="_blank">εδώ</a>. Αποφύγετε να κατεβάσετε την έκδοση για 64bit διότι μπορεί η διαδικασία εγκατάστασης του Eclipse να διαφέρει από αυτήν που περιγράφουμε παρακάτω)</p><h2>Eclipse Galileo</h2><p>Παρακάτω θα σας δείξουμε πώς να εγκαταστήσετε την έκδοση Galileo του Eclipse. Όπως ήδη πολλοί από εσάς μπορεί να γνωρίζουν το Eclipse αποτελεί μια από τις γνωστότερες σουίτες προγραμματισμού και διατίθεται δωρεάν.</p><h2>Εγκατάσταση του Eclipse Galileo</h2><p>Επισκεπτόμαστε το www.eclipse.org/ και ακολουθούμε τον σύνδεσμο «Download Eclipse» όπως φαίνεται παρακάτω.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1274 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image001.png" alt="image001" width="600" height="389" /></p></blockquote><p>Στη σελίδα που εμφανίζεται επιλέγουμε την έκδοση που μας ενδιαφέρει και ανάλογα με το λειτουργικό σύστημα που χρησιμοποιούμε κάνουμε κλικ στον κατάλληλο σύνδεσμο στα δεξιά. (Στα πλαίσια του παρόντος οδηγού θα ασχοληθούμε με την έκδοση «Eclipse IDE for Java Developers» ενώ η εγκατάσταση θα γίνει σε λειτουργικό σύστημα Windows).</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1275 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image002.png" alt="image002" width="600" height="442" /></p></blockquote><p>Αν όλα πήγαν καλά, αφότου ολοκληρωθεί η λήψη του πακέτου πρέπει να έχει φθάσει στον υπολογιστή μας ένα αρχείο με όνομα «eclipse-java-galileo-win32.rar». Αποσυμπιέζοντάς το προκύπτει ένας φάκελος με όνομα «eclipse» που περιέχει την εφαρμογή σε εκτελέσιμη μορφή.<br
/> Μετακινούμε τον φάκελο όπου μας βολεύει (π.χ. C:\Program Files\) και στη συνέχεια τον ανοίγουμε και κάνουμε διπλό κλικ στο «eclipse.exe».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1276 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image003.png" alt="image003" width="600" height="502" /></p></blockquote><p>Πριν ανοίξει η κυρίως εφαρμογή καλούμαστε να επιλέξουμε τον φάκελο που θα χρησιμοποιεί το eclipse ως χώρο εργασίας (για να αποθηκεύει δηλαδή τα διάφορα projects μας). Δεν υπάρχει κάποιος περιορισμός ωστόσο πολλοί επιλέγουν να το δημιουργήσουν μέσα στον φάκελο του eclipse (στην περίπτωσή μας δηλαδή C:\Program Files\eclipse\workspace). Αν δεν θέλετε να ερωτάσθε κάθε φορά που ανοίγετε το Eclipse θα πρέπει να επιλέξετε το checkbox «Use this as the default and do not ask again».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1277 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image004.png" alt="image004" width="600" height="411" /></p></blockquote><p>Μετά από αυτό η κύρια οθόνη του eclipse εμφανίζεται.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1278 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image005.png" alt="image005" width="600" height="431" /></p></blockquote><p>Σε αυτό το σημείο η εγκατάσταση του Eclipse Galileo έχει ολοκληρωθεί.</p><h2>Δημιουργώντας το πρώτο μας Java πρόγραμμα με το Eclipse</h2><p>Ξεκινάμε δημιουργώντας ένα καινούριο Java Project (π.χ. TestEclipseJava).</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1279 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image006.png" alt="image006" width="600" height="431" /></p></blockquote><p>Δίνουμε ένα όνομα στο Project και επιλέγουμε «Next»</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1280 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image007.png" alt="image007" width="533" height="763" /></p></blockquote><p>Στην επόμενη οθόνη επιλέγουμε «Finish»</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1281 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image008.png" alt="image008" width="533" height="763" /></p></blockquote><p>Όπως μπορούμε να δούμε έχουμε επιστρέψει στο κεντρικό παράθυρο στο οποίο έχει δημιουργηθεί το Project με όνομα TestEclipseJava. Κάνοντας διπλό κλικ επάνω του εμφανίζεται το περιεχόμενό του. Κάνουμε δεξί κλικ στον φάκελο «src» και στη συνέχεια επιλέγουμε New &gt; Class.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1282 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image009.png" alt="image009" width="600" height="433" /></p></blockquote><p>Στο επόμενο παράθυρο ονομάζουμε το πακέτο (main) και την κλάση μας (Main) και αφού ενεργοποιήσουμε το checkbox «public static void main(String [] args)» κάνουμε κλικ στο «Finish».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1283 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image010.png" alt="image010" width="542" height="633" /></p></blockquote><p>Παρατηρούμε ότι έχει δημιουργηθεί η κλάση Main. Το checkbox που επιλέξαμε μας δημιούργησε αυτόματα και την main μέθοδο, που αποτελεί την μέθοδο έναρξης του project μας. Τώρα το μόνο που μένει είναι να γράψουμε ένα μικρό κομμάτι κώδικα για να τεστάρουμε ότι μεταγλωττίζεται σωστά. Ας προσθέσουμε μέσα στην main μέθοδο την ακόλουθη εντολή:</p><pre lang="java">System.out.println(“Programming Java is fun w/ Eclipse IDE”);</pre><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1284 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image011.png" alt="image011" width="600" height="431" /></p></blockquote><p>Η παραπάνω εντολή θα τυπώσει, μετά τη μεταγλώττιση, το μήνυμα που υπάρχει μέσα στην παρένθεση.<br
/> Για να μεταγλωττίσουμε («τρέξουμε» σε προγραμματιστική αργκό) το πρόγραμμά μας κάνουμε δεξί κλικ στην κλάση Main &gt; Run As &gt; Java Application.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1285 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image012.png" alt="image012" width="600" height="434" /></p></blockquote><p>Αν τρέχουμε το Eclipse για πρώτη φορά θα δούμε να εμφανίζεται η παρακάτω οθόνη.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1286 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image013.png" alt="image013" width="347" height="455" /></p></blockquote><p>Επιλέξτε την κλάση Main.java αλλά και το «Always save sources before launching» και κατόπιν επιλέξτε ΟΚ</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1287 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image014.png" alt="image014" width="600" height="409" /></p></blockquote><p>Αν όλα πήγαν καλά βλέπετε στην κονσόλα σας ένα μήνυμα αντίστοιχο με αυτό της παραπάνω εικόνας και σας αξίζει μία ζεστή κούπα καφές ή τσάι .</p><h2>Εγκατάσταση εργαλείων PHP για Eclipse</h2><p>Ας διανθίσουμε την υποστήριξη της ολοκαίνουριας εγκατάστασης Eclipse μας με μία scripting γλώσσα αυτή τη φορά, την PHP.<br
/> Όπως και παραπάνω, θα θεωρήσουμε δεδομένη την ύπαρξη ενός διερμηνευτή PHP στο σύστημά μας. Το παρόν εγχειρίδιο χρησιμοποιεί τον διερμηνευτή PHP που βρίσκεται ενσωματωμένος στο πακέτο WAMP server το οποίο διατίθεται δωρεάν <a
href="http://www.wampserver.com/dl.php" target="_blank">εδώ</a>.<br
/> Για την εγκατάσταση του πρόσθετου που εμπεριέχει τα εργαλεία PHP επιλέγουμε από το μενού του Eclipse, Help &gt; Install New Software…</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1288 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image015.png" alt="image015" width="600" height="483" /></p></blockquote><p>Στο πεδίο Work with: επιλέγουμε &#8211; - All available sites &#8211; - .</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1289 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image016.png" alt="image016" width="600" height="481" /></p></blockquote><p>Αφότου φορτωθούν όλα τα διαθέσιμα πακέτα, ανοίγουμε το πακέτο «Programming Languages».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1290 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image017.png" alt="image017" width="600" height="516" /></p></blockquote><p>Κατόπιν χρησιμοποιώντας το βελάκι στα αριστερά, από τα περιεχόμενά του επιλέγουμε «PHP Development Tools (PDT) SDK Feature».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1291 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image018.png" alt="image018" width="600" height="516" /></p></blockquote><p>Επιλέγουμε «Next» στην επόμενη οθόνη</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1292 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image019.png" alt="image019" width="600" height="516" /></p></blockquote><p>Και τελικά φθάνουμε στην παρακάτω οθόνη στην οποία επιλέγουμε «Finish» αφότου αποδεχθούμε την άδεια εγκατάστασης επιλέγοντας «I accept the terms of the license agreements»</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1293 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image020.png" alt="image020" width="600" height="516" /></p></blockquote><p>Περιμένουμε να εγκατασταθούν τα πακέτα.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1294 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image021.png" alt="image021" width="600" height="483" /></p></blockquote><p>Όταν τελειώσει η εγκατάσταση το Eclipse θα μας ζητήσει να επανεκκινηθεί. Επιλέγουμε «Yes».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1295 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image022.png" alt="image022" width="532" height="165" /></p></blockquote><p>Το πρόσθετο για προγραμματισμό σε PHP έχει εγκατασταθεί και αφότου κάνουμε ορισμένες ρυθμίσεις μπορούμε να δημιουργήσουμε το πρώτο μας PHP script.<br
/> Εν αρχή ήν οι ρυθμίσεις όμως…<br
/> Από το μενού «Window» του Eclipse επιλέγουμε «Preferences»</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1296 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image030.png" alt="image030" width="600" height="483" /></p></blockquote><p>Στο παράθυρο που εμφανίζεται κάνουμε κλικ στο μενού PHP και κατόπιν στο υπομενού Debug.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1297 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image031.png" alt="image031" width="600" height="523" /></p></blockquote><p>Δίπλα στην επιλογή PHP Executables κάνουμε κλικ στον σύνδεσμο «PHP Executables»</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1298 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image032.png" alt="image032" width="600" height="523" /></p></blockquote><p>Εμφανίζεται ένα παράθυρο το οποίο μας ζητά να δηλώσουμε τον φάκελο στον οποίο βρίσκεται το αρχείο «php.exe», το αρχείο «php.ini» και επίσης να δώσουμε ένα όνομα στο executable που δημιουργούμε. (Στην παρακάτω εικόνα φαίνονται οι κατάλογοι στους οποίους τοποθετεί ο WAMP Server, που χρησιμοποιείται στα πλαίσια του παρόντος οδηγού, τα αρχεία php.exe και php.ini. Άναλογα με την έκδοση και την εκάστοτε εγκατάσταση της PHP οι κατάλογοι αυτοί ενδέχεται να διαφέρουν).</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1299 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image034.png" alt="image034" width="576" height="429" /></p></blockquote><p>Επιλέγουμε «Finish» και εμφανίζεται το παράθυρο με δηλωμένο το καινούριο executable.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1300 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image035.png" alt="image035" width="600" height="483" /></p></blockquote><h2>Δημιουργώντας το πρώτο μας PHP script με το Eclipse</h2><p>Αρχικά δημιουργούμε ένα καινούριο Project. Επειδή όμως δεν θέλουμε ένα Java Project, αλλά ένα PHP Project επιλέγουμε Project αντί Java Project όπως φαίνεται παρακάτω.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1301 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image023.png" alt="image023" width="600" height="483" /></p></blockquote><p>Στο παράθυρο που εμφανίζεται επιλέγουμε «PHP Project»</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1302 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image024.png" alt="image024" width="525" height="500" /></p></blockquote><p>Δίνουμε ένα όνομα στο Project μας (π.χ. TestEclipsePHP) και επιλέγουμε «Next»</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1303 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image025.png" alt="image025" width="542" height="763" /></p></blockquote><p>Στην επόμενη οθόνη που εμφανίζεται επιλέγουμε την καρτέλα «Libraries», επιλέγουμε το «PHP Language Library» και κάνουμε κλικ στο «Remove» στα δεξιά. Επιλέγουμε «Next» για να συνεχίσουμε.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1304 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image027.png" alt="image027" width="542" height="763" /></p></blockquote><p>Επιλέγουμε «Νext» χωρίς να κάνουμε κάποια αλλαγή.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1305 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image028.png" alt="image028" width="542" height="763" /></p></blockquote><p>Φθάνουμε στο τελικό παράθυρο στο οποίο και επιλέγουμε «Finish».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1306 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image029.png" alt="image029" width="542" height="763" /></p></blockquote><p>Το Project μας δημιουργείται και τοποθετείται ακριβώς κάτω από το Java Project που είχαμε κάνει στο πρώτο μέρος του οδηγού. Κάνουμε δεξί κλικ επάνω του &gt; New &gt; PHP File για να δημιουργήσουμε ένα νέο PHP αρχείο.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1307 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image036.png" alt="image036" width="600" height="482" /></p></blockquote><p>Στην οθόνη που εμφανίζεται ονομάζουμε το αρχείο (π.χ. main.php) και επιλέγουμε «Next».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1308 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image037.png" alt="image037" width="580" height="500" /></p></blockquote><p>Διατηρούμε την επιλογή «New Simple PHP File» και επιλέγουμε «Next».</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1309 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image038.png" alt="image038" width="580" height="500" /></p></blockquote><p>Παρατηρούμε ότι το αρχείο μας δημιουργήθηκε και τώρα μπορούμε να γράψουμε (αισίως!) λίγο κώδικα.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1310 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image039.png" alt="image039" width="600" height="483" /></p></blockquote><p>Προσθέτουμε κάτω από την εντολή &lt;?php τις εντολές:</p><pre lang="php">echo(“Programming PHP using Eclipse is fun”);</pre><p>?&gt;</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1311 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image040.png" alt="image040" width="600" height="483" /></p></blockquote><p>Κάνουμε δεξί κλικ στο main.php &gt; Run As &gt; Run Configurations…</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1312 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image041.png" alt="image041" width="600" height="483" /></p></blockquote><p>Στην οθόνη που εμφανίζεται αποεπιλέγουμε το checkbox «Display debug information when running» και επιλέγουμε «Run». Αυτό το κάνουμε γιατί δεν έχουμε (ακόμη ) σετάρει κάποιον Debugger για PHP μέσω Eclipse.</p><blockquote><p
style="text-align: center"><img
class="size-full wp-image-1313 aligncenter" src="http://static.greektuts.net/uploads/2009/09/image042.png" alt="image042" width="600" height="485" /></p></blockquote><p>Αν η κονσόλα σας λέει «Programming PHP using Eclipse is fun» ή οτιδήποτε άλλο περιλάβατε μέσα στα εισαγωγικά της εντολής echo(“”) σας αξίζει μια δεύτερη κούπα καφές ή τσάι.<br
/> Αυτό ήταν το πρώτο μέρος του οδηγού «Eclipse Galileo: Δημιουργώντας το «απόλυτο» περιβάλλον προγραμματισμού». Μέχρι την επόμενη φορά, να είστε καλά και να προσέχετε τον εαυτό σας.</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/eclipse-galileo/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>
