Estratto del documento

Java’s syntax

Created by Giuseppe A. Cotroneo

ATTENZIONE: Il materiale che segue è stato interamente scritto, raccolto ed organizzato dal creatore. Per correttezza vi chiedo soltanto un favore: quello di non diffondere questo contenuto ma di rimandare, terzi eventuali richiedenti, direttamente all’acquisto su Skuola.net o eventualmente contattando privatamente il creatore che provvederà a fornirne il link ricordandovi, per altro, che diffondere il contenuto senza il consenso è ILLEGALE e PUNIBILE LEGALMENTE.

Informazioni generali sulla struttura di un programma Java

  • Bisogna ricordare che il file .java non può ricevere direttamente delle istruzioni, bensì le riceve mediante i metodi i quali fanno da tramite e consentono la 'lettura' delle istruzioni.
  • Il metodo principale è il main, il quale dà inizio a tutto il processo.

Scheletro di un banale programma Java:

  • Java Project Folder (usually in default folder by Eclipse) and named with MAIUSC
  • Package named without MAIUSC
  • Class named starting with MAIUSC

Esempio:

class Nome {
    public static void main (String[] args) {
        System.out.println("Ciao!"); // Nota che ogni istruzione termina con ;
    }
}
  • Si noti come la "Classe Principale" ha lo stesso nome del file che la contiene ed inizia per MAIUSC letter.
  • Si notino (nel main) gli attributi:
    • Public: Poiché la classe viene resa pubblica e dunque mostrata all'utente
    • Static: Poiché non sono stati creati oggetti prima di esso
    • Void: Poiché non restituisce nulla direttamente (non dotato di un proprio return)

Altre utili informazioni

  • Overloading: Si parla di Overload in relazione ai metodi quando un metodo può essere richiamato con più di un modo. Per esempio: System.out.println(); oppure System.out.print();
  • Polimorfismo: Un metodo che può essere eseguito su più di un solo tipo. Ad esempio il famoso +. Esso è utile per la somma numerica ma anche per la concatenazione di stringhe.
  • Indirizzo in memoria: Se ho un elemento di tot bit (es. 32 bit [4 byte]) esso avrà un indirizzo in memoria che sia lungo esattamente 32 bit. Dunque se l'indirizzo dovesse essere 1024, allora l'indirizzo di riferimento sarà il 1024. Ma in realtà in memoria quell'elemento occuperà più posizioni (4 byte) dunque da 1024 a 1028.

Utili e pratiche informazioni

  • File.java: Se un file si chiama 'File', deve esserci dentro una classe principale di nome 'File' (con MAIUSC).
  • Parentesi {}: Le parentesi graffe indicano dove inizia e dove finisce un codice. Per Java il blocco (delimitato da e contenente più istruzioni) è una singola istruzione.
  • Istruzioni (;): In Java ogni istruzione termina con un punto e virgola.
  • Indentazioni e ritorni a capo: Java ignora le indentazioni e i ritorni a capo, dunque sarebbe possibile scrivere anche su una sola riga. Tuttavia, si sconsiglia questo tipo di notazione poiché è scomodo e confusionario per la lettura.
  • Packages: Come fosse una famiglia fatta di classi. Se ho più file "classe" (es. C1.java, C2.java, C3.java) e voglio impacchettarli, devo inserirli nella stessa cartella (es. "ciao") la quale deve necessariamente avere lo stesso nome del pacchetto (in questo caso "ciao"). Il pacchetto ha sempre il nome in minuscolo salvo sigle (es. NBA). Il file C1, C2, C3 deve iniziare con la seguente istruzione: package ciao;. Ma si ricordi che Java è furbo: al posto di importare tutte le classi in memoria, sfrutta un metodo on demand caricandole in memoria solo quando utilizzate. Essi sono dunque dei contenitori di classi che a loro volta contengono metodi. Importarli importerà tutte le classi e dunque tutti i metodi! Per importare un intero package: import nomePackage.*;

Classe

Grande contenitore di metodi. Solitamente si utilizzano per la creazione di oggetti.

Metodi

  • In Java le functions (funzioni) si chiamano metodi e DEVONO INIZIARE CON L'INIZIALE MINUSCOLA.
  • Essi possono essere dinamici (di proprietà degli oggetti) oppure statici (di proprietà della classe).

Modificatori/Modifiers

