sabato 31 maggio 2014

iPhone 6 già svelato?

E' appena comparso un video in rete del nuovo iPhone 6!
Durante le prove video del WWDC 2014 è comparso il nuovo gioiellino Apple! vi posto il video nella speranza che nelle prossime ore si sappia qualcosa in più! Stay tuned!

Afaldo e Solomon

Svelato il logo di iOS 8

La WWDC 2014 è davvero alle porte. Lunedì alle 18:00 potrete seguire su iSpazio l’intero evento Apple in diretta ed in tempo reale ma nel frattempo il Moscone Center è stato addobbato con gli ultimi banner che ritraggono iOS 8.


Il Logo è semplicissimo, un 8 completamente bianco su uno sfondo blu con tema marino. Le novità di questa nuova versione del sistema operativo sono ancora sconosciute nonostante i rumors a riguardo sembrano aver già svelato il meglio. Vi terremo aggiornati e vi invitiamo a seguire la diretta su iSpazio, il 2 Giugno dalle 18:00 con tanti premi per voi.

image

bo5ry0ycaaeyt2j-jpg-large

bo5_mdwcmaa-ibl-jpg-large

Google Big G " La nuova frontiera di Google"

Attraverso il progetto “Self Driving Cars”, Google sta lavorando sul prototipo della Big G, l’auto che si guida da sola e che, secondo le intenzioni dell’azienda del noto motore di ricerca, tra 5 anni sarà commercializzata in massa.
Secondo le intenzioni di Google, a bordo della Big G i passeggeri si aspettano un veicolo in cui il loro compito sarà quello di appoggiarsi allo schienale, rilassarsi e godersi il viaggio. Il guidatore quindi, nell’auto di Google diventerà passeggero: Big G abolirà completamente la figura del conducente.
L’auto parte con un bottone di avvio, uno di arresto ed è munita di uno schermo che mostra il percorso.  Il nuovo prototipo rilasciato in questi giorni dalla divisione Google X, è una tappa ulteriore del percorso decennale partito nel 2010 e che entro i prossimi 5 anni, secondo le intenzioni di Google, farà sbarcare sul mercato la Big G, la macchina che si guida da sola, che sempre secondo le intenzioni del costruttore, sarà venduta in massa.
L’autovettura in grado di trovare parcheggio autonomamente e svolgere comuni attività durante la giornata. Un’automobile capace, spiega sempre Google, di “trasformare in storia passata guidatori distratti o ubriachi, consentendoci anche di poter fare un salto in centro all’ora di pranzo senza perdere 20 minuti per trovare parcheggio”.
Il nuovo prototipo testato dall’azienda di Mountain View non ha un volante, né pedali. Al momento raggiunge i 40 km/h ed ha solo due posti. E’  priva di qualsiasi confort interno dato che Google al momento ha posto l’attenzione solo sui sensori di sicurezza. A guidare l’auto è un software interno e dei sensori impiantati lungo il perimetro dell’auto e collegati a “Lidar”, il gigantesco occhio elettronico montato sul tetto. Addio punti ciechi: la Big G è in grado di rilevare oggetti in tutte le direzioni ad una distanza maggiore di 250 metri, circa due campi da calcio.
L’auto al momento ha ancora delle parti su cui i tecnici di Google stanno ancora lavorando. Big G ad esempio, non è in grado di funzionare in presenza di condizioni meteo avverse come nebbia, pioggia e neve e non riesce a sopravvivere offline. Se perde la connessione al web, la vettura non è in grado di seguire le mappe e quindi bisognerà tornare all’antica riprendendo i comandi per guidare manualmente fino a casa.
L’auto che all’apparenza assomiglia ad una Smart, al momento non è anche in grado di rilevare i comandi manuali della polizia che fermano le auto per un controllo. Big G non può neanche segnalare animali come scoiattoli: i sensori montati sulla Google car infatti, al momento non rilevano animali così minuscoli.
Alberto Broggi, docente di Visione Artificiale all’Università di Parma e fondatore del Vislab che da più di vent’anni realizza prototipi autonomi però, non ha dubbi: “La tecnologia è pronta, mancano le leggi. Nel giro di cinque anni potremmo vedere i primi veicoli automatici sulle autostrade, dove è più facile rispetto alla città. 
Forse tra molti anni non vedremo più conducenti al volante, forse non si prenderà più la patente, forse si dovrà soltanto comprare una macchina e comandarla sulla destinazione. Vedremo quali saranno le conseguenze in tutto il mondo.
Afaldo e Solomon.

