Lezione 2
Introduzione a Java
(seconda parte)
Classi "wrapper" (involucro)
Si trovano in java.lang e sono usate per guardare a elementi di un tipo primitivo come se fossero oggetti. Tipo Primitivo Wrapper class
boolean byte char short int long float double Boolean Byte Character Short Integer Long Float Double
Un oggetto di questo tipo può essere costruito passando il valore al rispettivo costruttore, ad es.
int intero = 100; Integer wintero = new Integer(intero);
Ogni wrapper class mette a disposizione metodi e costanti, es:
int int int int j = i = min max wintero.intValue(); Integer.parseInt("110"); = Integer.MIN_VALUE; = Integer.MAX_VALUE;
Input / Output
Come in C e C++ l'input/output è supportato da una libreria e non dal linguaggio. La libreria si chiama java.io Vediamo come effettuare input / output in modo semplice, attraverso la Java console window (cioè la finestra terminale di Linux) Stream = sequenza/flusso di bytes in input o output Quando si esegue un'applicazione Java vengono automaticamente creati tre oggetti stream (della classe java.lang.System): System.in (input di byte da tastiera) int read() della classe InputStream legge un byte alla volta e ritorna -1 alla fine dello stream di input (output a video) print(), println() della classe PrintStream permettono di visualizzare dati di tipo primitivo, String e Object (messaggi di errore a video)
System.out
System.err
Un esempio di lettura da input
non gestiamo eventuali errori in lettura
public class ContaCaratteri { public static void main(String[] args) throws java.io.IOException { int num = 0; // leggo lo stream di input fino alla fine dello // stream (si termina con doppio Ctrl d) while (System.in.read() != -1){ num++; } System.out.println("\n Input di " + num + " caratteri.");
}
}
va a capo!
leggere un solo byte alla volta non è molto comodo...
lettura da input con BufferedReader
public class EsempioLettura { public static void main(String[] args) throws java.io.IOException { int a;