Java sessions. Part 1 - Βασικά έννοιες - μέθοδοι

Σχετικά έγγραφα
2.1. Εντολές Σχόλια Τύποι Δεδομένων

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

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

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

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

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

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

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

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

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

Δομές ελέγχου ροής προγράμματος

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

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

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

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

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

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

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

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

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

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

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

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

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

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

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

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

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

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Mεταβλητές (variables) και Σταθερές (constants)

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

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

Προγραμματισμός Διαδικτύου

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

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

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

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

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

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

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

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

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

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

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

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

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

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

32-bit signed υποδιαστολής) Double διπλής ακρίβειας 64-bit signed Char unicode character 16-bit Boolean Boolean true or false

ΗΥ-150. Προγραμματισμός

8. Συνθήκες ελέγχου, λογικοί τελεστές

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

ΗΥ-150. Προγραμματισμός

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

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

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

Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με τη Java

. Μεθοδολογία Προγραμματισμού. Εισαγωγή στη Java. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

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

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

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

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

Δομές ελέγχου & επανάληψης

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

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

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

Δεδομένα, τελεστές, είσοδος/έξοδος

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

Διαδικασιακός Προγραμματισμός

ΕΠΛ 012. JavaScripts

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

Transcript:

Java sessions Part 1 - Βασικά έννοιες - μέθοδοι

Ενότητα 1 Η γλώσσα Java

1.1 - Ιστορία Ξεκίνησε το 1995 από τον James Gosling, υπάλληλο της Sun Microsystems Αρχικά ονομάστηκε Oak, αργότερα άλλαξε σε Java Open sourced το 2007 (GPL) Διάφορα implementations Τελευταίες εκδόσεις: Java 7 (2011), Java 8 (2014)

1.2 - Βασικά χαρακτηριστικά Open source γλώσσα Αντικειμενοστραφής (Object oriented) Τα πάντα είναι κλάσεις Το συντακτικό θυμίζει C++ Μεταγλωττίζεται σε ενδιάμεσο επίπεδο (bytecode) Τρέχει μέσα σε Java Virtual Machine Platform independent Write once, run anywhere

1.3 - JVM & bytecode Αρχεία: foo.java foo.class Πρόγραμμα που τρέχει Περιεχόμενο αρχείων: [κώδικας Java]... compiled by JDK [bytecode] executed by JRE [bytecode που εκτελείται]

1.4 - JRE vs JDK JRE (Java Runtime Environment): Εκτελεί τα προγράμματα Java Eγκατεστημένο σε κάθε συσκευή με Java JDK (Java Development Kit): Περιέχει ό,τι χρειαζόμαστε για δημιουργία προγραμμάτων Java π.χ. compiler και Javadoc (Java documentation) χρειάζεται για προγραμματισμό σε Java, αλλά όχι για την εκτέλεση προγραμμάτων

1.5 Development environments γραμμή εντολών (javac) Eclipse NetBeans άλλα λιγότερο δημοφιλή είναι τα: Intellij BlueJ generic text editors (π.χ Geany)

1.6 - Eφαρμογές Ποιες τεχνολογίες υπάρχουν (περιβάλλοντα): Desktop Applications Σε servers Σε browsers Mobile Applications Τι είδους προγράμματα μπορούμε να γράψουμε: Διάφορα (π.χ. Eclipse, Limewire, Minecraft) Java Server Pages(JSP), Servlets Java Applets Android Applications

Ενότητα 2 Βασικά στοιχεία προγραμματισμού

2.1 - Hello World //Αυτό είναι σχόλιο //ακολουθεί το Hello World με κάποια naming conventions public class HelloWorld //Τα ονόματα κλάσεων συνηθίζεται να γράφονται με κεφαλαίο CamelCase { //Block κώδικα (κλάσεις, μέθοδοι, if κτλ) ορίζονται με αγκύλες public static void main(string args[]) { System.out.println( Hello World ); /*Multi-line comment. To System.out είναι το *output stream της Java. H println μέθοδός του *τυπώνει το Hello World στην κονσόλα του *χρήστη.*/ } }

