2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

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

Τύποι δεδομένων, τελεστές, μεταβλητές

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

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

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

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

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

Προγραμματισμός Ι (ΗΥ120)

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

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

Προγραμματισμός Ι (ΗΥ120)

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

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

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

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

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

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

Η γλώσσα προγραμματισμού Strange

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

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

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Προγραμματισμός Ι (HY120)

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

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

ΕΠΛ 012. JavaScripts

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

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

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

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

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

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

Υπολογισμός - Εντολές Επανάληψης

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

a = 10; a = k; int a,b,c; a = b = c = 10;

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 9 Ο. Διαχείριση αλφαριθμητικών και πράξεις σε επίπεδο bit ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΙΝΑΤΚΑΣ Ι.

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

2. Προσδιοριστές, δεσμευμένες λέξεις και τύποι

Προγραμματισμός Η/Υ (ΤΛ2007 )

Η γλώσσα προγραμματισμού C

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Θα εμφανίσει την τιμή 232 αντί της ακριβούς

Transcript:

2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει τη δημιουργία σύνθετων εντολών ή τμημάτων κώδικα, οπουδήποτε μπορεί να τοποθετηθεί μία απλή εντολή. Οι σύνθετες περικλείονται σ ένα ζεύγος αγκίστρων ( ). Ένα χαρακτηριστικό που δεν υπάρχει στην C (υπάρχει όμως στη C++) είναι η δυνατότητα ορισμού μεταβλητών στα τμήματα κώδικα, οι οποίες είναι τοπικές για τις που αποτελούν το τμήμα. 2.2. Σχόλια Η Java υποστηρίζει δύο ειδών σχόλια. Το πρώτο είδος είναι αυτό της γλώσσας C. Τα σχόλια αυτά αποτελούνται από μία ή περισσότερες γραμμές κειμένου και περικλείονται μεταξύ των συμβόλων /* και */. Δεν επιτρέπονται σχόλια μέσα σε άλλα σχόλια. Το δεύτερο είδος σχολίων είναι τα σχόλια γραμμής. Ξεκινούν από οποιοδήποτε μέρος μίας γραμμής με τους χαρακτήρες // και τελειώνουν στο τέλος της γραμμής. 2.3. Τύποι Δεδομένων Οι τύποι στην Java χωρίζονται σε δύο μεγάλες κατηγορίες. Στους τύπους βασικούς ή πρωτογενείς τύπους (primitive) και στους τύπους αναφοράς. -1

