Java (linguaggio di programmazione): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Riportata alla revisione precedente di Snowdog |
|||
Riga 45:
}
}
=== Strutture di controllo ===
''while'' (Boolean expression) {
statement(s)
}
''do'' {
statement(s)
} ''while'' (Boolean expression);
''for'' (initialisation; termination condition; incrementing expr) {
statement(s)
}
=== Strutture Condizionali ===
''if'' (Boolean expression) {
statement(s)
}
''if'' (Boolean expression) {
statement(s)
} ''else'' {
statement(s)
}
''if'' (Boolean expression) {
statement(s)
} ''else if'' (Boolean expression) {
statement(s)
} ''else if'' (Boolean expression) {
statement(s)
} ''else'' {
statement(s)
}
''switch'' (integer expression) {
''case'' constant integer expr:
statement(s)
''break'';
...
''default:''
statement(s)
''break'';
}
'(Boolean expression)?(statement on true condtion):(statement on false condition)'
=== Gestione delle eccezioni ===
''try'' {
statement(s)
} ''catch'' (exception type) {
statement(s)
} ''catch'' (exception type) {
statement(s)
} ''finally'' {
statement(s)
}
=== Goto ===
È possibile inserire un'etichetta prima di ogni dichiarazione
<nowiki>myLabel: aJavaStatement;</nowiki>
Il comando
''break'';
termina il ciclo corrente.
L'etichetta può essere usata per uscire da un ciclo for, while o do-while
''break'' myLabel;
Un'espressione continue termina l'iterazione corrente e inizia quella successiva
''continue;''
In aggiunta con
''continue'' label;
il flusso del programma può essere manipolato direttamente da un ciclo esterno.
La dichiarazione
''return;''
termina un metodo.
Con
''return'' aValue;
aValue può essere restituito al metodo chiamante.
=== Tipi Primitivi ===
{| border width=80%
|-
| '''Tipo di Variabile''' || '''Descrizione'''
|-
| byte || intero con segno a 8 bit
|-
| short || intero con segno a 16 bit
|-
| int || intero con segno a 32 bit
|-
| long || intero con segno a 64 bit
|-
| float || virgola mobile a 32 bit singola precisione (standard IEEE 754)
|-
| double || virgola mobile a 64 bit doppia precisione (standard IEEE 754)
|-
| char || carattere singolo Unicode
|-
| boolean || vero o falso
|}
I caratteri usano la codifica a 16 bit Unicode. Contiene tutti i caratteri usuali, oltre a tutti i set di caratteri di molte lingue come Greco, Cirillico, Cinese, Arabo, ecc. In si Java possono usare tutti questi caratteri, anche se molti editor non hanno il supporto per i set di caratteri diversi dal ASCII. Gli Array e le stringhe non sono tipi primitivi ma oggetti.
=== Versioni ===
* JDK 1.0 1996, Solaris, Windows, Mac OS Classic, Linux
* JDK 1.1 1997, Solaris, Windows, Mac OS Classic, Linux
* JDK 1.2 1998, Solaris, Windows, Linux, ?
* JDK 1.3 2000 (conosciuto come Java 2), Solaris, Windows, Mac OS X, Linux
* JDK 1.4 2002, Solaris, Windows, Mac OS X, Linux
* [[Java 5| JDK 1.5]] 2004, Solaris, Windows, Linux (Mac OS X è fermo alla 1.4.2)
Java fu inizialmente rilasciato come Java Development Kit 1.0 (JDK 1.0). Questo comprende '''Java Runtime''' (la virtual machine e le librerie di classi), e gli strumenti di sviluppo (es. il compilatore Java). Successivamente, Sun fornì un pacchetto che comprendeva solo Java runtime, chiamato Java RunTime Environment (JRE). Normalmente le persone si riferiscono ad una particolare versione di Java attraverso la versione del JDK (es. JDK 1.4) Le versioni JDK 1.2 e successive sono spesso chiamate Java 2. Per esempio, il nome ufficiale del JDK 1.4 è Java(TM) 2 Platform, Standard Edition 1.4.
Il linguaggio è rimasto stabile dal JDK 1.0; la libreria di classi che viene fornita con JDK è stata progressivamente ampliata e modificata in alcune parti. Le estensioni e architetture legate al linguaggio Java comprendono:
*[[J2SE]] Java 2 Platform Standard Edition;
*[[J2EE]] Java 2 Platform Enterprise Edition;
*[[J2ME]] Java 2 Platform Micro Edition;
*[[Servlet]];
*[[EJB]] Enterprise JavaBeans;
*[[JSP]] JavaServer Pages;
*[[JDO]] Java Data Objects;
*[[JMS]] Java Message Service;
*[[JAF]] JavaBeans Activation Framework;
*[[Java Mail]];
*[[JNI]] Java Native Interface;
*[[JNDI]] Java Naming and Directory Interface;
*[[JSML]] Java Speech Grammar Specification;
*[[JDBC]] Java Database Connectivity;
*[[JAIN]] Java Integrated Networks;
*[[JDMK]] Java Dynamic Management Kit;
*[[Jini]] Java Intelligent Network Infrastructure;
*[[Jiro]] Java Interface for Regular Objects;
*[[JXTA]] sigla che sta per "juxtapose" (porre a canto);
*[[JavaSpaces]];
*[[JMI]] Java Metadata Interface;
*[[JMX]] Java Management Extensions.
*[[JAXB]] Java Architecture for XML Binding
*[[JAXP]] Java API for XML Processing
*[[SAAJ]] SOAP with Attachments API for Java
*[[JAX-RPC]] Java API for XML-based RPC
*[[JAXR]] Java API for XML Registries
A parte il linguaggio molto semplice da imparare l'utilizzo delle archittetture e delle specifiche richiede un tempo di apprendimento molto lungo.
=== Come programmare in Java ===
La programmazione in Java è una specializzazione della programmazione con linguaggi orientati agli oggetti.
Il linguaggio Java è un linguaggio orientato agli oggetti con una sintassi simile al [[linguaggio C]] e al [[Linguaggio C Plus Plus|linguaggio C++]]. Allo sviluppatore già esperto di programmazione OO, alcuni punti dovrebbero essere evidenziati:
# Java supporta solo la singola ereditarietà di classi, ma permette l'ereditarietà multipla di interfacce.
# Java ha una libreria di classi molto grande (detta Java API) simile a SmallTalk, e supporta molte caratteristiche, dai contenitori di oggetti a complesse esigenze di sicurezza.
# Java viene eseguito attraverso una Virtual Machine
L'apprendimento del linguaggio non è difficile, sebbene la padronanza completa delle librerie sia un processo lungo. La maggior parte degli utenti iniziano con le classi come String e ArrayList.
Un buon punto di partenza per imparare Java è il [http://java.sun.com/docs/books/tutorial/ tutorial di Sun].
Un'altra pagina molto utile per i principianti e gli esperti è la pagina della sintassi Java aggiornata all'ultima versione, sempre presso il sito Sun, che si trova [http://java.sun.com/j2se/1.4.1/docs/api/ qui]
Per sviluppare programmi in Java è sufficente un qualsiasi editor di testo. Comunque per aiutarci nella realizzazione dei nostri progetti estistono diversi IDE (Integrated Development Environment, ambiente di sviluppo integrato) che ci aiutano in tal senso alcuni dei quali a pagamento altri gratuiti.
Un ambiente di sviluppo per Java gratuito e soprattuto leggero è GEL (realizzato in Delphi), disponibile alla pagina http://www.gexperts.com solo per Windows; mentre Bluej, di chiara impostazione didattica, è disponibile per tutti i sistemi operativi al sito gratuito http://www.bluej.org/. Un altro ambiente per lo sviluppo in Java (e non solo) più complesso, potente e sempre gratuito è Eclipse donato alla comunità di sviluppatori da IBM e scaricabile dalla pagina http://www.eclipse.org Inoltre la Sun mette a disposizione un proprio ambiente di sviluppo gratuito (esiste anche una versione a pagamento) Sun One Studio Comunity Edition utilizzabile su diversi sistemi operativi. Questo ambiente è ricco di funzionalità ed è molto pesante. Il download è possibile effettuarlo da questa pagina http://wwws.sun.com/software/download/
== Curiosità ==
|