Skip to content
GrCode Club GrCode Club GrCode Club

GrCode Club

GrCode Club GrCode Club GrCode Club

GrCode Club

  • Αρχική
  • Developer
    • Πληροφορίες
    • Web Development
    • Γλώσσες προγραμματισμού
    • Docker
  • Δίκτυα Υπολογιστών
    • Βασικές Γνώσεις
    • Πρωτοκόλλα στα Δίκτυα Υπολογιστών
    • Υπηρεσίες και Ports
    • Cloud
  • Λειτουργικά Συστήματα
    • Βασικές Γνώσεις
    • Linux
    • Microsoft Windows
  • Kυβερνοασφάλεια
    • Πληροφορίες
    • Αttacks
    • Tools
  • Hardware
    • Πληροφορίες
    • Υπολογιστής
    • Οθόνες
    • Επίλυση Προβλημάτων
  • Κινητά
    • Android
    • iPhone
    • Οδηγός αγοράς Smartphone
  • Περισσότερα
    • Ο λογαριασμός μου
    • Ορολογία
    • Συντομογραφίες
    • Office Suite
  • Αρχική
  • Developer
    • Πληροφορίες
    • Web Development
    • Γλώσσες προγραμματισμού
    • Docker
  • Δίκτυα Υπολογιστών
    • Βασικές Γνώσεις
    • Πρωτοκόλλα στα Δίκτυα Υπολογιστών
    • Υπηρεσίες και Ports
    • Cloud
  • Λειτουργικά Συστήματα
    • Βασικές Γνώσεις
    • Linux
    • Microsoft Windows
  • Kυβερνοασφάλεια
    • Πληροφορίες
    • Αttacks
    • Tools
  • Hardware
    • Πληροφορίες
    • Υπολογιστής
    • Οθόνες
    • Επίλυση Προβλημάτων
  • Κινητά
    • Android
    • iPhone
    • Οδηγός αγοράς Smartphone
  • Περισσότερα
    • Ο λογαριασμός μου
    • Ορολογία
    • Συντομογραφίες
    • Office Suite
GrCode Club GrCode Club GrCode Club

GrCode Club

GrCode Club GrCode Club GrCode Club

GrCode Club

  • Αρχική
  • Developer
    • Πληροφορίες
    • Web Development
    • Γλώσσες προγραμματισμού
    • Docker
  • Δίκτυα Υπολογιστών
    • Βασικές Γνώσεις
    • Πρωτοκόλλα στα Δίκτυα Υπολογιστών
    • Υπηρεσίες και Ports
    • Cloud
  • Λειτουργικά Συστήματα
    • Βασικές Γνώσεις
    • Linux
    • Microsoft Windows
  • Kυβερνοασφάλεια
    • Πληροφορίες
    • Αttacks
    • Tools
  • Hardware
    • Πληροφορίες
    • Υπολογιστής
    • Οθόνες
    • Επίλυση Προβλημάτων
  • Κινητά
    • Android
    • iPhone
    • Οδηγός αγοράς Smartphone
  • Περισσότερα
    • Ο λογαριασμός μου
    • Ορολογία
    • Συντομογραφίες
    • Office Suite
  • Αρχική
  • Developer
    • Πληροφορίες
    • Web Development
    • Γλώσσες προγραμματισμού
    • Docker
  • Δίκτυα Υπολογιστών
    • Βασικές Γνώσεις
    • Πρωτοκόλλα στα Δίκτυα Υπολογιστών
    • Υπηρεσίες και Ports
    • Cloud
  • Λειτουργικά Συστήματα
    • Βασικές Γνώσεις
    • Linux
    • Microsoft Windows
  • Kυβερνοασφάλεια
    • Πληροφορίες
    • Αttacks
    • Tools
  • Hardware
    • Πληροφορίες
    • Υπολογιστής
    • Οθόνες
    • Επίλυση Προβλημάτων
  • Κινητά
    • Android
    • iPhone
    • Οδηγός αγοράς Smartphone
  • Περισσότερα
    • Ο λογαριασμός μου
    • Ορολογία
    • Συντομογραφίες
    • Office Suite