2.3.1. Βασικοί τύποι δεδομένων Οι βασικοί τύποι είναι αυτοί που χρησιμοποιεί η Java για την αναπαράσταση θεμελιωδών τύπων όπως οι ακέραιοι, οι πραγματικοί, οι λογικές τιμές κα. Οι οκτώ βασικοί τύποι της Java δίνονται στον ακόλουθο πίνακα. Τύπος Περιγραφή Αρχική Τιμή boolean Λογικές τιμές:true ή false false char Χαρακτήρες:16-bit Unicode '\0' byte Ακέραιος 8-bit 0 short Ακέραιος 16-bit 0 int Ακέραιος 32-bit 0 long Ακέραιος 64-bit 0 float Κινητής υποδιαστολής 32-bit 0.0 double Κινητής υποδιαστολής 64-bit 0.0 2.3.2. Τύποι Αναφοράς Όλοι οι τύποι που δεν είναι βασικοί ονομάζονται τύποι αναφοράς. Σε αυτούς ανήκουν τα αντικείμενα και κατά συνέπεια όλοι οι τύποι δεδομένων που μπορεί να δημιουργήσει ο χρήστης. Στην κατηγορία αυτή ανήκουν και οι τύποι για τις συμβολοσειρές και τους πίνακες, οι οποίοι θεωρούνται από την Java αντικείμενα, αν και η χρήση τους μοιάζει πολύ με αυτών της C. Όταν μία μεταβλητή τύπου αναφοράς δεν αναφέρεται σε κανένα αντικείμενο τότε περιέχει την τιμή null. 2.4. Δηλώσεις Μεταβλητών Οι δηλώσεις μεταβλητών στην Java γίνονται όπως και στην C. Η σύνταξη για την δήλωση μίας ή περισσότερων μεταβλητών ενός συγκεκριμένου τύπου είναι: Όνομα_Τύπου Λίστα_Ονομάτων_Μεταβλητών; όπου η λίστα μεταβλητών είναι ονόματα μεταβλητών χωρισμένα με κόμμα. Επίσης είναι δυνατόν ταυτόχρονα με τη δήλωση μίας μεταβλητής να έχουμε και απόδοση τιμής όπως στο ακόλουθο παράδειγμα: int a=5, b=3; Τα ονόματα των μεταβλητών μπορούν να ξεκινούν με το χαρακτήρα υπογράμμισης (_), το σύμβολο του δολαρίου ($) ή ένα γράμμα του λατινικού αλφαβήτου. Μετά τον πρώτο χαρακτήρα μπορούν να περιλαμβάνουν οποιοδήποτε γράμμα ή αριθμό. Τα περισσότερα σύμβολα είναι δεσμευμένα για χρήση από την Java, οπότε καλό είναι να μην χρησιμοποιούνται. Η Java όπως και η C κάνει διάκριση μεταξύ πεζών και κεφαλαίων χαρακτήρων. Η εκχώρηση τιμής σε μεταβλητή ακολουθεί τη συνήθη έκφραση: Όνομα_Μεταβλητής = Τιμή; -2

υπάρχει όμως και η δυνατότητα απόδοσης της ίδιας τιμής σε πολλές μεταβλητές ταυτόχρονα με την έκφραση: Μεταβλητή1 = Μεταβλητή2 =... = ΜεταβλητήΝ = Τιμή; 2.5. Τελεστές Οι τελεστές της Java είναι ίδιοι και λειτουργούν με τον ίδιο τρόπο με αυτούς της C. Η σημασία τους εξηγείται στους πίνακες που ακολουθούν: ΤΕΛΕΣΤΕΣ ΑΡΙΘΜΗΤΙΚΩΝ ΠΡΑΞΕΩΝ Τελεστής Ερμηνεία Παράδειγμα + Πρόσθεση 3 + 5 - Αφαίρεση 3 5 * Πολλαπλασιασμός 3 * 5 / Διαίρεση 3 / 5 % Υπόλοιπο Ακέραιας Διαίρεσης 40 % 6 ΤΕΛΕΣΤΕΣ ΕΚΧΩΡΗΣΗΣ ΤΙΜΗΣ Τελεστής Ερμηνεία Παράδειγμα = Εκχώρηση τιμής x=y += Πρόσθεση και εκχώρηση x+=y (x=x+y) -= Αφαίρεση και εκχώρηση x-=y (x=x-y) *= Πολ/μός και εκχώρηση x*=y (x=x*y) /= Διαίρεση και εκχώρηση x/=y (x=x/y) ++ Πρόσθεση κατά 1 x++ (x=x+1) -- Αφαίρεση κατά 1 x -(x=x-1) ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Τελεστής Ερμηνεία Παράδειγμα == Ίσο a == b!= Διάφορο a!= b < Μικρότερο a < b > Μεγαλύτερο a > b <= Μικρότερο ή Ίσο a <= b >= Μεγαλύτερο ή Ίσο a >= b -3