Essi possono essere usati solo nelle classi e sono:

  • Public: L’elemento è di dominio pubblico. Lo do al mondo e tutti possono vederlo e modificarlo.
  • Protected: L’elemento non lo do al mondo. Lo tengo per me e per gli eredi della Superclass.
  • Private: L’elemento è strettamente mio. Non lo do al mondo in nessun caso.
  • (Nulla): È come se fosse un package.

Oggetti

Un oggetto è una classe dotata di attributi e atteggiamenti che ne descrivono lo stesso oggetto.

Assegnamento e Alias

ATTENZIONE: Assegnamento 'primitivo'.

  • Alias: Se assegno int x = 3; esso è un assegnamento primitivo. Dunque, se successivamente chiamassi y = x;, y sarebbe un alias di x e al variare di x varrebbe il suo valore.
  • Se P1(k,g) = 9,8 e P2(x,y) = 3,2 ma successivamente P2 = P1, allora l'indirizzo viene modificato e quello precedente finirà nel garbage collector per poi essere eliminato da Java. Se stampo P1 non avrò un valore bensì un indirizzo in memoria. Per evitarlo uso ToString (generalmente Eclipse lo capisce e chiama ToString automaticamente).

Garbage Collection

Raccoglitore di spazzatura momentaneo, presto questo contenuto verrà sovrascritto e dunque eliminato.

Sintassi vera e propria di Java

Commenti

In Java i COMMENTI sono un elemento molto utile per:

  • Prendere appunti.
  • Migliorare la ‘lettura futura’.
  • Talvolta ‘bloccare momentaneamente l’esecuzione di una parte del codice’.
/* COMMENTO SU PIÙ LINEE */
// COMMENTO SU UNA LINEA SOLA

Classe principale

  • Public: Specifica che la classe sia pubblica. Cioè disponibile anche agli utenti (a tutti).
  • Class: Contenitore di metodi disponibili.

Esempio:

public class Lezione {}

Object

Superclasse Universale: Classe che contiene tutti gli oggetti creati.

Attributi Public/Private

  • Public: L’elemento sarà disponibile all’utente che potrà tranquillamente accedervi in ogni momento e talvolta modificarlo.
  • Private: L’elemento sarà privato e l’utente non potrà accedervi per vederlo né modificarlo. Ottima fonte di sicurezza.

Override

Sovrascrivere un metodo già esistente.

@Override
public void nomeMetodo() {
    // codici
}

Print (Stampa)

Shortcut: ‘syso’ + ctrl + space bar

  • Il primo caso stampa la stringa e va a capo;
  • Il secondo caso stampa la stringa ma resta sulla stessa linea/riga;
System.out.println("Hello World!");
System.out.print("Hello!");

Metodo particolare: Stampa formattata

Ovviamente posso usare qualsiasi numero dimensionale che sia intero. Scrivendo la notazione %Numerod con numero = intero ecco cosa succede:

int x = 73;
System.out.printf("%5d", x); // Stampa il valore di x in un format di dimensione 500073

Input da tastiera (Scanner)

In Java l’input da tastiera si chiama Scanner ed è un metodo complesso rispetto a linguaggi come Python. Dunque vediamo il suo funzionamento in modo pratico e successivamente cosa conviene o meno fare durante l’uso dell’input da tastiera.

  • Punto 1: Ignora il fatto e l’errore legato all’apertura della keyboard senza la sua chiusura.
  • Punto 2: kb.nextLine(); Oppure per le stringhe e così via...
  • Punto 3: Spesso quest’istruzione si omette poiché il programma prevede l’uso dello scanner altre volte durante l’esecuzione. Se così non fosse allora converrebbe chiuderla.
import java.util.Scanner;

class MyClass {
    @SuppressWarnings("resource") // Punto 1
    Scanner kb = new Scanner(System.in);
    System.out.println("inserire un numero"); // inserisci valore da input
    int a = kb.nextInt(); // Punto 2
    System.out.println(a + 8);
    kb.close(); // Punto 3
}

Generalmente questo metodo, se utilizzato, è utilizzato più volte all’interno di un programma.

Anteprima
Vedrai una selezione di 5 pagine su 16
Appunti sul Linguaggio Java Pag. 1 Appunti sul Linguaggio Java Pag. 2
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Appunti sul Linguaggio Java Pag. 6
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Appunti sul Linguaggio Java Pag. 11
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Appunti sul Linguaggio Java Pag. 16
1 su 16
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher peppelion99 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Flesca Sergio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community