Moltiplicare il saldo per 1.05
Rimuovi la prima è l’ultima lettera dalla parola
Per descrivere decisioni e ripetizioni:
Se il costo totale e minore di 2
Fino a quando il saldo e inferiore a 20.000
Sviluppo programma: Capire il problema → sviluppare e descrivere un algoritmo → testare
l’algoritmo con dati semplici → tradurre l’algoritmo in Java → compilare e testare il programma
Self check 1.22
Supponi che il tuo operatore di telefonia mobile ti addebiti $29.95 per un massimo di 300 minuti
di chiamate e $0.45 per ogni minuto aggiuntivo, più il 12.5% di tasse e oneri.
Numero di minuti al massimo 300: $29.95×1.125=$33.70
Se i minuti sono più di 300:
1) Calcola la differenza: (numero di minuti) −300 2) Moltiplica quella differenza per 0.45 3)
Aggiungi $29.95 al totale 4) Moltiplica il totale per 1.125. Quella è la risposta. 6/10/2025
CAPITOLO 2
Usiamo una variabile quando vogliamo
salvare un valore che vogliamo usare più
tardi (memorizzare gli oggetti stessi e i
valori restituiti dai loro metodi). Quando si
dichiara una variabile dobbiamo
specificarne il tipo (int). 20 e il valore che
vogliamo memorizzare quando la
dichiariamo. Ogni dichiarazione di variabile deve concludersi con ; Una variabile e una zona di
memoria. Quando si dichiara una variabile generalmente (non obbligatorio) se ne specifica anche
un valore iniziale, cioè la si inizializza con un valore che viene memorizzato nella variabile non
appena questa viene creata. Invece, è obbligatorio specificare il tipo di valori (serve solo la prima
volta in cui la dichiaro). Nella foto si dichiara una variabile intera e la si inizializza con il valore 20.
Un tipo definisce un insieme di valori e le operazioni che si possono fare con questi.
Il tipo int usato per numeri che non hanno la parte frazionaria.
Il tipo double usato per numeri che hanno parte frazionaria.
Io posso fare la dichiarazione alla riga 2, ma prima devo aver dichiarato la variabile width.
Nella prima sbagliata manca il tipo, quindi non è una dichiarazione di variabile.
Dove c'è scritto “20” si parla di una stringa, non di un valore.
height all’ultima riga e un’altra variabile (ma non useremo questo metodo in quanto per ogni
dichiarazione di variabile è preferibile una riga nuova). La dichiarazione si fa all’inizio. String alla
riga 3 introduce un testo che va scritto tra virgolette.
Il tipo specifica le operazioni che si possono fare con i suoi
valori. width
Puoi moltiplicare il valore contenuto in per un numero.
greeting
Non puoi moltiplicare per un numero.
Identificatori
Ci sono delle regole per dare i nomi, o identificatori, alle variabili (altrimenti il compilatore da
errore).
- scegliere un nome che ricordi lo scopo della variabile (consiglio)
- possono contenere lettere, cifre, _, $
- non si possono usare altri simboli
- un identificatore non deve cominciare con una cifra (le cifre possono esserci, ma non
all’inizio)
- gli spazi non sono permessi
- non si possono usare parole riservate com public, double, class…
- case sensitive (cio che e scritto in maiuscolo deve essere maiuscolo)
Per convenzione i nomi delle variabili iniziano con la lettera minuscola, quelli delle classi con la
lettera maiuscola. Non usare il simbolo $ all’interno di nomi.
Un commento può essere utile per la leggibilità del codice. Se il commento e scritto solo su una
linea si possono usare //. Per commenti lunghi servono i delimitatori /* e */.
Il valore della variabile che è già stata dichiarata si può cambiare. Per cambiare il valore serve
l’operatore di assegnamento = (cambiare valore ad una variabile che è già stata dichiarata).
Hai la seguente dichiarazione di variabile:
int width = 10;
Per cambiare il valore della variabile, assegna il nuovo valore:
width = 20;
È un errore usare una variabile a cui non è mai stato assegnato un valore. Rimedio: assegna un
valore a quella variabile prima di usarla. Tutte le variabili devono essere inizializzate prima di
accedervi. =
Il lato destro del simbolo può essere un'espressione matematica:
width = height + 10 height + 10
Significa: 1) calcola il valore di 2) memorizza quel valore nella variabile
width
width = width + 10; width + 10
Significa: 1) calcola il valore di 2) memorizza quel valore
width
nella variabile
Self check 2.4
Cosa c'è di sbagliato nella seguente dichiarazione di variabile?
int miles per gallon = 39.4
●
Ci sono 3 errori:1) Non puoi avere spazi nei nomi delle variabili. 2) Il
tipo di variabile dovrebbe essere double perché contiene un valore frazionario. 3) Manca un
punto e virgola alla fine dell'istruzione
Self check 2.5 unitPrice quantity,
Dichiara e inizializza due variabili, e per contenere: il prezzo unitario di
un singolo articolo e il numero di articoli acquistati.
Risposta:
double unitPrice = 1.95;
● int quantity = 2;
●
Self check 2.6 unitPrice quantity
Usa le variabili e , appena dichiarate, per visualizzare il prezzo totale di
acquisto.
Risposta:
System.out.print("Total price: ");
● System.out.println(unitPrice * quantity);
●
Self check 2.7 0 "0"? int String
Quali sono i tipi dei valori e Risposta: e 7/10/2025
In Java, si costruiscono programmi per gli oggetti. Si possono definire diversi tipi di oggetti e
ognuno di questi ha determinati comportamenti: oggetti appartenenti alla stessa classe hanno lo
stesso comportamento. Per manipolare questi oggetti e ottenere certi effetti si utilizzano i metodi.
Oggetto: entità che si può manipolare invocando i suoi metodi (non tutti i metodi si possono
applicare a tutti gli oggetti).
Metodo: sequenza di istruzioni che possono accedere ai dati interni dell’oggetto. Si sa cosa
queste istruzioni fanno, ma non sappiamo quali sono queste istruzioni.
System.out ha metodo println : non si sa come funzioni, l’importante e che esegua il lavoro
richiesto
Si nota che per una classe c'è un insieme di metodi: sugli oggetti della classe PrintStream si
possono usare solo i metodi println e print. L’oggetto System.out appartiene alla classe
PrintStream.
Es: Si può pensare a uno scaldabagno (water heater) come a un oggetto che può fare questa
attività invocando il metodo “get hot water”.Quando invochiamo il metodo NON ci interessa
sapere se lo scaldabagno funziona a gas o a energia solare.
Una classe descrive un insieme di oggetti con lo stesso comportamento.
“Hello, World!” e "Mississippi" sono oggetti stringa: su questi oggetti si possono invocare tutti i
metodi della classe String.
System.out appartiene alla classe PrintStream. Si possono costruire anche altri oggetti
appartenenti a questa classe. Tutti gli oggetti appartenenti alla classe PrintStream hanno come
metodo print o println.
Gli oggetti della classe PrintStream hanno un comportamento diverso rispetto agli oggetti della
classe String.
Una stringa conosce le lettere che contiene, ma non sa come farsi stampare su uno schermo.
Self check 2.3
Cosa succede se in fase di programmazione
scriviamo questo?
Qui vogliamo applicare il metodo di una classe sull’oggetto di un’altra classe. L’errore che si ha e
in fase di compilazione. La classe String non ha un metodo println.
Si usa un oggetto invocando i suoi metodi. Tutti gli oggetti di una classe condividono gli stessi
metodi.
Classe PrintStream → metodi println e print
Classe String → metodi length, toUpperCase, toLowerCase, replace e altri
Il metodo length conta il numero di caratteri in
una stringa senza le virgolette. La prima riga è
una dichiarazione di variabile. Il metodo length non ha bisogno di argomenti (non c'è scritto nulla
all’interno delle parentesi). Alla seconda riga sto dichiarando una nuova variabile che si chiama
int. Restituisce il valore 13 poiché conta i caratteri contenuti in “Hello, World!” (anche lo spazio
conta).
Il metodo toUpperCase (=rende tutto in
maiuscolo) crea un nuovo oggetto String
(crea un’altra stringa) che contiene gli stessi
caratteri della stringa originaria, ma con le
lettere in minuscolo scritte in maiuscolo.
Domanda tipo quiz Se vi chiedessi di scrivere System.out.println(river) dopo i due enunciati
della foto sopra, si può fare? Si. Cosa stampa? Mississippi. Perché? Se avessimo voluto
stampare tutto in maiuscolo avrei dovuto scrivere System.out.println(bigRiver).
Interfaccia pubblica di una classe
Es: i controlli di una macchina (come i pulsanti sul cruscotto) rappresentano un’interfaccia
pubblica, mentre i circuiti e tutto ciò che si trova sotto il cofano si dice implementazione. privata.
I metodi formano l’interfaccia pubblica di una classe. L'interfaccia pubblica di una classe specifica
cosa si può fare con i suoi oggetti. L'implementazione nascosta descrive come vengono
eseguite queste azioni.
String
Ogni oggetto memorizza i propri dati. Entrambi gli oggetti supportano lo stesso insieme
di metodi.Questi metodi formano l'interfaccia pubblica. L'interfaccia pubblica è specificata dalla
String.
classe
Molti metodi richiedono dei valori (non tutti, tipo length e toUpperCase non richiedono valori).
Alcuni metodi non richiedono argomenti, altri non ne richiedono, altri ne richiedono più di uno (in
questo caso sono separati dalla virgola). Tutte le info di cui il metodo length ha bisogno sono già
contenute nel metodo invocato, quindi non ha bisogno di argomenti. Il metodo length restituisce
qualcosa (nell’es di prima 13). Alcuni
metodi eseguono un'azione come
println. Altri metodi calcolano e
restituiscono un valore come
length. Il valore restituito è un
valore che viene calcolato da un
metodo.
Si può anche usare il valore di ritorno di un metodo come argomento di un altro metodo. Il 13
diventa argomento di println.
Metodo replace: Il metodo replace, appartenente alla classe
String, crea una nuova stringa dove tutte le occorrenze della stringa issipp in mississippi con la
stringa our. Viene restituita la stringa “Missouri”. La variabile river è già stata dichiarata
precedentemente. Nell’esempio sto assegnando a river un nuovo valore.
Dichiarazione di metodi
Per dichiarare un metodo in una classe bisogna specificare:
- i tipi di argomenti
- i tipi di valore restituito
Ci sono due argomenti (target e replacement) che sono entrambi di tipo String. Il valore restituito
è di tipo String.
Subito dopo public devo scrivere il tipo di valore restituito, nel caso in cui il metodo non
restituisca nulla si scrive void.
public int length()
Il metodo length non ha argomenti,
-
Appunti Informatica
-
Appunti Informatica
-
Appunti Fondamenti di Informatica
-
Appunti Fondamenti di informatica