ΛΟΓΙΚΟΙ ΤΕΛΕΣΤΕΣ Τελεστής Ερμηνεία Παράδειγμα && AND a && b OR a b! NOT!a ΤΕΛΕΣΤΕΣ ΚΑΤΑ ΔΥΑΔΙΚΟ ΨΗΦΙΟ (BITWISE) Τελεστής Ερμηνεία Παράδειγμα & Bitwise AND a & b Bitwise OR a 3 ^ Bitwise XOR a ^ b << Ολίσθηση Αριστερά a << 2 >> Ολίσθηση Δεξιά a >> 3 ~ Bitwise Συμπλήρωμα ~a Οι παραπάνω τελεστές συνδυάζονται και με τον τελεστή = για ταυτόχρονη εκχώρηση τιμής. Π.χ. a & = 5; ΑΛΛΟΙ ΤΕΛΕΣΤΕΣ Τελεστής Ερμηνεία () Ομαδοποίηση Εκφράσεων. Πρόσβαση σε μεθόδους και μεταβλητές αντικειμένων [] Πίνακες instanceof Εύρεση αν ένα αντικείμενο προκύπτει από μία κλάση. new Δημιουργία νέου αντικειμένου (type) Μετατροπή τύπου?: Υπό συνθήκη εκτέλεση εντολής ΠΡΟΤΕΡΑΙΟΤΗΤΑ ΤΕΛΕΣΤΩΝ. [] () ++ --! ~ instanceof new (type)έκφραση * / % + - << >> < > <= >= ==!= & ^ -4

! &&?: = += -= *= /= %= ^= &=!= <<= >>= 2.6. Εντολές Λήψης Αποφάσεων 2.6.1. Τελεστής υπό-συνθήκη μεταβλητή = συνθήκη? έκφραση1 : έκφραση2 Αν η συνθήκη είναι αληθής τότε η μεταβλητή παίρνει την τιμή της έκφρασης1, αλλιώς την τιμή της έκφρασης2. 2.6.2. if - else Η εντολή if else είναι παρόμοια με αυτή της γλώσσας C. Όπως και εκεί το else είναι προαιρετικό, ενώ αν χρειάζεται να συμπεριλάβουμε πολλές τις βάζουμε μέσα σε άγκιστρα. Η σύνταξη της εντολής είναι η ακόλουθη: if (συνθήκη) εντολή else εντολή 2.6.3. switch Στην περίπτωση που η επιλογή που γίνεται δεν καθορίζεται από κάποια λογική συνθήκη, αλλά από μία ακέραια τιμή, μπορούμε να χρησιμοποιήσουμε την εντολή switch. Η σύνταξή της είναι: switch (έκφραση) case τιμή1: break; case τιμή2; break;... case τιμήν; break; default: -5

2.7. Εντολές Ανακύκλωσης 2.7.1. Η εντολή for Η ανακύκλωση for, όπως και στη C επαναλαμβάνει μία εντολή ή ομάδα εντολών μέχρις ότου να ικανοποιηθεί μία συνθήκη. Η σύνταξή της είναι: for (αρχική_τιμή;συνθήκη;μεταβολή) 2.7.2. Η εντολή while Η ανακύκλωση while χρησιμοποιείται για την επανάληψη μίας εντολής ή ομάδας εντολών για όσο μία συνθήκη είναι αληθής. Ο έλεγχος της συνθήκης γίνεται στην αρχή και γι αυτό το λόγο μπορεί οι να μην εκτελεσθούν καμία φορά. while (συνθήκη) 2.7.2. Η εντολή do-while Η ανακύκλωση do-while χρησιμοποιείται όπως και η while, μόνο που εδώ ο έλεγχος της συνθήκης γίνεται στο τέλος. Αυτό σημαίνει ότι οι θα εκτελεσθούν τουλάχιστον μία φορά. do while (συνθήκη); 2.8. Συμβολοσειρές Οι συμβολοσειρές στην Java υλοποιούνται μέσω του αντικειμένου String. Παρόλο που η δήλωση μίας συμβολοσειράς συνεπάγεται τη δημιουργία ενός νέου αντικειμένου, δεν είναι απαραίτητη η χρήση του τελεστή new κατά τη δήλωση. Έτσι μπορούμε να χρησιμοποιήσουμε την έκφραση: String Όνομα; Σε μία μεταβλητή τύπου String μπορούμε να δώσουμε τιμή όπως και σε κάθε άλλη μεταβλητή χρησιμοποιώντας τον τελεστή =. Επιπλέον μπορούμε να χρησιμοποιούμε τον τελεστή + για να συνενώνουμε συμβολοσειρές. Εκτός από αυτά, το αντικείμενο String έχει και πολλές μεθόδους για τον έλεγχο και την τροποποίηση των αλφαριθμητικών. Οι κυριότερες είναι οι ακόλουθες: -6