La privacy è tutto?

12mila le richieste di rimozione arrivate da tutta Europa,  dopo che Google ha aperto la possibilità ai cittadini europei di poter inviare con un modulo su Internet la richiesta di rimuovere link inadeguati, a loro riferiti. e
Larry Page non ha perso tempo. E a due settimane dalla sentenza della Corte Europea sul cosiddetto "diritto all'oblio" Google mette a disposizione degli utenti un modulo web attraverso il quale i cittadini europei possono chiedere al motore di ricerca la rimozione di risultati non rilevanti sul proprio conto.

La notizia è stata diffusa da Google, e lo stesso Page ha rilasciato un'intervista al Financial Times nella quale ha spiegato nel dettaglio la decisione presa da Big G. Una decisione storica, perché per la prima volta un cittadino potrà chiedere a un motore di ricerca la rimozione di link sul suo conto, se ritiene questi «inadeguati, irrilevanti o non più rilevanti, o eccessivi in relazione agli scopi per cui sono stati pubblicati». Le ragioni di Google. «Per ottemperare alla recente decisione della Corte Europea, - fa sapere un portavoce di Google - abbiamo reso disponibile un modulo web attraverso cui gli Europei possono chiedere la rimozione di risultati dal nostro motore di ricerca. La sentenza della Corte richiede a Google di prendere decisioni difficili in merito al diritto di un individuo all'oblio e al diritto del pubblico di accedere all'informazione.


La procedura Inutile dire che, almeno nelle prime fasi, il processo sarà complesso e non privo di problematiche. Molti esperti di diritto della comunicazione, infatti, hanno storto il naso leggendo la sentenza della Corte Europea. E gli stessi motori di ricerca non hanno accettato di buon grado la decisione dei giudici. Ma Google ha deciso di muoversi in fretta realizzando il modulo per la richiesta di rimozione dei link. Il procedimento, analizzando il form creato dai programmatori di Big G, appare molto essenziale. C'è da selezionare il Paese dell'Ue al quale l'utente appartiene, poi i propri dati (nome, cognome e indirizzo mail, allegando la scansione di un documento di identità), gli url per i quali è richiesta la rimozione e un breve messaggio nel quale si spiega la motivazione della richiesta. Roba di pochi minuti, insomma.



Aspetteremo le conseguenze che sicuramente sortiranno da questa sentenza. Afaldo e Solomon

venerdì 30 maggio 2014

Smartwatch; " Windows combatte la concorrenza"

Giungono dal mondo Microsoft notizie più che interessanti che riguardano il nuovo smartwatch che dovrebbe arrivare in commercio già a partire da quest’estate. Rispetto ai vari orologi intelligenti delle altre aziende concorrenti, lo smartwatch di Microsoft sarà infatti compatibile con tre sistemi operativi differenti.


on solo quindi Windows Phone, ma anche Android ed iOS, un modo importante per poter in questo l’opportunità di avere più celta, non focalizzarsi su precisa nicchia di consumatori, ma allargare invece i propri orizzonti ed avere più acquirenti al proprio cospetto.


Lo smartwatch di Microsoft, compatibile quindi anche con Android, prevede delle caratteristiche importanti, tra le quali misurare la propria frequenza cardiaca praticamente 24 ore su 24. Inoltre l’aspetto e la durata della batteria saranno molto simili al Galaxy Fit della Samsung. Non ci resta a questo punto che vedere lo smartwatch di Microsoft sul mercato.

"Mamma devo comprarmi assolutamente quel gioco"

Spesso e volentieri durante il giorno ci stupiamo di ciò che accade nel mondo, nelle nostre città, e tanto più nella nostra vita. Vivere la vita con stupore è il profumo di compiere azioni belle durante la giornata. I pittori, nel passato, si stupivano dinnanzi un paesaggio, gli scrittori e poeti davanti una poema epico che narrava le gesta del prode Achille e potrei andare avanti per ore. Ma oggi per cosa ci stupiamo? Ci potremmo stupire per un'eclissi lunare, o per coloro che battono ogni records ma oggi ci si può stupire guardando soltanto il trailer e le prime immagini di un gioco per Xbox One o per PS4, oggi ci si  emoziona  aspettando il gioco tanto desiderato, aspettando finalmente il momento in cui sarà nella nostra console. Il gioco è utile nella crescita dei bambini, ci vuole moderazione ovviamente, ma è scientificamente testato che un'ora di gioco al giorno stimola la mente e stimola i riflessi del corpo ed inserisce il bambino in un mondo da scoprire. Io e Solomon siamo del parere che questa era è l'era dell'informatica e come tale dobbiamo servircene. Tanti saluti da Afaldo e Solomon. Aspettiamo i vostri commenti