Java

Η Java είναι αντικειμενοστραφής γλώσσα προγραμματισμού, που σχεδιάστηκε από την εταιρεία πληροφορικής Sun Microsystems.

Κώδικας

Όταν λοιπόν κάποιος γράφει κώδικα σε Java, πρώτα μετατρέπεται σε bytecode, μια αναπαράσταση δηλαδή του κώδικά σε χαμηλό επίπεδο, ανεξαρτήτως της πλατφόρμας και έπειτα το bytecode ερμηνεύεται από την Java Virtual Machine (JVM). Η εικονική μηχανή της Java (JVM) αποτελεί ένα στοιχείο λογισμικού που εκτελείται στην πλατφόρμα προορισμού. Αρχικά, “διαβάζει” τις οδηγίες bytecode και στη συνέχεια τις εκτελεί.

Java “Hello, World!” Program

// Your First Program

class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!"); 
}
}

Bιβλιοθήκες

ΒιβλιοθήκηΠεριγραφή
java.langΒασικές κλάσεις και αντικείμενα που παρέχονται από την Java.
java.utilΒιβλιοθήκη που περιλαμβάνει δομές δεδομένων (όπως λίστες, στοίβες, ουρές), αλγόριθμους και εργαλεία για είσοδο/έξοδο δεδομένων.
java.ioΒιβλιοθήκη για τη διαχείριση των εργασιών εισόδου/εξόδου στο σύστημα αρχείων.
java.netΒιβλιοθήκη για την ανάπτυξη εφαρμογών δικτύου, περιλαμβάνοντας τη δυνατότητα επικοινωνίας με διάφορους δικτυακούς πόρους.
java.sqlΒιβλιοθήκη για την αλληλεπίδραση με σχεσιακές βάσεις δεδομένων μέσω γλώσσας SQL.
java.awtΒιβλιοθήκη για τη δημιουργία γραφικών διεπαφών χρήστη (GUI) στην Java.
javax.swingΕπέκταση της βιβλιοθήκης AWT που παρέχει περισσότερα εργαλεία και στοιχεία για την ανάπτυξη GUI εφαρμογών.
java.mathΒιβλιοθήκη για την εκτέλεση ακριβών υπολογισμών μεγάλων αριθμητικών τιμών.
java.timeΒιβλιοθήκη για τη διαχείριση ημερομηνιών, χρόνων και διαστημάτων.
java.securityΒιβλιοθήκη που παρέχει εργαλεία για την ασφάλεια της Java εφαρμογών.

Δήλωση και αρχικοποίηση μεταβλητών

public class VariableExample {
    public static void main(String[] args) {
        int integerVariable = 10; // Ακέραιος
        double doubleVariable = 3.14; / Πραγματικός
        char charVariable = 'A'; // Χαρακτήρας
        boolean booleanVariable = true; // Λογικός
        String stringVariable = "Hello, World!"; // Κείμενο (συμβολοσειρά)

        System.out.println("Ακέραια μεταβλητή: " + integerVariable);
        System.out.println("Πραγματική μεταβλητή: " + doubleVariable);
        System.out.println("Χαρακτήρας: " + charVariable);
        System.out.println("Boolean μεταβλητή: " + booleanVariable);
        System.out.println("Κείμενο: " + stringVariable);
    }
}

Είσοδος (Input) & Έξοδος (Output)

Εντολή εκτύπωσης

System.out.print("Κείμενο προς εκτύπωση");

Εντολή εκτύπωσης με αλλαγή γραμμής

System.out.println("Κείμενο προς εκτύπωση");

Εισαγωγή δεδομένων από τον χρήστη

Η Scanner ανήκει στο πακέτο java.util και χρησιμοποιείται για να λαμβάνει είσοδο από διάφορες πηγές, όπως το πληκτρολόγιο, αρχεία, ή συμβολοσειρές.

