Εισαγωγή στη Java (Μέρος Α’)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Advertisements

ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα.
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors, equals, toString Αντικείμενα ως παράμετροι.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
ΣΥΝΑΡΤΗΣΕΙΣ.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Εισαγωγή στη JAVΑ (μέρος Α’)
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Copy Constructor Deep and Shallow Copies.
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Tomcat Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Applets Εκτελούνται από τον appletviewer και από Java enabled web browsers Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη.
ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 4: Συμβολοσειρές και Δομές Ελέγχου. Διδάσκων: Νικόλαος Θ Λιόλιος,
Βασικά στοιχεία της Java
Κεφάλαιο 3 Τύποι Δεδομένων - Τελεστές. Πρωτογενείς τύποι δεδομένων: int, float, double, chars ΤύποςΌνομαΜέγεθος byte 8-bit signed, short 16-bit.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Εισαγωγή στη Java (Μέρος B’) Για όσους γνωρίζουν C++ Βασίλης Στούμπος
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 6: Πίνακες και Παράμετροι στην main. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 8: Κατασκευαστές. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα.
Αντικειμενοστραφής Προγραμματισμός Ι
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 10: Αφηρημένες τάξεις. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Πίνακες στην JAVA ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Διαφάνειες: ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ Προσαρμογή 2014: Κώστας Στάμος)
ΟΣΣ2 - 4 Δεκεμβρίου 2005 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στον Προγ/μό Η/Υ
Αντικειμενοστραφής Προγραμματισμός Ι
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Δεδομένα, μεταβλητές, υπολογισμοί
Προγραμματισμός Διαδικτύου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Δομές διακλάδωσης, επαναλήψεις, μέθοδοι
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Εισαγωγή στον Προγ/μό Υπολογιστών
Εισαγωγή στη Java Χαρακτηριστικά της Java Εργαλεία της Java
Κεφάλαιο 10 Streams.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Διάλεξη #10: Εκτέλεση Java χωρίς το BlueJ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Εισαγωγή στη Java (Μέρος Α’) Για όσους γνωρίζουν C++ Βασίλης Στούμπος stoumpos@di.uoa.gr

