Zoom Icon

Java Lezione 1

From UIC Archive

Java Lezione 1

Contents


Java Lezione 1
Author: Ken1986
Email:
Website:
Date: 05/10/2008 (dd/mm/yyyy)
Level: Working brain required
Language: Italian Flag Italian.gif
Comments:



Introduzione

Il linguaggio di programmazione java nasce nel 1991 dal gruppo della Sun Microsystems, guidato da James Gosling e Patrick Naughton. E' stato progettato per essere semplice ed indipendente dalla piattaforma utilizzata. Il primo prodotto di tale progetto, fu il browser HotJava (1994). Questo browser aveva una caratteristica unica: era capace di scaricare programmi (i cosiddetti applet) dal WEB ed eseguirli sul computer dell'utente, indipendentemente dalla piattaforma utilizzata. I programatori hanno scelto java perchè è più semplice del C++, consente di scrivere e compilare una volta ed eseguirlo ovunque, ha una ricchissima libreria che mette a disposizione del programmatore un'inseme vastissimo di funzionalità standard,anch'esse indipendente dalla piattaforma.


Il nostro primo programma (hello world)

Tradizionalmente, il primo programma che un futuro programmatore dovrà creare, sarà quello di stampare a video la classica stringa "Hello World!".Per prima cosa dobbiamo installare il JDK ed il TextPad (su google troverete tutto il necessario). Successivamente avviamo il TextPad e copiamo il segunte codice...Codice:

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

Una volta copiato, cliccate su File - Salva con nome e chiamatelo Ciao.java (Attenzione maiuscole e miniscole sono considerate distinte, quindi il file Ciao.java con la C maiuscola). A questo punto possiamo compilare il programma dal menù Strumenti - Compila Java (Ctrl + 1) ed avviarlo, sempre dal menù Strumenti - Esegui applicazioni Java (Ctrl + 2).Le istruzioni o enunciati nel corpo del main, ovvero enunciati racchiusi fra le parentesi graffe {}, sono eseguiti uno alla volta. La pima istruzione System.out.println(".....") permette di scrivere su output tutto quello che viene racchiuso fra le "". E' da notare che ogni istruzione dovrà termire con il ";".


Variabili e data

Una variabile è un "contenitore" che è capace di contenere un valore, realizzato tramite una o più celle di memoria.

Codice:


   |------|
   | 20   |             -----> x
   |------|(1567)

L'indirizzo della variabile x è 1567, ed il suo valore attuale è 20.Il valore della variabile può cambiare durante l'esecuzione del, invece l'indirizzo no.Quindi possiamo affermare che una variabile è un'astrazione della cella di memoria.

DICHIARAZIONE DI UNA VARIABILE
La dichiarazione di una variabile introduce una nuova variabile, che è identificata da un nome e un tipo (che definisce le caratteristiche e le varie operazioni che si possono effettuare sulla variabile).Esempi: int a,b,c; double d,e; char x; Il tipo int, rapperesenta un numero intero senza parte frazionaria (compresi lo zero e i numeri negativi), double indica i numeri con la virgola mobile a precisione doppia, char un carattere. Ne esistono altri tipi, ad es. float, che indica i numeri in virgola mobile a precione singola, ma in genere vengono utilizzate quelle a precisione doppia.L'inizializzazione di una variabile si fa tramite l'operatore di uguaglianza "=".Esempi int a; a = 10; equivalente int a = 10; Invece per calcolare il valore di un'espressione in una variabile, dobbiamo fare così: variabile = espressioneEsempio; int i = 10; int j = i + 1; Per capire ancora meglio, possiamo costruite un programma che calcola l'area di un triagolo.

Codice:

class AreaTriangolo{
         public static void main (String[] args){
                int base, altezza, area;
                base = 7;
                altezza = 4;
                area = base * altezza / 2;
                System.out.println("L'area del triangolo e': " + area);
        }
}


Lettura di dati da input (tastiera)

Per leggere i dati dalla tastiera, in Java viene utilizzata la classe Console, con i suoi relativi metodi. Ad es. per leggere un intero da tastiera, possiamo usare la seguente istruzione:Codice:

int numero = Console.readInt("Inserirsci un numero intero: ");

Se il tipo che dobbiamo leggere è un double (numero con la virgola mobile a doppia precisione) possiamo scrivere così:

Codice:

double x = Console.readDouble("Inserisci un numero razionale: ");

Se il tipo da leggere è un float (numero con la virgola mobile a singola precisione) possiamo scrivere così:

Codice:

float y = Console.readFloat("Inserisci un numero razionale: ");

Se invece vogliamo leggere una stringa di caratteri dobbiamo scrivere così:

Codice:

String nome = Console.readString("Inserisci il nome: ");

PS La classe Console deve risiedere nella stessa cartella dove viene salvato il progetto.