new Scanner(System.in): Δημιουργεί ένα νέο αντικείμενο Scanner που διαβάζει δεδομένα από την τυπική είσοδο, δηλαδή το πληκτρολόγιο. Το System.in είναι το stream για την είσοδο δεδομένων από τον χρήστη.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Εισαγάγετε έναν ακέραιο αριθμό: ");
        int integerInput = scanner.nextInt();
        System.out.println("Εισαγόμενος ακέραιος: " + integerInput);
            
        System.out.print("Εισαγάγετε έναν πραγματικό αριθμό: ");
        double doubleInput = scanner.nextDouble();
        System.out.println("Εισαγόμενος πραγματικός: " + doubleInput);
        
        scanner.nextLine();   // Καθαρίζει το buffer μετά την nextDouble  
            
        System.out.print("Εισαγάγετε ένα κείμενο: ");
        String stringInput = scanner.nextLine();
        System.out.println("Εισαγόμενο κείμενο: " + stringInput);        
        scanner.close(); // Κλείνει το Scanner όταν δεν χρειάζεται πλέον 
    }
}

Δομές ελέγχου

int time = 22;
  if (time < 10) {
  System.out.println("Good morning.");
  } else if (time < 18) {
  System.out.println("Good day.");
  } else {
  System.out.println("Good evening.");
  }

Λογικοί Τελεστές: Μπορείς να συνδυάσεις πολλαπλές συνθήκες με τους λογικούς τελεστές:

  • &&: Αληθές μόνο αν όλες οι συνθήκες είναι αληθείς.
  • ||: Αληθές αν τουλάχιστον μία συνθήκη είναι αληθής.
  • !: Αντιστρέφει την αλήθεια της συνθήκης.

Επανάληψη

Η δομή επανάληψης (ή βρόχος, loop στα Αγγλικά) είναι ένας τρόπος να εκτελούνται οι ίδιες εντολές πολλές φορές μέχρι να ικανοποιηθεί μια συγκεκριμένη συνθήκη. Αυτές οι δομές χρησιμοποιούνται για να επαναλάβουν ένα σύνολο εντολών χωρίς να χρειάζεται να τις γράφουμε πολλές φορές.

for: Χρησιμοποιείται για επανάληψη σε μια ακολουθία (λίστες, συμβολοσειρές, range κ.λπ.).

for (int i = 0; i < 5; i++) {
   System.out.println(i);
}

while: Επαναλαμβάνει τον κώδικα όσο μια συνθήκη είναι αληθής.

int i = 0;
while (i < 5) {
  System.out.println(i);
  i++;
}

do/while:Αυτός ο βρόχος θα εκτελεί πρώτα τον κωδικά και μετά θα ελέγχει αν η συνθήκη είναι αληθής. Την πρώτη φορά θα εκτελεστεί ο βρόχος ακόμα και αν η συνθήκη είναι ψευδής.

int i = 0;
do {
  System.out.println(i);
  i++;
}
while (i < 5)

Arrays

String[] names;

Για να εισαγάγετε τιμές σε αυτό, μπορείτε να τοποθετήσετε τις τιμές σε μια λίστα διαχωρισμένη με κόμμα, μέσα σε άγκιστρα.

String[] names = {"Dimitris", "Ioanna", "Giannis", "Stathis"};

Πρόσβαση στα Στοιχεία

String[] names = {"Dimitris", "Ioanna", "Giannis", "Stathis"};
System.out.println(names[0]);

Αλλαγή στοιχείων

names[0] = "Thomas";

Μήκος

String[] names = {"Thomas", "Ioanna", "Giannis", "Stathis"};
System.out.println(names.length);

Class

Ορισμός της κλάσης

public class ClassName {
// Class body
}

Μεταβλητές

private String name; // private μεταβλητή
public int age; // public μεταβλητή

Κατασκευαστής (Constructor)