length(): Επιστρέφει το μήκος μίας συμβολοσειράς. charat(θέση): Επιστρέφει το χαρακτήρα που βρίσκεται στη συγκεκριμένη θέση της συμβολοσειράς. indexof(χαρακτήρας συμβολοσειρά): Επιστρέφει την θέση της πρώτης εμφάνισης του χαρακτήρα ή της συμβολοσειράς στο String. Αν ο χαρακτήρας δεν υπάρχει θα επιστρέψει την τιμή -1. lastιndexof(χαρακτήρας συμβολοσειρά): Επιστρέφει την θέση της τελευταίας εμφάνισης του χαρακτήρα ή της συμβολοσειράς στο String. Αν ο χαρακτήρας δεν υπάρχει θα επιστρέψει την τιμή -1. substring(αρχή[,τέλος]): Επιστρέφει το τμήμα του string από τις θέσεις αρχή έως τέλος-1. Αν δεν δοθεί τέλος θεωρείται το τέλος του string. startswith(συμβολοσειρά): Επιστρέφει true αν το string μας ξεκινά με τη συμβολοσειρά των παρενθέσεων. endswith(συμβολοσειρά): Επιστρέφει true αν το string μας τελειώνει με τη συμβολοσειρά των παρενθέσεων. equals(συμβολοσειρά): Επιστρέφει true ή false ανάλογα με το αν το string είναι ίδιο με αυτό της παραμέτρου. compareto(συμβολοσειρά): Συγκρίνει δύο συμβολοσειρές με τη μέθοδο που ακολουθεί η strcmp της C. Επιστρέφει ακέραιο μικρότερο από το 0 αν το string προηγείται αυτού που είναι στις παρενθέσεις, 0 αν είναι ίδια και ακέραιο μεγαλύτερο του 0 αν η συμβολοσειρά στις παρενθέσεις προηγείται του string. equalsignorecase(string): Το ίδιο με το προηγούμενο χωρίς να κάνει διάκριση μεταξύ πεζών και κεφαλαίων. touppercase(): Επιστρέφει το string με κεφαλαίους χαρακτήρες. tolowercase(): Επιστρέφει το string με πεζούς χαρακτήρες. Το ακόλουθο πρόγραμμα δημιουργεί μία συμβολοσειρά με το όνομα s και δοκιμάζει σε αυτήν τις μεθόδους που αναφέραμε πιο πάνω. Στη συνέχεια δίνεται και η έξοδος του προγράμματος: class strtest public static void main(string args[]) String s; s="hello There."; System.out.println(s); s=s+" How do you like Java?"; System.out.println(s); System.out.println(s.length()); System.out.println(s.charAt(10)); -7

