Operazioni: interi

Le operazioni più comuni con gli interi public class Interi { public static void main(String[] args) { int a=10, b=3; System.out.println(“+a = ” + (+a)); //operatori aritmetici unari System.out.println(“-a = ” + (-a)); System.out.println(); System.out.println(“a+b = ” + (a+b)); //operatori aritmetici binari System.out.println(“a-b = ” + (a-b)); System.out.println(“a*b = ” + (a*b)); System.out.println(“a/b = ” … Leggi tutto

Autoverifica > Ereditarietà #2

Progetta e implementa Classe Implementazione Pila is a Vector has a Vector has an array (statico / dinamico) … Coda Coda doppia is a Coda (Coda is a Vector) Coda con priorità Il libro di testo consiglia di utilizzare anche java.util.ArrayList java.util.LinkedList perché sono più efficienti.

Autoverifica > Ereditarietà #1

Quali sono gli effetti, singolarmente, dei modificatori seguenti se applicati ad un metodo final abstract Dovendo lanciare il costruttore di default della superclasse cosa scrivi? Spiega la differenza tra overloading overriding Una classe può / non può … più classi. Java implementa l’eredità singola / doppia. Perché è stata fatta questa scelta? Qual è l’effetto … Leggi tutto

Metodi statici

In Java esistono molte classi che si comportano come librerie di metodi di utilità generale java.util.Arrays public static int binarySearch(…, …) public static boolean equals(…, …) public static void fill(…, …) public static void sort(…) public static String toString(…) java.lang.Integer public static int reverse(…), rotateLeft(…), rotateRight(…) public static String toString(…), toString(…, …), toBinaryString(…), toHexString(…), toOctalString(…) … Leggi tutto

Attributi statici

Una classe può contenere delle costanti di utilità generale come java.lang.Math public static final double E =2.718281828459045d public static final double PI =3.141592653589793d) java.lang.Double public static final double MIN_VALUE public static final double MAX_VALUE public static final double NEGATIVE_INFINITY public static final double POSITIVE_INFINITY public static final double NaN Un uso particolare degli attributi statici … Leggi tutto

Eccezioni

Un’istruzione rischiosa può provocare un evento eccezionale che richiede un trattamento adeguato try {    /*     * sequenza di istruzioni     * …rischiose…     */ } catch(Eccezione e) {    /*     * sequenza di istruzioni per il     * …trattamento…     * dell’eccezione     */ } … Leggi tutto

java.math.*

Classi che permettono di realizzare calcoli aritmetici con precisione arbitraria, cioè senza limiti di grandezza o precisione BigDecimal: è possibile scegliere tra 8 diversi modi di arrotondamento… BigInteger: in aggiunta alle operazioni standard fornisce MCD, test di primalità, generazione di numeri primi e manipolazione dei bit. java.math.BigDecimal public class BigDecimal extends Number implements Comparable Costruttori … Leggi tutto

Livelli di visibilità

Gli attributi, i metodi e le classi possono essere dichiarati con diversi livelli di visibilità e con altre caratteristiche. Attributo public Accessibile da qualsiasi altra classe private Accessibile solo dalla classe protected Accessibile solo dalla stessa libreria e dalle sottoclassi della stessa classe Accessibile solo dalla stessa libreria static Esiste una sola copia, per la … Leggi tutto

java.util.Random

Generatore di numeri casuali public class Random extends Object implements Serializable Costruttori Random() Random(long) Metodi boolean nextBoolean() byte nextByte() int nextInt() nextInt(int) double nextDouble() nextGaussian() float nextFloat() long nextLong() setSeed(long) nextBytes(byte[])

Array a più dimensioni

… double[][] a = new double[3][4]; oppure double[][] a = { { 0.0, 0.0, 0.0, 0.0 },                 { 0.0, 0.0, 0.0, 0.0 },                 { 0.0, 0.0, 0.0, 0.0 }               }; Nota a.length, lunghezza dell’array di … Leggi tutto