Περιγραφή Παρουσίασης Πληροφορίες για τη Java Δομή Προγραμμάτων Χαρακτηριστικά Γλώσσας Αντικειμενοστραφές Μοντέλο στη Java Διαχείριση Μνήμης Εξαιρέσεις (Exceptions) Συγχρονισμός (Synchronization) 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Περιγραφή Παρουσίασης Πληροφορίες για τη Java Εκδόσεις. Αρχιτεκτονική. Πηγές. Δομή Προγραμμάτων Χαρακτηριστικά Γλώσσας Αντικειμενοστραφές Μοντέλο στη Java Διαχείριση Μνήμης Εξαιρέσεις (Exceptions) Συγχρονισμός (Synchronization) 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Η Java είναι προϊόν της Sun Microsystems. Πρώτη έκδοση της Java το 1995. Το 1997 η πρώτη έκδοση της Java 2, που χρησιμοποιούμε σήμερα. Γιατί μία ακόμα γλώσσα; Αρχικά στόχος ήταν οι εφαρμογές Διαδίκτυου. Στη συνέχεια ο στόχος μεταφέρθηκε στις εφαρμογές επιχειρήσεων. 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Η Sun λέει: “Compile once, write everywhere”. Όλα τα Java προγράμματα εκτελούνται στην Ιδεατή Μηχανή (Virtual Machine – VM). Η VM διατίθεται σε πολλές πλατφόρμες και σε πολλές μορφές: Java {Standard,Enterprise,Micro} Edition… … for {Windows, Solaris, Linux, FreeBSD…} 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Γενικές Πληροφορίες και Ενημέρωση Java Home: http://java.sun.com Java Developers: http://developer.java.sun.com Java Apache: http://java.apache.org Βιβλία, Βοηθήματα κλπ. The Java Tutorial: http://java.sun.com/docs/books/tutorial/ Thinking in Java: http://bruceeckel.com Διάφορα: http://developer.java.sun.com/onlineTutorials/ 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Περιγραφή Παρουσίασης Πληροφορίες για τη Java Δομή Προγραμμάτων Το “hello world” πρόγραμμα. Συμβάσεις ονοματολογίας. Μεταγλώττιση και εκτέλεση. Άλλα εργαλεία: javadoc, jar, jdb και javap Java Applets. Χαρακτηριστικά Γλώσσας Αντικειμενοστραφές Μοντέλο στη Java Διαχείριση Μνήμης … 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Συμβάσεις Ονομάτων (αρχεία) Οργανώνουμε τις κλάσεις σε αρχεία. Κάθε αρχείο περιέχει μόνο μία public κλάση. Το όνομα του αρχείου είναι ίδιο με αυτό της public κλάσης του (case sensitive). Η επέκταση του αρχείου είναι «.java». 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Συμβάσεις Ονομάτων (πακέτα) Οι κλάσεις μπορούν να ανήκουν σε ένα πακέτο. Όλες οι κλάσεις σε ένα αρχείο ανήκουν στο ίδιο πακέτο. Ένα πακέτο μπορεί να περιέχει άλλα πακέτα. Το πακέτο δηλώνεται στην πρώτη γραμμή του αρχείου με package <package name>; Αν δοθεί όνομα πακέτου, τότε το αρχείο πρέπει να βρίσκεται σε κατάλογο με το ίδιο όνομα (case sensitive). 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Πρόγραμμα “Hello World!” public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello World!”); } Κάθε μέθοδος ανήκει σε μία κλάση. Το πρόγραμμα αρχίζει να εκτελείται από την main μέθοδο (public static void). Οι παράμετροι της γραμμής εντολών περνούν στην μεταβλητή args. Δεν επιστρέφεται τιμή στο περιβάλλον. 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Μεταγλώττιση και Εκτέλεση Μεταγλωττίζουμε κλάσεις, όχι προγράμματα με το εργαλείο javac. Εκτελούμε κλάσεις για να ξεκινήσουμε πρόγραμμα. $ javac HelloWorld.java $ ls HelloWorld.class HelloWorld.java $ java HelloWorld Hello World! $ Η κλάση που εκτελείται πρέπει φυσικά να έχει main … 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Πρόγραμμα “time” package gr.uoa.di.stoumpos.util; //import java.util.*; import java.util.Date; public class SystemTime { public static void main( String[] args) { Date date = new Date(); System.out.println( “System time is “ + date.toString() + “!”); } Χρήση πακέτων Σχόλια Συνένωση συμβολοσειρών 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Μεταγλώττιση και Εκτέλεση Το αρχείο SystemTime.java πρέπει αν είναι στον κατάλογο gr/uoa/di/stoumpos/util. Εκτελούμε την κλάση δίνοντας το πλήρες όνομά της. $ javac gr/uoa/di/stoumpos/util/*.java $ ls gr/uoa/di/stoumpos/util/ SystemTime.class SystemTime.java $ java gr.uoa.di.stoumpos.util.SystemTime System time is Sun May 25 14:28:19 EEST 2003! $ 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Ορισμός Classpath Classpath Κατά την εκτέλεση μιας κλάσης χρησιμοποιούνται άλλες κλάσεις. Οι κατάλογοι που μπορούν να βρεθούν κλάσεις ορίζονται στη μεταβλητή περιβάλλοντος CLASSPATH. Παράδειγμα 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Ορισμός Classpath Classpath Για την VM οι κατάλογοι που μπορούν να βρεθούν κλάσεις ορίζονται στη μεταβλητή περιβάλλοντος CLASSPATH. $ java gr.uoa.di.stoumpos.util.SystemTime Exception in thread "main" java.lang.NoClassDefFoundError: gr/uoa/di/stoumpos/util/SystemTime $ java -classpath . gr.uoa.di.stoumpos.util.SystemTime System time is Sun May 25 14:28:19 EEST 2003! 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Εργαλείο javadoc Στόχος: Αυτόματη δημιουργία τεκμηρίωσης αναφοράς (reference documentation). Κώδικας και τεκμηρίωση στο ίδιο σημείο, άρα πιο εύκολα συγχρονισμένοι. /** * Περιγραφή εδώ… * * @param arg Περιγραφή παραμέτρου. * @return Περιγραφή τιμής επιστροφής */ int foo(String arg, double d); Χρήση Τοποθέτηση javadoc σχολίων στο πρόγραμμα. HTML κέρματα (tags) επιτρέπονται. javadoc <αρχεία> 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Εργαλείο jar Στόχος Σύνδεση κλάσεων, αρχείων κλπ. σε ένα συμπιεσμένο αρχείο. Αρχείο όμοιο με zip. Μπορεί να χρησιμοποιηθεί αυτούσιο στο CLASSPATH. Η ιεραρχία αρχείων είναι σημαντική και πρέπει να διατηρείται. Χρήση Όμοια με του εργαλείου tar (Unix). jar –cvf my-lib.jar <class files> set CLASSPATH=my-lib.jar:\ $CLASSPATH 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Εργαλεία jdb και javap jdb Ο απλος Java αποσφαλματωτής (debuger). Έρχεται με τη Java και μοιάζει με τον gdb για C++. Λειτουργεί σε περιβάλλον κειμένου. Ο ddd έχει γραφικό περιβάλλον για τον jdb. javap Τα class files έχουν κώδικα για τη VM, όχι της πλατφόρμας (native). Bytecodes. Το javap μπορεί να εμφανίσει τα bytecodes. Χρησιμοποιείται είτε για εκπαιδευτικούς σκοπούς είτε για εξέταση παραγόμενου κώδικα. 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Java Applets Τα Java Applets δεν είναι Java προγράμματα! Τα applets: χρησιμοποιούνται σε web εφαρμογές είναι υποκλάσεις της κλάσης java.applet.Applet ή javax.swing.Japplet δεν έχουν main αποτελούν περιεχόμενο web σελίδων και χρησιμοποιούνται από browsers 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Περιγραφή Παρουσίασης Πληροφορίες για τη Java Δομή Προγραμμάτων Χαρακτηριστικά Γλώσσας Τύποι δεδομένων. Μεταβλητές. Πράξεις. Δομές ελέγχου. Πίνακες. Αντικειμενοστραφές Μοντέλο στη Java Διαχείριση Μνήμης … 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Τύποι Δεδομένων στη Java Πρωτογενείς Τύποι (primitives) Ακέραιοι byte (1 byte) short (2 bytes) int (4 bytes) long (8 bytes) Πραγματικοί float (4 bytes) double (8 bytes) Άλλοι τύποι boolean (true/false) char (unicode) Αντικείμενα Ό,τι δεν είναι primitive είναι υποκλάση του java.lang.Object. Παραδείγματα: String HelloWorld Πίνακες Double Mέθοδοι String toString() boolean equals(Object o) 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Μεταβλητές Κοινά με C++ Δηλώσεις, εμβέλεια και αρχικοποίηση μεταβλητών. Σταθερές με final. Αντικείμενα Οι μεταβλητές αντικειμένων είναι πάντα αναφορές στα πραγματικά αντικείμενα. «Κενή» αναφορά με null. final int i = 0; long l = 12; double d = 3.4; float f = 4.7f; String s = “foo”; String copy = s; s =s.toUpperCase(); copy = null; 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Πράξεις Πράξεις κοινές με C++. Αλλαγή τύπου (type casting) μόνο χωρίς «απώλεια πληροφορίας». Αντικείμενα Έλεγχος ισότητας με «==» και «equals». Συνένωση συμβολοσειρών. int i = 42; int j = i; boolean b = i == j; // b == true Integer num = new Integer(3); Integer copy = b1 = num.equals(copy); b2 = (num == copy); // b1 == true != b2 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Δομές Ελέγχου Αντίστοιχα με C++: Επαναλήψεις break και continue. Τύποι! Διακλαδώσεις switch (value) { case 1: //… break; case 2: default: } if (check) { //… } else { } while (!finished) { //… } for (i=0; i<n; i++) { //… } do { //… } while (!finished); 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++

Εισαγωγή στη Java για όσους γνωρίζουν C++ Πίνακες Αρίθμηση όμοια με C++. Ένας πίνακας είναι αντικείμενο. Γνωρίζουμε το μήκος του. Δεν επιτρέπεται να έχουμε αναφορά εκτός ορίων! String[] sArray = null; sArray = new String[10]; for (i=0; i<sArray.length; i++) { sArray[i] = “item “ + i; } // ArrayIndexOutOfBounds !!! stringArray[10] = “foo”; int[][] array = new int[2][]; array[0] = new int[100]; array[1] = new int[23]; 6/11/2018 Εισαγωγή στη Java για όσους γνωρίζουν C++