Tipi primitivi

  • boolean (1 bit) valori: true o false (vero o falso)
  • byte (8 bit; 2^8 = 256 valori possibili) un intero tra -128 e + 127
  • short (16 bit; 2^16 = 65536 valori possibili) un intero tra -32768 e +32767
  • char (16 bit) un carattere dell'alfabeto Unicode
  • float (32 bit) un numero razionale in virgola mobile, con 9 cifre significative ed sponente tra -45 e +38
  • int (32 bit) un intero compreso tra -2147483648 e +2147483647
  • double (64 bit) un numero razione in virgola mobile, con 18 cifre significative ed sponente tra -324 e +308
  • long (64 bit) un intero compreso tra -223372036854775808 e +223372036854775807Se nel nostro programma, ad esempio, ci dobbiamo riferire al valore massimo, o minimo, di un integer, possiamo utilizzare le costanti Integer.MIN_VALUE e Integer.MAX_VALUE, che sono definite in una classe (maggiori dettagli in seguito) chiamata Integer.


Conversione dei tipi di dati o casting

In Java è possibile effetture conversione tra variabili che hanno tipi diversi ma compatibili fra di loroEs. di conversione da double a integer

Codice:

double totale = 25.85;
int intero = (int)totale;

Il cast (int) converte il valore in virgola mobile totale, in un intero, con l'effetto di scartarne la parte frazionaria, quindi la variabile intero avrà il valore di 25.


Operatori

  • Operatori aritmetici: Le parentesi si usano esattamente come in algebra, per indicare in quale ordine vanno calcolate le sottoespressioni
    • (+) somma;
    • (-) sottrazione;
    • (*) prodotto;
    • (/) divisione;
    • (%) resto;
    • (++) incremento;
    • (--) decremento.
  • Operatori relazionali:
    • (==) uguale;
    • (!=) diverso;
    • (>) maggiore;
    • (<) minore;
    • (=>) maggiore uguale;
    • (<=) minore uguale
  • Operatori logici:
    • (!) not;
    • (||) or;
    • (&&) and.


Costanti

Una costante rappresenta un dato che non può cambiare valore nel corso dell'esecuzione del programma, se proviamo a cambiare il valore verrà dato un errore a tempo di esecuzione del programma.In Java la costante si dichiara tramite la parola chiave final.Es.

Codice:

final double VALORE_ERUTO = 1936.27;

Il valore delle costanti non potrà più essere cambiato, ma potrà essere utilizzato nelle espressioni.Solitamente per le costanti si utilizzano caratteri in maiuscolo, in questo modo è più semplice distinguere fra variabili e costanti.Quindi in generale per dichiarare una costante utilizziamo il seguente metodo:

Codice:

final NomeTipo NomeCostante = Espressione;


Commenti

  • // commento fino alla fine della riga
  • /* commento chepuò occuparepiù linee */
  • /** commento su più linee che viene estratto dallo strumento che genera automaticamente la documentazione */


Esercizi

1) Calcolare l'area di un rettangolo, dati base e altezza (base e altezza sono numeri con la virgola e pertanto vanno dichiarati come float o double).
2) Calcolare la circonferenza di un cerchio, dato il raggio.
3) Calcolare il risultato di una divisione e il resto (Sugg. il resto fra due numeri a e b si calcola in Java con il segno di %; esempio: resto=a%b; ).
4) Scrivere un programma che chiede all'utente di fornire due numeri interi e che poi stampi: la somma, la differenza, il prodotto e la media.


Note Finali

Alla prox lezione, ciauzzzzz.......by Ken1986


Disclaimer

I documenti qui pubblicati sono da considerarsi pubblici e liberamente distribuibili, a patto che se ne citi la fonte di provenienza. Tutti i documenti presenti su queste pagine sono stati scritti esclusivamente a scopo di ricerca, nessuna di queste analisi è stata fatta per fini commerciali, o dietro alcun tipo di compenso. I documenti pubblicati presentano delle analisi puramente teoriche della struttura di un programma, in nessun caso il software è stato realmente disassemblato o modificato; ogni corrispondenza presente tra i documenti pubblicati e le istruzioni del software oggetto dell'analisi, è da ritenersi puramente casuale. Tutti i documenti vengono inviati in forma anonima ed automaticamente pubblicati, i diritti di tali opere appartengono esclusivamente al firmatario del documento (se presente), in nessun caso il gestore di questo sito, o del server su cui risiede, può essere ritenuto responsabile dei contenuti qui presenti, oltretutto il gestore del sito non è in grado di risalire all'identità del mittente dei documenti. Tutti i documenti ed i file di questo sito non presentano alcun tipo di garanzia, pertanto ne è sconsigliata a tutti la lettura o l'esecuzione, lo staff non si assume alcuna responsabilità per quanto riguarda l'uso improprio di tali documenti e/o file, è doveroso aggiungere che ogni riferimento a fatti cose o persone è da considerarsi PURAMENTE casuale. Tutti coloro che potrebbero ritenersi moralmente offesi dai contenuti di queste pagine, sono tenuti ad uscire immediatamente da questo sito.

Vogliamo inoltre ricordare che il Reverse Engineering è uno strumento tecnologico di grande potenza ed importanza, senza di esso non sarebbe possibile creare antivirus, scoprire funzioni malevole e non dichiarate all'interno di un programma di pubblico utilizzo. Non sarebbe possibile scoprire, in assenza di un sistema sicuro per il controllo dell'integrità, se il "tal" programma è realmente quello che l'utente ha scelto di installare ed eseguire, né sarebbe possibile continuare lo sviluppo di quei programmi (o l'utilizzo di quelle periferiche) ritenuti obsoleti e non più supportati dalle fonti ufficiali.