Programmazione: Capitolo 4, Parte 2

Invocare metodi statici
§ Un metodo static non agisce su un oggetto.
NON si può scrivere

double x = 4;
double root = x.sqrt(); // Errore
4.sqrt(); // Errore

§ I metodi statici sono sempre definiti all'interno di classi
§ Per convenzione: i nomi delle classi iniziano con una
lettera maiuscola, quelli di oggetti e metodi con una
lettera minuscola (le invocazioni di metodi sono seguite
da parentesi)
Math
System.out

Sintassi 4.3: Invocazione di un metodo statico
NomeClasse.nomeMetodo(parametri)
Esempio:
Math.sqrt(4)
Obiettivo:
Invocare un metodo statico (un metodo che non agisce
su un oggetto) e fornire i suoi parametri.

. Stringhe
§ Una stringa è una sequenza di caratteri
"Hello, World!"

§ Le stringhe sono esemplari della classe String
§ Per calcolare la lunghezza di una stringa:
int n = message.length();

§ Stringa vuota: “”
Concatenazione negli enunciati print
§ La concatenazione è molto utile per ridurre il numero
degli enunciati System.out.print.
§ Per esempio,
System.out.print("The total is ");
System.out.println(total);

può essere combinato nella singola invocazione:
System.out.println("The total is " + total);
Conversione tra stringhe e numeri
§ Se una stringa contiene le cifre di un numero, viene usato il
metodo Integer.parseInt o Double.parseDouble per
ottenere il valore numerico.
§ Cosa succede se la stringa non contiene un valore
corrispondete al tipo usato?
int parsedInt1 = Integer.parseInt("45.2");
Exception in thread "main" java.lang.NumberFormatException: For input string:
"45.2"
at java.lang.NumberFormatException.
forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:458)
at java.lang.Integer.parseInt(Integer.java:499)
at capitolo4.NumericParsingTester.main(NumericParsingTester.java:14)


Eccezioni e studenti
§ Reazione tipica: Non funziona! Il programma è morto! Non
so che fare!
§ Il messaggio d'errore contiene informazioni importanti.
§ L'eccezione
java.lang.NumberFormatException: For input string: "45.2"
§ File e riga dove viene lanciata l'eccezione
at capitolo4.NumericParsingTester.
main(NumericParsingTester.java:14)
§ Cercare la prima linea del vostro codice che appare nella
segnalazione di eccezione.
substring
§ Per estrarre una parte di una stringa, viene usato il metodo
substring.
§ La prima posizione della stringa è contrassegnata dall’indice 0,
la seconda da 1 e così via.
§ Le posizioni dei caratteri in una stringa si contano a partire da
zero.

Posizioni di una stringa






substring

§ È possibile calcolare la lunghezza di una sottostringa
mediante l'operazione pastEnd - start
§ per esempio, la stringa “World” ha lunghezza 12 – 7 = 5.

Estrazione di una sottostringa
Leggere dati in ingresso
§ All'oggetto System.in è associato un insieme di funzionalità
minimali: può leggere solo un byte alla volta
§ In Java 5.0, è stata aggiunta una classe Scanner che consente la
lettura semplice e comoda dei dati inseriti in ingresso da tastiera.
§ Quando viene invocato il metodo nextInt o nextDouble, il
programma si arresta in attesa che l’utente digiti un numero e prema
il tasto “Enter” (“Invio”):
§ Il metodo nextLine restituisce la successiva riga di testo fornita in
ingresso (fino alla pressione del tasto “Enter”), sotto forma di oggetto
di tipo String.
§ Il metodo next restituisce, invece, la parola successiva, una
sequenza di caratteri terminata da un carattere di spaziatura (“white
space”)
Leggere dati in ingresso
§ Gli oggetti di tipo Scanner hanno metodi per
verificare il tipo del dato che sta per essere letto
public boolean hasNextInt()
public boolean hasNextLong()
public boolean hasNextLine()
....
File CashRegisterSimulator.java
01: import java.util.Scanner;
02:
03: /**
04: Programma che simula una transazione in cui un utente paga
05: per un articolo e riceve il resto
06: */
07: public class CashRegisterSimulator
08: {                    
09: public static void main(String[] args)
10: {
11: Scanner in = new Scanner(System.in);
12:
13: CashRegister register = new CashRegister();
14:
15: System.out.print("Enter price: ");
16: double price = in.nextDouble();
17: register.recordPurchase(price);
18:
19: System.out.print("Enter dollars: ");
20: int dollars = in.nextInt();
21: int dollars = in.nextInt();
22: System.out.print(“Enter quarters: “);
23: int quarters = in.nextInt();
24: System.out.print(“Enter dimes: “);
25: int dimes = in.nextInt();
26: System.out.print(“Enter nickels: “);
27: int nickels = in.nextInt();
28: System.out.print(“Enter pennies: “);
29: int pennies = in.nextInt();
30: register.enterPayment(dollars, quarters, dimes, nickels,
pennies);
31:
32: System.out.print(“Your change: “);
33: System.out.println(register.giveChange());
34: }
35: }
Visualizza
Enter price: 7.55
Enter dollars: 10
Enter quarters: 2
Enter dimes: 1
Enter nickels: 0
Enter pennies: 0
Your change is 3.05