2.2 Τύποι δεδομένων(data types) Υπάρχουν συγκεκριμένοι τύποι δεδομένων στην Java, απλοί (primitive) και σύνθετοι (αντικείμενα). Primitive data types: Όνομα boolean byte short int long float double char Τύπος δυαδικό ακέραιος ακέραιος ακέραιος ακέραιος δεκαδικός δεκαδικός χαρακτήρας Τιμές true, false [-128, 127] [-32K, 32K] [-2 31, 2 31-1] [-2 63, 2 63-1] 32-bit float 64-bit float Unicode char Η γραμματοσειρά String είναι ναι μεν σύνθετη, αλλά χρησιμοποιείται ως απλή.

2.3 Literals Τα Literals αντιπροσωπεύουν τις σταθερές τιμές μέσα στον κώδικα. Στο παρακάτω κομμάτι βλέπουμε μερικά τέτοια literals/τιμές: int: 1, 2, 1337, -15, 0 //απλοί ακέραιοι αριθμοί double: 1.3, 42.0, -5.2, 1.0, 5.678 //απλοί δεκαδικοί αριθμοί boolean: true, false //οι μόνες δύο τιμές char: a, d, ω, ñ, 1, $ //χαρακτήρες (με μονά εισαγωγικά) String: H3llo, sp ace, πάμε, CTC //γραμματοσειρές (με διπλά εισαγωγικά)

2.4 Μεταβλητές Οι μεταβλητές στη Java λειτουργούν όπως και στις περισσότερες γλώσσες προγραμματισμού υπό την έννοια ότι μας επιτρέπουν να αποθηκεύσουμε διάφορες τιμές σε ονομαζόμενες θέσεις στη μνήμη. Οι μεταβλητές ορίζονται ως εξής: [τύπος δεδομένων] αναγνωριστικό(/identifier) = [τιμή της μεταβλητής] ; π.χ: float price = 2.4; int amount = 8; String name = Fischer ;

2.5 Πράξεις Οι βασικές μαθηματικές πράξεις στην Java γίνονται με τη χρήση αριθμητικών τελεστών: + για πρόσθεση, - για αφαίρεση, * για πολλαπλασιασμό, / για διαίρεση, % για ακέραιο υπόλοιπο. Οι τελεστές αυτοί ονομάζονται δυαδικοί διότι χρησιμοποιούνται για δύο τιμές. Για περαιτέρω μαθηματικές πράξεις όπως εξύψωση αριθμού σε δύναμη, εύρεση τετραγωνκής ρίζας χρησιμοποιoύμε την κλάση Math της Java.

2.5.1 Αριθμητικοί Τελεστές Δυαδικοί τελεστές: + - * / % Πρόσθεση Αφαίρεση Πολλαπλασιασμός Διαίρεση Υπόλοιπο Διαίρεσης Μοναδικοί τελεστές + - ++ -- Θετική τιμή Αρνητική Τιμή Αύξηση κατά 1 Μείωση κατά 1

2.5.2 Λογικοί Τελεστές Τελεστές σύγκρισης: Τελεστής ==!= < > <= >= Έννοια Ίσο με Μη ίσο με Μικρότερο από Μεγαλύτερο από Μικρότερο ή ίσο με Μεγαλύτερο ή ίσο με Λογικοί τελεστές: Τελεστής &&! Έννοια Λογικό KAI (AND) Λογικό Η (OR) Λογικό ΟΧΙ (NOT)

2.5.3 Σύντομογραφίες πράξεων Αντί για: x = x+a; μπορούμε να γράψουμε πιο σύντομα: x += a; Παρομοίως, αντί για: x = x*a; μπορούμε να γράψουμε πιο σύντομα: x *= a; κ.ο.κ. Στην ειδική περίπτωση που προσθέτουμε ή αφαιρούμε την ίδια μεταβλητή κατά 1 (x = x+1;, x = x-1;), αρκεί: x++; ή x--; αντίστοιχα.

