Ασκήσεις και παραδείγματα σε Java από το πρόγραμμα Coding Factory 9 του Οικονομικού Πανεπιστημίου Αθηνών (AUEB).
Αυτό το repository περιέχει 150+ ασκήσεις και παραδείγματα σε Java, οργανωμένα ανά κεφάλαιο, που καλύπτουν θέματα από τα βασικά της γλώσσας μέχρι προχωρημένα concepts του αντικειμενοστρεφούς προγραμματισμού. Τα αρχεία δημιουργήθηκαν κατά τη διάρκεια του προγράμματος Coding Factory 9 (CF9) του AUEB.
src/
├── Main.java # Entry point
└── gr/aueb/cf/cf9/
├── ch1/ – Εισαγωγή στη Java (Hello World, βασικές πράξεις)
├── ch2/ – Τύποι δεδομένων & μεταβλητές (Scanner, typecasting, μετατροπές)
├── ch3/ – Δομές ελέγχου — if/else, ternary, while loops
├── ch4/ – For loops, switch statements & expressions
├── ch5/ – Μέθοδοι (overloading, recursion, factorial, power)
├── ch6/ – Πίνακες (arrays, sorting, searching, stacks, queues)
├── ch7/ – Strings (manipulation, StringBuilder, anagrams, palindromes)
├── ch8/ – Exception Handling (try-catch-finally, custom exceptions)
├── ch9/ – File I/O (Java IO, NIO, binary files)
├── ch11/ – OOP — Κλάσεις & Αντικείμενα (classes, constructors, encapsulation)
├── ch12/ – Encapsulation & Access Modifiers (Account example)
├── ch13/ – Static members, Utility classes & Singleton Pattern
├── ch14/ – Κληρονομικότητα (Inheritance, Point2D/3D, Bank App με Exceptions)
├── ch15/ – Interfaces, Abstract Classes & Polymorphism (ISpeakable, Marker, SchoolApp)
├── ch16/ – Advanced OOP (Builder Pattern, Callbacks, Copy Constructor, Equals/HashCode, Threads)
├── ch17/ – Generics & Collections (Lists, Sets, Maps, Streams, Enums, Linked Lists, Sorting)
├── ch18/ – MVC Architecture — Bank Application
├── ch19/ – Regular Expressions (Regex, Pattern matching, Validation)
├── review/ # Ασκήσεις επανάληψης
│ ├── junior_level/
│ ├── mid_level/
│ ├── senior_level/
│ └── challenges/
├── review_challenges/ # Αλγοριθμικές προκλήσεις (Fibonacci, primes, sorting κ.ά.)
└── solutions/ # Λύσεις ασκήσεων ανά κεφάλαιο
| Κεφάλαιο | Θέμα | Αρχεία |
|---|---|---|
| Ch 1 | Εισαγωγή — Hello World, Βασικές πράξεις | 2 |
| Ch 2 | Τύποι δεδομένων, Scanner, Μετατροπές | 12 |
| Ch 3 | Δομές ελέγχου (if/else, while, ternary) | 20 |
| Ch 4 | For loops, Switch statements | 10 |
| Ch 5 | Μέθοδοι, Overloading, Recursion | 16 |
| Ch 6 | Πίνακες, Sorting, Searching, Stack, Queue | 22 |
| Ch 7 | Strings, StringBuilder, Palindrome, Anagram | 21 |
| Ch 8 | Exception Handling | 10 |
| Ch 9 | File I/O (Java IO & NIO) | 4 |
| Ch 11 | OOP — Κλάσεις & Αντικείμενα | 6 |
| Ch 12 | Encapsulation & Access Modifiers | 2 |
| Ch 13 | Static, Utility Classes, Singleton | 5 |
| Ch 14 | Κληρονομικότητα (Inheritance) | 7 |
| Ch 15 | Interfaces, Abstract Classes, Polymorphism | 16 |
| Ch 16 | Builder, Callbacks, Equals/HashCode, Threads | 10+ |
| Ch 17 | Generics, Collections, Streams | 15+ |
| Ch 18 | MVC Architecture — Bank App | — |
| Ch 19 | Regular Expressions | 7 |
Στον φάκελο review_challenges/ υπάρχουν 20 αλγοριθμικές προκλήσεις, μεταξύ άλλων:
- 🔢 Fibonacci sequence
- 🔍 Find prime numbers
- 🔄 Palindrome & Anagram detection
- 📊 Diagonal difference, Min/Max sum
- 🔃 Array rotation & frequency analysis
- 🏗️ Staircase pattern
- 🔗 URL encoding
- 📈 Compare triplets (HackerRank-style)
- Java JDK 17+ εγκατεστημένο
- IntelliJ IDEA (συνιστάται) ή οποιοδήποτε Java IDE
-
Clone το repository:
git clone https://github.com/blancberger/cf9-java.git cd cf9-java -
Ανοίξτε το project στο IntelliJ IDEA:
File → Open → Επιλέξτε τον φάκελο του project
-
Εκτελέστε οποιοδήποτε αρχείο:
- Δεξί κλικ σε ένα
.javaαρχείο → Run - Ή χρησιμοποιήστε το
▶️ icon δίπλα στηmainμέθοδο
- Δεξί κλικ σε ένα
cd src
javac gr/aueb/cf/cf9/ch1/HelloWorld.java
java gr.aueb.cf.cf9.ch1.HelloWorldgr.aueb.cf.cf9
├── ch1 ... ch19 → Κεφάλαια μαθήματος
├── review → Ασκήσεις επανάληψης (Junior / Mid / Senior)
├── review_challenges → Αλγοριθμικές προκλήσεις
└── solutions → Λύσεις ασκήσεων
- Γλώσσα: Java 21+
- IDE: IntelliJ IDEA
- Build: Vanilla Java (χωρίς Maven/Gradle)
- Concepts: OOP, Collections, Generics, Streams, File I/O, MVC, Design Patterns, Regex
📚 Coding Factory 9 — AUEB (Οικονομικό Πανεπιστήμιο Αθηνών) ,www.aueb.gr
Αυτό το project διατίθεται υπό την άδεια MIT.
Μπορείτε ελεύθερα να το χρησιμοποιήσετε, τροποποιήσετε και διανείμετε.
⭐ Αν σας φάνηκε χρήσιμο, μη διστάσετε να κάνετε star στο repository!