Ecco i primi prototipi di Apple

I device Apple oltre per la loro funzionalità si distinguono sul mercato per il lorodesign. Iniziando dal pack, infatti, la cura dei dettagli anche nell’estitca è il principio cardine che ha da sempre fatto di Apple un brand leader in fatto di tecnologia. Ovviamente, per arrivare alle soluzioni attuali, è passato del tempo e sono stati vagliati diversi prototipi. Eccone alcuni.


Su alcune delle foto che vi proponiamo è rappresentato il vecchio logo multicolore Apple. Nonostante all’occhio di un consumatore attuale questi prototipi sarebbero completamente da bocciare, in essi già si intravede un design moderno, diverso, qualcosa che emerge dalla massa.
KIS_ch6_26SEP13.inddKIS_ch6_26SEP13.inddKIS_ch3_26SEP13.indd
Per sapere come un giovane utente potrebbe reagire a questo tipo di tecnologia, guardate il video riportato cliccando qui
Afaldo e Solomon 

Eddy Cue ci parla dell' Apple TV

In questi giorni, all’annuale Code ConferenceEddy CueSVP of Internet Software and Services di Apple, e Jimmy Iovine sono stati intervistati da Walt Mossberg e Kara Swisher. Tra i vari topic spaziati nel corso dell’intervista, molta attenzione è stata dedicata all’ Apple TV. Abbiamo spesso presentato concept e render di come i fan vedono l’evoluzione del device o di una iTV completamente Apple, ma ecco come la pensa Cupertino.


Le parole che Cue ha utilizzato per descrivere l’attuale esperienza televisiva non sono state certo leggere, infatti termini come “it sucks” sono emersi nel corso dell’intervista. L’SVP di Apple inoltre, tiene a specificare quanto Apple stia lavorando per migliorare questo lato dell’intrattenimento domestico ma che, al tempo stesso, risolvere alcuni problemi appare complicato.
I problemi in se, afferma Cue, non sono complicati, ma lo è la loro risoluzione dato il coinvolgimento di altre parti.
Tra quelli più complicati vi è la mancanza di uno standard internazionale e la legislazione per quanto riguarda i contenuti multimediali trasmessi.
All’interno dell’intervista viene inoltre illustrato come Cue sia in contatto con diverse terze parti per migliorare questo servizio e nello specifico tiene a nominare il CEO di Comcast Brian Roberts. Cue stesso è un iscritto del portale e afferma di guardare comodamente ESPN e HBO dalla sua Apple TV.
Cue spende anche alcune parole sulla linea Apple in generale affermando che quest’anno vedrà la miglior linea di prodotti che Cue abbia mai visto in 25 alla Apple. Ovviamente una volta chiestogli di dare dettagli sulla linea citata è caduto in un silenzio stampa.
Via | Macrumors
Afaldo e Solomon 

Beats rimane con android e con windows phone

L’annuale Code Conference, come abbiamo visto, ha avuto come ospite Eddy Cue. Ovviamente tra le domande che sono state rivolte a Cue non potevano mancare alcune rivolte all’acquisizione di Beats da parte di Apple e in particolare a quello che sarà il futuro di Beats  Music per tutti i dispositivi non iOS.