public ClassName(parameters) {
// Constructor body

Μέθοδοι

public ReturnType methodName(parameters) {
// Method body

Δημιουργία αντικειμένου της κλάσης

ClassName objectName = new ClassName(parameters);

Java Interface

InterfaceΠεριγραφή
RunnableΟρίζει μια εργασία που μπορεί να εκτελείται από ένα νήμα (thread). Η μέθοδος run() περιγράφει τη λογική της εργασίας.
CallableΠαρόμοιο με το Runnable, αλλά η μέθοδος call() επιστρέφει ένα αποτέλεσμα και μπορεί να ρίξει εξαιρέσεις.
ComparableΟρίζει τη μέθοδο compareTo(T o) που συγκρίνει το τρέχον αντικείμενο με το αντικείμενο τύπου T και επιστρέφει έναν αριθμό.
IterableΟρίζει τη μέθοδο iterator() που επιστρέφει έναν Iterator για την επανάληψη στοιχείων του τύπου T.
CollectionΕπεκτείνει το Iterable και παρέχει μεθόδους για τη διαχείριση συλλογών αντικειμένων, όπως add(), remove() και size().
ListΕπεκτείνει το Collection και παρέχει μεθόδους για την εργασία με στοιχεία σε μια σειριακή διάταξη, όπως get() και set().
SetΕπεκτείνει το Collection και αντιπροσωπεύει μια συλλογή χωρίς επαναλαμβανόμενα στοιχεία.
MapΕκπροσωπεί μια συλλογή ζευγών κλειδιού-τιμής. Παρέχει μεθόδους όπως put(), get() και remove() για την εργασία με ζεύγη κλειδιού-τιμής.
SortedMapΕπεκτείνει το Map και διασφαλίζει ότι τα κλειδιά είναι ταξινομημένα σε φυσική σειρά ή μέσω ενός συγκριτή.
TreeMapΜια υλοποίηση του SortedMap που διατηρεί τα κλειδιά σε φυσική σειρά.
ComparatorΟρίζει τη μέθοδο compare(T o1, T o2) που συγκρίνει δύο αντικείμενα του τύπου T και επιστρέφει έναν αριθμό για την ταξινόμηση.
SerializableΔηλώνει ότι μια κλάση μπορεί να σειριοποιηθεί, δηλαδή να μετατραπεί σε ροή bytes για αποθήκευση ή μεταφορά.
CloneableΔηλώνει ότι ένα αντικείμενο μπορεί να κλωνοποιηθεί, δηλαδή να δημιουργηθεί ένα νέο αντικείμενο με την ίδια κατάσταση.
AutoCloseableΟρίζει τη μέθοδο close() που καλείται για την αυτόματη απελευθέρωση πόρων, χρησιμοποιούμενη συχνά με το try-with-resources.
ObserverΕπιτρέπει την παρακολούθηση (ή παρατήρηση) ενός αντικειμένου και ενημερώνει τους παρατηρητές του όταν το αντικείμενο αλλάζει.
EventListenerΟρίζει μεθόδους για τη διαχείριση γεγονότων, χρησιμοποιούμενος σε εφαρμογές GUI και άλλες περιπτώσεις που σχετίζονται με γεγονότα.
IteratorΠαρέχει μηχανισμό για την επανάληψη μέσω μιας συλλογής χωρίς να εκτίθεται η εσωτερική αναπαράσταση της συλλογής.
ListIteratorΕπεκτείνει το Iterator και επιτρέπει αμφίδρομη επανάληψη μέσω μιας λίστας, καθώς και τροποποίηση των στοιχείων κατά την επανάληψη.
DequeΕπεκτείνει το Queue και αντιπροσωπεύει μια διπλή ουρά, επιτρέποντας την εισαγωγή και αφαίρεση στοιχείων από και τις δύο άκρες.
QueueΑντιπροσωπεύει μια ουρά δεδομένων, επιτρέποντας την προσθήκη στοιχείων στο τέλος και την αφαίρεση στοιχείων από την αρχή.
FunctionΑναπαριστά μια συνάρτηση που δέχεται ένα όρισμα τύπου T και επιστρέφει ένα αποτέλεσμα τύπου R.
PredicateΑναπαριστά μια συνάρτηση που δέχεται ένα όρισμα τύπου T και επιστρέφει boolean, συνήθως για συνθήκες ή φίλτρα.
SupplierΑναπαριστά μια συνάρτηση που δεν δέχεται όρισμα και επιστρέφει ένα αποτέλεσμα τύπου T.
UnaryOperatorΕπεκτείνει το Function και αναπαριστά μια συνάρτηση που δέχεται και επιστρέφει το ίδιο τύπο δεδομένων T.
BinaryOperatorΕπεκτείνει το BiFunction και αναπαριστά μια συνάρτηση που δέχεται δύο παραμέτρους του τύπου T και επιστρέφει ένα αποτέλεσμα του τύπου T.
BiFunctionΑναπαριστά μια συνάρτηση που δέχεται δύο παραμέτρους τύπου T και U και επιστρέφει ένα αποτέλεσμα τύπου R.
CharSequenceΑναπαριστά μια ακολουθία χαρακτήρων, παρέχοντας μεθόδους για την εργασία με κείμενο όπως length(), charAt() και subSequence().

Java Extends

class MyClass extends Object {
// Αυτή η κλάση κληρονομεί από την Object, αλλά δεν χρειάζεται να το δηλώσει ρητά.
}
ExtendsΒιβλιοθήκηΠεριγραφή
Objectjava.langΗ ρίζα όλων των κλάσεων στην Java. Κάθε κλάση κληρονομεί έμμεσα από αυτήν.
AbstractListjava.utilΠαρέχει μερική υλοποίηση της διεπαφής List.
InputStreamjava.ioΠαρέχει μια βασική υλοποίηση για την ανάγνωση δεδομένων από ροές.
AbstractMapjava.utilΠαρέχει μερική υλοποίηση της διεπαφής Map.
AbstractSetjava.utilΠαρέχει μερική υλοποίηση της διεπαφής Set.
SortedSetjava.utilΕπεκτείνει το Set, παρέχοντας επιπλέον μεθόδους για ταξινομημένα σύνολα.
SortedMapjava.utilΕπεκτείνει το Map, παρέχοντας επιπλέον μεθόδους για ταξινομημένους χάρτες.
Componentjava.awtΗ βασική κλάση για όλα τα οπτικά στοιχεία (components) στο Swing/AWT.
ActionListenerjava.awt.eventΧρησιμοποιείται για να διαχειριστεί δράσεις (actions) που προκύπτουν από χρήστη.
Listjava.utilΕπεκτείνει την Collection, παρέχοντας μεθόδους για χειρισμό στοιχείων με σειρά.
Mapjava.utilΕκπροσωπεί μια συλλογή ζευγών κλειδιού-τιμής, παρέχοντας μεθόδ
AbstractCollectionjava.utilΠαρέχει μερική υλοποίηση της διεπαφής Collection, προσφέροντας βασικές λειτουργίες συλλογής.
AbstractQueuejava.utilΠαρέχει μερική υλοποίηση της διεπαφής Queue, προσφέροντας βασικές λειτουργίες ουράς.
Threadjava.langΠαρέχει τη βάση για τη δημιουργία και εκτέλεση νημάτων (threads) στην Java. Κλάσεις όπως Runnable μπορούν να επεκταθούν από το Thread.
Exceptionjava.langΗ βασική κλάση από την οποία επεκτείνονται όλες οι εξαιρέσεις στην Java.
RuntimeExceptionjava.langΚλάση που επεκτείνει την Exception, χρησιμοποιούμενη για εξαίρεση κατά τη διάρκεια εκτέλεσης της εφαρμογής.
FileFilterjava.ioΔιεπαφή που επεκτείνει την java.util.function.Predicate και χρησιμοποιείται για φιλτράρισμα αρχείων.
ListAdapterandroid.widgetΠαρέχει μια μερική υλοποίηση της διεπαφής List στο πλαίσιο των βιβλιοθηκών Android.
Dialogjavax.swingΚλάση που επεκτείνει την Window και χρησιμοποιείται για τη δημιουργία διαλόγων σε εφαρμογές Swing.
JPaneljavax.swingΚλάση που επεκτείνει την Container και χρησιμοποιείται για τη δημιουργία και διάταξη στοιχείων UI σε εφαρμογές Swing.
AbstractButtonjavax.swingΠαρέχει μερική υλοποίηση της διεπαφής ButtonModel και χρησιμοποιείται για την υλοποίηση κουμπιών σε εφαρμογές Swing.
AbstractActionjavax.swingΠαρέχει μερική υλοποίηση της διεπαφής Action, χρησιμοποιούμενη για την υλοποίηση ενεργειών σε εφαρμογές Swing.

Social Media

  • Facebook
  • Instagram
  • YouTube
  • TikTok
  • Discord

Email Επικοινωνίας

info@grcodeclub.gr

Πολιτική Cookies (ΕΕ)

Όροι και Προϋποθέσεις

GrCode Club by @dimitridedou
X
Γίνετε μέλος του GrCode Club Discord Server!
🚀 Join Server
GrCode Club
Διαχείριση Συγκατάθεσης
Για να παρέχουμε την καλύτερη εμπειρία, χρησιμοποιούμε τεχνολογίες όπως cookies για την αποθήκευση ή/και την πρόσβαση σε πληροφορίες συσκευών. Η συγκατάθεση για τις εν λόγω τεχνολογίες θα μας επιτρέψει να επεξεργαστούμε δεδομένα προσωπικού χαρακτήρα, όπως συμπεριφορά περιήγησης ή μοναδικά αναγνωριστικά σε αυτόν τον ιστότοπο. Η μη συγκατάθεση ή η ανάκληση της συγκατάθεσης, μπορεί να επηρεάσει αρνητικά ορισμένες λειτουργίες και δυνατότητες.
Λειτουργικά Πάντα ενεργό
Η τεχνική αποθήκευση ή πρόσβαση είναι απολύτως απαραίτητη για τον νόμιμο σκοπό της δυνατότητας χρήσης συγκεκριμένης υπηρεσίας που ζητείται ρητά από τον συνδρομητή ή τον χρήστη ή με αποκλειστικό σκοπό τη μετάδοση επικοινωνίας μέσω δικτύου ηλεκτρονικών επικοινωνιών.
Προτιμήσεις
Η τεχνική αποθήκευση ή πρόσβαση είναι απαραίτητη για τον νόμιμο σκοπό της αποθήκευσης προτιμήσεων που δεν ζητούνται από τον συνδρομητή ή τον χρήστη.
Στατιστικά
Η τεχνική αποθήκευση ή πρόσβαση που χρησιμοποιείται αποκλειστικά για στατιστικούς σκοπούς. Η τεχνική αποθήκευση ή πρόσβαση που χρησιμοποιείται αποκλειστικά για ανώνυμους στατιστικούς σκοπούς. Χωρίς κλήτευση, η εθελοντική συμμόρφωση εκ μέρους του Παρόχου Υπηρεσιών Διαδικτύου ή πρόσθετες καταγραφές από τρίτο μέρος, οι πληροφορίες που αποθηκεύονται ή ανακτώνται για το σκοπό αυτό από μόνες τους δεν μπορούν συνήθως να χρησιμοποιηθούν για την αναγνώρισή σας.
Εμπορικής Προώθησης
Η τεχνική αποθήκευση ή πρόσβαση απαιτείται για τη δημιουργία προφίλ χρηστών, για την αποστολή διαφημίσεων ή για την καταγραφή του χρήστη σε έναν ιστότοπο ή σε διάφορους ιστότοπους για παρόμοιους σκοπούς εμπορικής προώθησης.
  • Διαχείριση επιλογών
  • Διαχείριση υπηρεσιών
  • Manage {vendor_count} vendors
  • Διαβάστε περισσότερα για αυτούς τους σκοπούς
Προβολή προτιμήσεων
  • {title}
  • {title}
  • {title}