2.6 Δομές ελέγχου Στην Java οι δομές ελέγχου μας επιτρέπουν να ελέγχουμε τη ροή του προγράμματός μας, μέσω κάποιων συνθηκών. if-then: Η βασικότερη δομή ελέγχου. Ορίζει πως ένα κομμάτι κώδικα θα εκτελεστεί αν και μόνο αν μια συνθήκη είναι αληθής. if-then-else: Μας δίνει τη δυνατότητα να καθορίσουμε δύο ή και περισσότερα πιθανώς εκτελέσιμα τμήματα κώδικα χρησιμοποιώντας αντίστοιχο αριθμό συνθηκών. switch-case: Εδώ η επιλογή του τμήματος κώδικα που θα εκτελεστεί εξαρτάται από την τιμή που θα λάβει ως όρισμα η δομή και θα εξετάσει ανάλογα με τις συνθήκες που έχουμε δώσει.

2.6.1 if-then & if-then-else Δομή if-then: boolean sober = true; int beers = 0; if(sober) { System.out.println( Have a beer! ); beers += 5; sober = false; } Δομή if-then-else: boolean sober = true; int beers = 0; if(sober) { System.out.println( Have a beer! ); beers += 5; sober = false; } else(!sober) { System.out.println( Stop drinking! ); }

2.6.2 Switch-case string result; int points = 3; switch(points) { case 0: result = defeat ; break; case 1: result = tie ; break; case 3: result = victory ; break; default: result = Invalid result ; break; } Μετάφραση σε if-then-else: if (points == 0) { result = defeat ; } else if (points == 1) { result = tie ; } κ.ο.κ

2.7 Δομές επαναλήψεων Στην Java οι δομές επαναλήψεων(/βρόγχων) μας επιτρέπουν να εκτελέσουμε ένα κομμάτι κώδικα πολλές φορές. Οι τρεις δομές επανάληψης που θα δούμε είναι οι: for, για συγκεκριμένο αριθμό επαναλήψεων. Χρησιμοποιείται συχνότερα απ τις υπόλοιπες. while, για επαναλήψεις όσο ισχύει μια συνθήκη. do-while, για επαναλήψεις όσο ισχύει μια συνθήκη, με την διαφορά ότι θα εκτελέσει τουλάχιστον την πρώτη επανάληψη, ακόμα και αν η συνθήκη δεν ισχύει.