Eddy Cue, durante la sua intervista, tiene a specificare che Beats Music permarrà anche per tutti i device Android e Windows Phone. La notizia da un lato rassicura molto gli utilizzatori del servizio e dall’altro sbalordisce tutta la community della tecnologia poiché Beats Music diverrebbe la prima app Apple disponibile su dispositivi non iOS.
Considerata la grande fetta del mercato occupata da dispositivi Android, già in passato secondo un report di Billboard Apple stava pensando di estendere iTunes ai device Android al fine di soccorrere i dati poco soddisfacenti delle vendite di prodotti musicali, progetto che, almeno per quanto ne sappiamo, è rimasto ancora un rumor.
Via | Macrumors
Afaldo e Solomon 

giovedì 29 maggio 2014

Programmazione: Capitolo 4, Parte 1

Tipi di numeri
§ int: numeri interi, no parti frazionarie
1, -4, 0

§ double: numeri in virgola mobile
0.5, -3.11111, 4.3E24, 1E-14

Tipi numerici
§ Un calcolo numerico trabocca se il risultato esce
dall’intervallo del tipo numerico.

int n = 1000000;
System.out.println(n * n); // visualizza -727379968

§ Java ha otto tipi primitivi, fra i quali quattro tipi interi
e due tipi in virgola mobile.










Tipi primitivi

Tipi numerici: virgola mobile
§ Avvengono errori di arrotondamento quando non si può
fare una conversione numerica esatta.
double f = 4.35;
System.out.println(100 * f); // visualizza 434.99999999999994

§ In Java non si può assegnare un valore in virgola mobile
a una variabile intera:

double balance = 13.75;
int dollars = balance; // Errore

Tipi numerici: virgola mobile
§ Cast (forzatura): converte in numero intero il valore in
virgola mobile
                    
int dollars = (int) balance;

Il cast (int) ignora la parte frazionaria.

§ Il metodo Math.round arrotonda un numero in virgola
mobile all'intero più vicino

long rounded = Math.round(balance));

Se balance vale 13.75, allora a rounded viene
assegnato il valore 14.

Sintassi 4.1: Cast
(nomeTipo) espressione
Esempio:
(int) (balance * 100)
Obiettivo:
Convertire un’espressione in un tipo di dati diverso.

Numeri grandi e precisione final
§ classi BigInteger (numeri interi grandi) e BigDecimal
(numeri frazionari grandi) in java.math
Pro: Altissima “capienza” e precisione
Contro: Lentezza. Bisogna usare metodi per eseguire
operazioni (add, subtract e multiply)

BigInteger n = new BigInteger(“1000000”);
BigInteger r = n.multiply(n);
System.out.println(r); // Visualizza 1000000000000

BigDecimal d = new BigDecimal(“4.35”);
BigDecimal e = new BigDecimal(“100”);
BigDecimal f = d.multiply(e);
System.out.println(f); // Visualizza 435.00




Costanti final
§ Una variabile final è una costante
§ dopo che le è stato assegnato un valore, non può più essere
modificato.
§ Dare un nome alle costanti rende i programmi più facili da
leggere e da modificare.
Non usare numeri “magici”! Introdurre una costante
§ Convenzione: per le costanti utilizzare nomi con tutte le lettere
maiuscole.
final double QUARTER_VALUE = 0.25;
final double DIME_VALUE = 0.1;
final double NICKEL_VALUE = 0.05;
final double PENNY_VALUE = 0.01;
payment = dollars + quarters * QUARTER_VALUE + dimes * DIME_VALUE
+ nickels * NICKEL_VALUE + pennies * PENNY_VALUE;

Costanti static final
§ Spesso le costanti vengono usate in più metodi, per cui è
necessario dichiararle insieme ai campi di esemplare della
classe, identificandole come static, oltre che final.
§ Metodi di altre classi possono accedere a una costante
pubblica indicando il nome della classe in cui essa è
definita, seguito da un punto e dal nome della costante
stessa. Esempio Math.PI.
La classe Math della libreria standard definisce un paio di utili costanti:

public class Math
{
. . .
public static final double E = 2.7182818284590452354;
public static final double PI = 3.14159265358979323846;
}


