Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Riassunto di programmazione in Java, Schemi e mappe concettuali di Algoritmi E Strutture Di Dati

Un riassunto di programmazione in Java, con spiegazioni su vari argomenti come operatori, cicli, array, metodi delle stringhe, programmazione ad oggetti e costruttori. Vengono forniti esempi di codice e viene spiegato come utilizzare i vari elementi. Il documento può essere utile come appunti o sintesi del corso per uno studente di informatica o come riferimento per un programmatore alle prime armi.

Tipologia: Schemi e mappe concettuali

2020/2021

In vendita dal 13/10/2022

ale_atori
ale_atori 🇮🇹

4 documenti

1 / 5

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Math Class
Math.abs() : valore assoluto
Math.min() : minimo dei valori
Math.max() : massimo dei
valori
Math.pow(x,y) :potenza (xy)
Math.sqrt() : radice quadrata
Operatori
< minore
> maggiore
<= minore o uguale
>= maggiore o uguale
== uguale
!= diverso
Operatori logici
&& AND
|| OR
! NOT
Condizioni
If (){…]
If (){…} Else (){…}
ElseIf
Switch (alternativa all’If,
Elseif)
Switch(caso1) {
case caso1 : / break
case caso2 : / break
case caso 3 : / break
… (se poi non accade nulla)
default : …
Ciclo While / Do-While
while(condizione) {
operazioni varie };
do { operazioni varie
} while (condizione);
Cicli For e Enhanced For
for (variabile ; condizione ;
incremento) {…
…}
For (…) { if (condizione2) break
; (o continue; e salta il
numero) }
Array
int[] nomearray = {…} (se so
già che elementi metterci)
int[] nomearray = new int[n]
(se voglio creare un array di
grandezza x senza elementi)
(per inserire gli elementi dopo
dovrò dire :
nomearray[0] = 1
nomearray[1] = 2 … fino ad n )
grandezza del vettore
nomearray.length
ciclo for per gli array
for(int i=0 ;
i<nomearray.length ; i++) {…}
ciclo for each per gli array
for(int singoloelemento :
nomearray) {…}
Metodi delle Stringhe
Equals
boolean risultato =
nomeStringa.equals(“qualcosa”);
EqualsIgnoreCase
Boolean risultato =
nomeStringa.equalsIgnoreCase(“qual
cosa”);
(In questo caso ignora l’uguaglianza
ai fini del booleano)
Length
nome.lenght (lunghezza di stringa
nome)
nomearray.lenght (lunghezza del
vettore)
charAt
String nome = “Francesco”
char risultato = nome.charAt(0);
risultato = F
char risultato = nome.charAt(1);
risultato = r
indexOf
int risultato = nome.indexOf(lettera);
risultato = posizione della lettera
isEmpty
boolean risultato = nome.isEmpty();
risultato = vero/falso (in base a se la
stringa è vuota o no)
toUpperCase
String risultato =
nome.toUppercase() (ridà il nome
maiuscolo)
toLowerCase
(ridà il nome minuscolo)
trim
Rimuove gli spazi della stringa
replace
String risultato =
nome.replace(lettera1, lettera5);
(scambia le lettere)
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Riassunto di programmazione in Java e più Schemi e mappe concettuali in PDF di Algoritmi E Strutture Di Dati solo su Docsity!

Math Class Math.abs() : valore assoluto Math.min() : minimo dei valori Math.max() : massimo dei valori Math.pow(x,y) :potenza (xy) Math.sqrt() : radice quadrata Operatori < minore

maggiore <= minore o uguale = maggiore o uguale == uguale != diverso Operatori logici && AND || OR ! NOT Condizioni If (){…] If (){…} Else (){…} ElseIf Switch (alternativa all’If, Elseif) Switch(caso1) { case caso1 : / break case caso2 : / break case caso 3 : / break … (se poi non accade nulla) default : … Ciclo While / Do-While while(condizione) { operazioni varie }; do { operazioni varie } while (condizione); Cicli For e Enhanced For for (variabile ; condizione ; incremento) {… …} For (…) { if (condizione2) break ; (o continue; e salta il numero) } Array int[] nomearray = {…} (se so già che elementi metterci) int[] nomearray = new int[n] (se voglio creare un array di grandezza x senza elementi) (per inserire gli elementi dopo dovrò dire : nomearray[0] = 1 nomearray[1] = 2 … fino ad n ) grandezza del vettore nomearray.length ciclo for per gli array for(int i=0 ; i<nomearray.length ; i++) {…} ciclo for each per gli array for(int singoloelemento : nomearray) {…} Metodi delle Stringhe Equals boolean risultato = nomeStringa.equals(“qualcosa”); EqualsIgnoreCase Boolean risultato = nomeStringa.equalsIgnoreCase(“qual cosa”); (In questo caso ignora l’uguaglianza ai fini del booleano) Length nome.lenght (lunghezza di stringa nome) nomearray.lenght (lunghezza del vettore) charAt String nome = “Francesco” char risultato = nome.charAt(0); risultato = F char risultato = nome.charAt(1); risultato = r indexOf int risultato = nome.indexOf(lettera); risultato = posizione della lettera isEmpty boolean risultato = nome.isEmpty(); risultato = vero/falso (in base a se la stringa è vuota o no) toUpperCase String risultato = nome.toUppercase() (ridà il nome maiuscolo) toLowerCase (ridà il nome minuscolo) trim Rimuove gli spazi della stringa replace String risultato = nome.replace(lettera1, lettera5); (scambia le lettere)

Metodo static void addizione(int a, int b) { int risultato = a + b;} (Se poi riscrivo la funzione, me la richiama tutta) addizione(5,4); (9) (se la applico a una variabile esterna devo cambiare metodo perché il void non da il return del valore)  static int addizione(int a, int b) {int risultato = a + b; return risultato;} Overload Methods Si può utilizzare lo stesso metodo più volte semplicemente cambiando i parametri utilizzati Programmazione Oggetti (OOP) public class Nomeclasse { Tipoattributo1 attributo1 = … Tipoattributo2 attributo2 = … void metodo 1 { …. } void metodo 2 { …. } (le classi si caratterizzano mediante attributi e metodi) OCCORRE richiamare la classe nel main per utilizzarla : Nomeclasse oggetto1 = new Nomeclasse() In questo modo posso richiamare gli attributo o i metodi della classe : oggetto1.attributo oggetto1.metodo (per implementare più oggetti bisogna ricorrere ai costruttori) Costruttori (OOP) public class nomeclasse { String attributo 1; String attributo 2; Boolean attributo3; int attributo 4; Persona(String attributo1, String attributo2, boolean attributo3, int attributo4) { this.attributo1 = attributo this.attributo2 = attributo this.attributo3 = attributo this.attributo4 = attributo } Overloaded Costruttori (OOP) E’ possibile creare più costruttori simili tra di loro ma è necessario variare sempre qualcosa, come il numero di attributo o le tipologie di attributi. In caso contrario darà errore. In questo modo nel Main potrò avere istanze diverse in quanto quantità e tipologie di attributi per istanza: nomeclasse oggetto1 = new Nomeclasse(Attributo1, attributo2) nomeclasse oggetto2 = new Nomeclasse(Attributo1,attribu to2,attributo3) Metodo toString E’ un metodo che tutti gli oggetti hanno. Esso è necessario per stampare a schermo gli attributi e le caratteristiche dell’oggetto e non la sua collocazione public String toString() { String “nome” = this.attributo1 + this.attributo2 + this.attributo 3 … return “nome” (importante) ecc ecc… (per andare a capo : “\n” Array di un oggetto E’ un modo per creare un array con degli oggetti creati precedentemente. Esempio : creazione classe // creazione costruttore // poi… Nomeclasse[ ] nomeclassealsingolare = new Nomeclasse [n del vettore] Nomeclasse oggetto1 = new Nomeclasse(att1,att2,att3…) Nomeclasse oggetto2 = new Nomeclasse(att1,att2,att3…) nomeclassealsingolare[ ] = oggetto1; nomeclassealsingolare[1] = oggetto2; … (Allo stesso modo di prima, posso richiamare i singoli attributi anche se si parla di un vettore)

Questo permette di avere tutto private e di attuare l’incapsulamento solo quando necessario. Interfacce Una classe figlia può avere solo una singola classe genitore, mentre una classe figlia può avere più interfacce o più classi possono condividere la stessa interfaccia. public interface nomeinterfaccia { void.metodo1; (qui non serve inserire il corpo {} ) Così poi posso fare : public class Classe implements nomeinterfaccia { @Override public void metodo1() {…} Nel caso volessi implementare più Interfacce insieme : public class Classe implements Interfaccia1,Interfaccia2 {…} Scanner Per aprire lo scanner : Scanner scanner = new Scanner(System.in) Per chiudere lo scanner : scanner.close() Gestione delle eccezioni Da utilizzare quando si incontrano delle “eccezioni”, non sono errori. Esempio Divisione tra due numeri X = 1 | Y = 0 ECCEZIONE DIVISIONE PER ZERO In questo caso occorre inserire due comandi : try { codice da eseguire } catch(tipologiaEccezione nomeEccezione) { “non puoi dividere per zero”} catch( “” ) {“non puoi inserire una stringa} (tipologiaEccezione viene scritta da Intellij quando da errore) (più generico = catch(Exception e) {…} Se vogliamo concludere la lista di possibili eccezioni occorre dire : finally { … } Casting dei valori Cambiamento della tipologia di dato, ci sono due casting, implicito ed esplicito. Implicito : quando si passa da un tipo più ristretto ad uno più ampio Esplicito : quando si passa da un tipo di dato più ampio ad uno più ristretto (bisogna anteporre tra parentesi il tipo di nuovo dato). int x = (double) 9.5 (9.5) int x = (int) 9.5 (9) Data e ora LocalDate x = LocalDate.now() (data corrente) LocalTime x = LocalTime.now() (tempo corrente) LocalDateTime x = LocalDateTime.now() (data e ora corrente) Per cambiare l’estetica dell’output occorre : DateTimeFormatter format = DateTimeFormatter.ofPattern( “dd-MM-yyyy”) Altro : dd/MM/yyyy MMM = nome del mese MMMM = mese per intero Hashmap ESEMPIO HashMap<String,String> capitali = new HashMap<String,String>() ; capitali.put(“Italia”,”Roma”) capitali.put(“Inghilterra”,”Lon dra”) capitali.put(“Russia”,”Mosca”) … capitali.remove(“Russia”,”Mos ca”) capitali.clear(); capitali.get(“Italia”)

Print = “Roma”. Arraylist Sono degli array ridimensionabili Creare un arraylist ArrayList(o Integer) persone = new ArrayList() ; Aggiungere elementi persone.add(“Luca”); persone.add(“Marco”); persone.add(“Anna”); Mandare a schermo System.out.println(persone.ge t(0)); Per ciclare il vettore for (int i=0;i<persone.size() ; i+ +) { System.out.println(persone.ge t(i) ) } Modificare gli elementi persone.set(i) Rimuovere elementi persone.remove(i) Rimuovere tutti gli elementi persone.clear(); Arraylist 2D Sono arraylist di arraylist Arraylist classe1 = new Arraylist() ; classe1.add(“Luca”) classe1.add(“Marco”) Arraylist classe2 = new Arraylist() ; classe2.add(“Anna”) classe2.add(“Angela”) Creare l’arralist grande Arraylist<Arraylist(String)>> classi = new Arraylist(); PER MANDARE A SCHERMO for(int i = 0; i<classi.size() ; i+ +) { System.out.println() ; for(int j = 0; j<classi.get(i).size ; j++) { System.out.println(classi.get(i) .get(j) ); }