2.7.1 For loop 1. Αρχικοποιεί την τιμή 2. Ελέγχει την συνθήκη (αν είναι αληθής, εκτελεί τις εντολές προς επανάληψη, αλλιώς τερματίζει) 3. Μεταβάλλει την τιμή Δομή: Παράδειγμα: for ([δήλωση μεταβλητής(1)]; [συνθήκη(2)]; [μεταβολή τιμής(3)]) for (int i=0; i<10; i++) { { //εντολές προς εκτέλεση System.out.println(i); } }

2.7.2 While loop 1. Ελέγχει την συνθήκη (αν είναι αληθής, εκτελεί τις εντολές προς επανάληψη και ξαναπάει στο [1], αλλιώς τερματίζει) Δομή: Παράδειγμα: while ([συνθήκη]) while (beers<3) { { //εντολές προς εκτέλεση System.out.println( I m okay ); } }

2.7.2 Do-While loop 1. Εκτελεί μία φορά τις εντολές προς επανάληψη. 2. Ελέγχει την συνθήκη (αν είναι αληθής, εκτελεί τις εντολές προς επανάληψη και πάει στο [2], αλλιώς τερματίζει) Δομή: Παράδειγμα: do do { { //εντολές προς εκτέλεση System.out.println( One more! ); } while ([συνθήκη]); }while(beers<3);

2.8 Arrays Arrays, ή μήτρες, είναι μία δομή δεδομένων που αποτελείται από ένα σύνολο μεταβλητών του ίδιου τύπου. Χρησιμοποιόντας έναν δείκτη στην μήτρα, και μια επανάληψη που τον μεταθέτει στο/στα επιθυμητά στοιχεία, μπορούμε να χειριστούμε μεγάλο πλήθος μεταβλητών πιο εύκολα.

2.8.1 Arrays - παράδειγμα int[] array; //δήλωση μεταβλητής array array = new int[3];//δημιουργία νέου array και εκχώρηση στο array //Εναλλακτικά, σε ένα βήμα: int[] array = new array[3] array[0] = 206; // εκχώρηση τιμών στα κελιά του array αντικειμένου. // Οι θέσεις των μητρών ξεκινάνε απ το 0, όχι απ το 1. array[1] = 210; array[2] = 211; System.out.println(array[1]); //εκτυπώνει 210

Ενότητα 3 Μέθοδοι

3.1 Παράδειγμα Παράδειγμα: public int add(int a, int b) { int sum; sum = a+b; return sum; } Δομή: [τελεστής ορατότητας] [τύπος επιστροφής] [όνομα μεθόδου]([παράμετροι]) { //εντολές προς εκτέλεση return [μεταβλητή επιστροφής]; }

3.2 Τύποι μεθόδου & return Οι μέθοδοι στη Java μπορούν να μας επιστρέψουν οποιονδήποτε τύπο δεδομένων, είτε απλό (int, boolean, float), είτε σύνθετο(object, String, array) ή ακόμα και να μην επιστρέψουν κάτι αν είναι τύπου void. Για να γίνει η επιστροφή των δεδομένων θα πρέπει να έχουμε ορίσει τον τύπο της μεθόδου και να χρησιμοποιήσουμε το keyword return. Σε περίπτωση void μεθόδου το return παραλείπεται ή χρησιμοποιείται για να σταματήσει η λειτουργία της μεθόδου.

3.3 Κλήση μεθόδου [όνομα μεθόδου]([παράμετροι]); π.χ. sum(2,3); sayhello(); Με ανάθεση της τιμής επιστροφής: int price = orderbeers(3); //η orderbeers θα πρέπει να είναι επιστρέφει int String name = getname( It s a me );

3.4 Παράμετροι Μια μέθοδος στην Java μπορεί να λάβει καμία, μία ή περισσότερες παραμέτρους. Οι παράμετροι μπορούν να διαφέρουν στον τύπο μεταξύ τους, αλλά και με τη μέθοδο. Η σειρά με την οποία δίνονται οι παράμετροι έχει σημασία και ΔΕΝ αλλάζει. method(int i, String s)!= method(string s, int i) Δε χρειάζεται να ορίσουμε τις παραμέτρους μέσα στη μέθοδο, διότι ορίζονται ήδη μέσα στις παρενθέσεις.

3.5 Υπογραφή μεθόδου Η ταυτότητα ή η υπογραφή(/signature) μιας μεθόδου προκύπτει από: α) Το όνομά της. β) Τον αριθμό και τον τύπο των ορισμάτων της. π.χ. public int drinkbeer(int numofbeers, String brand) { //Υπογραφή μεθόδου: drinkbeer(int, String) } Δεν μπορούμε να έχουμε δύο μεθόδους με την ίδια υπογραφή στην ίδια κλάση (τον ίδιο χώρο ).

3.6 Method overloading Η υπογραφή(/signature) μιας μεθόδου μπορεί να αλλάξει αλλάζοντας μόνο τα ορίσματα. Αυτό μας επιτρέπει να κάνουμε method overloading, δηλαδή να έχουμε πολλές μεθόδους με το ίδιο όνομα. π.χ. public int sum(int a, int b) { return a+b; //Υπογραφή μεθόδου: drinkbeer(int, int) } public float sum(float a, float b) { return a+b; //Υπογραφή μεθόδου: drinkbeer(float, float) }

Ενότητα 4 Κλείσιμο

4.1 Τί μάθαμε Περί Java JVM, bytecode JRE και JDK Βασικά στοιχεία προγραμματισμού Μεταβλητές και πράξεις Διακλάδωση (if/then/else) Επανάληψη (for, while, do-while) Μεθόδους Σύνταξη μεθόδου, oρίσματα Υπογραφή μεθόδου Method overloading

4.20 Τι θα δούμε στην συνέχεια Επόμενο session (Θέμα: Αντικειμενοστρέφεια): Κλάσεις Αντικείμενα Κληρονομικότητα Interfaces Packages Αργότερα (μέχρι το Ludum Dare): I/O Γραφικά Βασικό game development Προτάσεις; :)

Απορίες; Ευχαριστούμε :)