Sintassi 4.2: Definizione di costante
Come variabile locale di un metodo o come attributo di un oggetto:
final nomeTipo nomeVariabile = espressione;
In una classe:
specificatoreDiAccesso static final nomeTipo nomeVariabile
= espressione;
Esempio:
final double NICKEL_VALUE = 0.05;
public static final double LITERS_PER_GALLON = 3.785;
Obiettivo:
Definire una costante come variabile locale di un metodo,
o come attributo di un oggetto, o come variabile di classe.
File CashRegister.java
01: /**
02: Un registratore di cassa somma gli articoli venduti
e calcola il resto dovuto al cliente.
03: */
04: public class CashRegister
05: {
06: /**
07: Costruisce un registratore di cassa senza soldi
nel cassetto.
08: */
09: public CashRegister()
10: {
11: purchase = 0;
12: payment = 0;
13: }
14:
15: /**
16: Registra la vendita di un articolo.
17: @param amount il prezzo dell'articolo
18: */
19: public void recordPurchase(double amount)
20: {
21: purchase = purchase + amount;
22: }
23:
24: /**
25: Registra la quantità di denaro ricevuta per il pagamento.
26: @param dollars il numero di dollari pagati
27: @param quarters il numero di quarti di dollaro pagati
28: @param dimes il numero di decimi di dollaro pagati
29: @param nickels il numero di nickel di dollaro pagati
30: @param pennies il numero di penny di dollaro pagati
31: */
32: public void enterPayment(int dollars, int quarters,
33: int dimes, int nickels, int pennies)
34: {
35: payment = dollars + quarters * QUARTER_VALUE
+ dimes * DIME_VALUE
36: + nickels * NICKEL_VALUE + pennies
* PENNY_VALUE;
37: }
38:
39: /**
40: Calcola il resto dovuto al cliente e azzera
la macchina per la vendita successiva.
41: @return il resto dovuto al cliente
42: */

43: public double giveChange()
44: {
45: double change = payment - purchase;
46: purchase = 0;
47: payment = 0;
48: return change;
49: }
50:
51: public static final double QUARTER_VALUE = 0.25;
52: public static final double DIME_VALUE = 0.1;
53: public static final double NICKEL_VALUE = 0.05;
54: public static final double PENNY_VALUE = 0.01;
55: // campi di esemplare
56: private double purchase;
57: private double payment;
58: }

File CashRegisterTester.java
01: /**
02: Classe che collauda la classe CashRegister.
03: */
04: public class CashRegisterTester
05: {       
06: public static void main(String[] args)
07: {
08: CashRegister register = new CashRegister();
09:
10: register.recordPurchase(0.75);
11: register.recordPurchase(1.50);
12: register.enterPayment(2, 0, 5, 0, 0);
13: System.out.print("Change=");
14: System.out.println(register.giveChange());
15:
16: register.recordPurchase(2.25);
17: register.recordPurchase(19.25);
18: register.enterPayment(23, 2, 0, 0, 0);
19: System.out.print("Change=");
20: System.out.println(register.giveChange());
21: }
22: }
Visualizza
Change=0.25
Change=2.0




Assegnazione, incremento e decremento
§ L'operatore = è detto operatore di assegnazione
§ alla sua sinistra ci deve essere il nome di una variabile, mentre alla
destra ci può essere un singolo valore o un’espressione
§ imposta la variabile al valore dato s = items + 1;m
§ L’assegnazione di un valore a una variabile non è
un’uguaglianza matematica.
§ Gli operatori ++ e – – incrementano e decrementano una
variabile di un’unità.
§ items++ ha lo stesso effetto di items = items + 1
§ items-- sottrae 1 a items

Assegnazione, incremento e decremento

Incrementare una variabile


Operazioni aritmetiche
§ / è l'operatore per la divisione
§ Se entrambi gli argomenti dell’operatore / sono di tipo
intero, il risultato è un numero intero e il resto viene
ignorato.
§ 7.0 / 4 restituisce 1.75
7 / 4 restituisce 1
§ L’operatore % calcola il resto di una divisione.
§ 7 % 4 è 3

Divisione tra interi
§ Errore comune
int s1 = 5; // punteggio della prova 1
int s2 = 6; // punteggio della prova 2
int s3 = 3; // punteggio della prova 3
double averageErr = (s1 + s2 + s3) / 3; // Errore
double averageOk1 = (s1 + s2 + s3) / 3.0; // OK
double sum = s1 + s2 + s3;           
double averageOk2 = sum / 3; // OK
La classe Math
§ La classe Math contiene i metodi sqrt e pow per
calcolare radici quadrate e potenze.
§ Per calcolare xn, si usa il metodo Math.pow(x, n)
§ tuttavia, per calcolare x2 è molto più efficiente scrivere
semplicemente x * x
§ Per estrarre la radice quadrata di un numero, si usa il
metodo Math.sqrt scrivendo Math.sqrt(x)
§ In Java,
 diventa
(-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a)




Metodi matematici in Java