System.out.println(s.indexOf("lo")); System.out.println(s.lastIndexOf('e')); System.out.println(s.substring(3,7)); System.out.println(s.startsWith("Hel")); System.out.println(s.endsWith("eva")); System.out.println(s.equals("abc")); System.out.println(s.compareTo("abc")); System.out.println(s.toUpperCase()); System.out.println(s.toLowerCase()); Hello There. Hello There. How do you like Java? 34 e 3 27 lo T true false false -25 HELLO THERE. HOW DO YOU LIKE JAVA? hello there. how do you like java? 2.9. Πίνακες Οι πίνακες στην Java, όπως και στις άλλες γλώσσες προγραμματισμού είναι ένα σύνολο από στοιχεία του ίδιου τύπου, με κοινό όνομα, που ξεχωρίζουν μεταξύ τους βάσει ενός δείκτη. Στην Java όμως οι πίνακες είναι και αντικείμενα και μπορούμε να τους αντιμετωπίσουμε όπως και οποιοδήποτε άλλο αντικείμενο δημιουργούμε. Τα στοιχεία από τα οποία αποτελείται ένας πίνακας μπορούν να είναι αντικείμενα ή μεμονωμένοι τύποι. Η δήλωση ενός πίνακα στην Java ακολουθεί την εξής σύνταξη: Τύπος_Στοιχείων Όνομα[]; Πχ.: String names[]; int numbers[]; float tempr[]; -8

Ωστόσο, επειδή όπως είπαμε οι πίνακες είναι αντικείμενα, δεν αρκεί μονάχα αυτή η δήλωση για να χρησιμοποιήσουμε ένα πίνακα. Θα πρέπει να χρησιμοποιήσουμε τον τελεστή new για να δημιουργηθεί ο πίνακας και να καθορίσουμε το πόσα στοιχεία θα περιέχει. Για να γίνει αυτό γράφουμε: Όνομα = new Τύπος_Στοιχείων[Πλήθος]; έχοντας υπόψη ότι ο τύπος των στοιχείων θα πρέπει να είναι ίδιος με αυτόν στη δήλωση του πίνακα. Τα στοιχεία του πίνακα αριθμούνται από το 0 έως το Πλήθος-1, όπως γίνεται και στη γλώσσα C. Πχ. names = new String[15]; numbers = new int[10]; Φυσικά οι δύο αυτές δηλώσεις μπορούν να γραφούν σε μία γραμμή χρησιμοποιώντας την ακόλουθη σύνταξη: Τύπος_Στοιχείων Όνομα[] = new Τύπος_Στοιχείων[Πλήθος]; Πχ.: String names[] = new String[15]; int numbers[] = new int[10]; Ένας άλλος τρόπος δήλωσης ενός πίνακα είναι με απευθείας παράθεση των στοιχείων του. Στην περίπτωση αυτή δεν χρειάζεται να χρησιμοποιήσουμε τον τελεστή new πρέπει όμως να περικλείσουμε τα στοιχεία του πίνακα σε άγκιστρα, χωρίζοντάς τα με κόμματα, όπως φαίνεται στη συνέχεια: Τύπος_Στοιχείων Όνομα[]=Στοιχείο1,Στοιχείο2,...,ΣτοιχείαΝ; Πχ.: int numbers[] = 4,6,2,5,8; Η αναφορά στα στοιχεία του πίνακα γίνεται όπως και στις άλλες γλώσσες προγραμματισμού, δηλαδή γράφουμε το όνομα το πίνακα και μέσα σε αγκύλες το δείκτη. Δείκτης που βρίσκεται έξω από τα όρια του πίνακα θα προκαλέσει εξαίρεση (exception), δηλ. ένα είδος σφάλματος το οποίο μπορεί ο χρήστης να παγιδεύσει και να το αντιμετωπίσει. Επίσης σε κάθε πίνακα υπάρχει η ιδιότητα length με την οποία μπορούμε να βρούμε το μέγεθος σε θέσεις του πίνακα έτσι ώστε να αποφεύγονται τέτοια λάθη. Η έκφραση που μας δίνει το μήκος του πίνακα είναι η Όνομα.length που χρησιμοποιείται και στο παράδειγμα που δίνεται στη συνέχεια. class arrtest public static void main(string args[]) int i; int num[]; -9

num = new int[10]; System.out.println("Array has "+num.length+" Elements"); for (i=0; i<10; i++) num[i]=2*i; System.out.println(num[i]); Array has 10 Elements 0 2 4 6 8 10 12 14 16 18-10