Anteprima
Vedrai una selezione di 5 pagine su 16
Appunti sul Linguaggio Java Pag. 1 Appunti sul Linguaggio Java Pag. 2
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Appunti sul Linguaggio Java Pag. 6
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Appunti sul Linguaggio Java Pag. 11
Anteprima di 5 pagg. su 16.
Scarica il documento per vederlo tutto.
Appunti sul Linguaggio Java Pag. 16
1 su 16
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

GESTIONE ARRAYS FROM JAVA.UTIL.ARRAYLIST

Alcune utili funzioni/metodi importati da arraylist per la gestione semplificata.

import java.util.ArrayList;

ArrayList<Integer> list = new ArrayList<>(); // Creo l'Array vuoto.
System.out.println(list); // Stampa lista vuota appena dichiarata.
list = {1,2} // Inserisci i valori 1,2 in lista.
list.add(3); // Aggiungo il valore '3' alla lista 'list'.
list.size(); // Ritorna la lunghezza della lista.
list[i].replace(2); // Mette due nella lista nell' i-esima posizione sostituendo il precedente valore assegnato.
list.get(2); // Ritorna l'elemento list[2].
list.contains(2); // Ritorna true or false se la lista contiene '2'
list.isEmpty(); // Restituisce True se list è vuota, False altrimenti.
Arrays.fill(list, 10); // Mette 10 in tutte le posizioni sostituendo i precedenti elementi. Valido su tipo long[].
int[] list_2 = Arrays.copyOf(list, 1); // Copio l'Array da 0 a 1.

[Valido se list è di tipo byte[].

System.out.println(list_2); // Stampa la lista generata da list[0 to 1].

Collections.shuffle(list); // Mischia gli elementi della lista.

• MATRICI (ARRAY DI ARRAY O ARRAY MULTIDIMENSIONALE)

Concettualmente simile alle matrici in Python in cui lista di lista = matrix, qui array di array = matrix.

Le coordinate sono due ([i][j]) e sono rispettivamente [righe][colonne]

int[][] m = new int[3][5]; // Matrice di dimensione 3(righe)x5(colonne)

m[0][0] = 7; // dichiaro il valore sette come elemento in posizione 0,0 (prima posizione di matrix)

int r = m.lenght; // assegno ad r il numero di righe di m

int c = m[0].lenght; // assegno a c il numero di colonne di m

Come per gli Array, anche con le Matrici posso utilizzare una notazione alternativa per la dichiarazione:

int[][] Matrix = {{1,2,3},{4,5,6}}; // Dichiaro Matrix di dimensione 3x2 e posiziono gli elementi tra {}

• METODO CHE CHIAMA METODO (Funzione dentro Funzione)

Molto simile a Python in


public static void primoMetodo(){
    int x = 3;
    String y = "Fondamenti";
    int[] z = new int[5];
    secondoMetodo(x,y,z)
}

public static void secondoMetodo(int a, String b, int[] c){
    a = 4; // a diventa 4 ma la x al primo metodo resta 3
    b = "Zao"; // teoricamente avremmo alias ma essendo, le stringhe, immutabili non avremo problemi (dunque b e y avranno differenti contenuti)
    c[2] = 7; // Creo alias e dunque la modifica di c andrà a modificare anche z al primo metodo
}




import java.util.ArrayList;


import nomePackage.*;




```html

blocco una singola istruzione (da definizione è cosi injava).

int[] a = {1,2,3};

for(int i = 0; i < a.length; i++) // dichiaro, condizione, esecuzione

System.out.println("taki taki" + " " + i); // concatenazione

• WHILE (MENTRE)

Nel While la condizione tra parentesi indica che finché sia rispettata tale condizione, allora sarà valido il contenuto delle sue parentesi {}.

int x = 0;

while(x < 3){

x++;

System.out.println(x);

}

• IF, ELSE, ELSE IF (Se, Se invece, E se)

Ricevendo una sola istruzione in tutti i casi (in java) posso omettere le parentesi.

Se si verifica la condizione allora esegui le sue parentesi, altrimenti esegui quelle dell’Else.

Nel secondo caso vai nelle parentesi solo se si verificano entrambe. Altrimenti vai nell’Else.

else if!

Quando ho un if dentro un altro if potrei usare la notazione

int a = 3;

if (a % 2 == 0) // se pari

{ System.out.println("Il valore della variabile a è PARI!\n");}

else

```
<p>altrimenti (se dispari){ System.out.println("Il valore della variabile a è DISPARI!\n");}</p>
<p>DOPPIA CONDIZIONE METODO SCOMODO ( SE A & B ALLORA...)</p>
<ul>
  <li>boolean b = false;</li>
  <li>if (a % 2 != 0)</li>
  <li>if (b == false)</li>
  <li>System.out.println("Verificato: Entrambe le condizioni sono valide.\n");</li>
  <li>else System.out.println("Errore: Non si verificano entrambe le condizioni.\n");</li>
</ul>
<p>DOPPIA CONDIZIONE METODO CONTRATTO E COMODO ( SE A & B ALLORA...)</p>
<ul>
  <li>if (a % 2 == 0 && b == true) // condizione_a and condizione_b</li>
  <li>System.out.println("Verificato: Entrambe le condizioni sono valide.\n");</li>
  <li>else System.out.println("Errore: Non si verificano entrambe le condizioni.\n");</li>
</ul>
<p>DO (fai questo...)</p>
<p>Quest'istruzione serve solo per dire a Java di fare determinate cose in un dato punto dell'esecuzione.</p>
<p>Se tutto va bene prosegue, altrimenti si ferma.</p>
<p>do{ ...}</p>
<p>SWITCH | CASE 1,2, ..., n valore attribuito a gSwitch ci consente di passare da un caso</p>

all'altro in funzione del e al suodefault. perchéeventuale incremento. Se g != dai casi allora si attua il Leggi il continue a volte è utile.

String ret = "";

switch(g){

case 1:ret = "Lunedì";break; // or continue per entrare anche nel caso successivo.

case 2:ret = "Martedì";break;

case 3:ret = "Mercoledì";break;

case 4:ret = "Giovedì";break;

case 5:ret = "Venerdì";break;

case 6:ret = "Sabato";break;

case 7:ret = "Domenica";break;

default: // Caso generico che si verifica se nessuna delle scelte precedenti è selezionata!

ret = "Nessun Giorno della Settimana Selezionato!";}

return ret;

• THIS. (minusc.)

Talvolta capita di ritrovarsi in pezzi di codice in cui non sia chiaro ciò di cui stiamo parlando. Perthis.qualcosaspecificare che ci si riferisca ad un qualcosa (es.var) interna alla classe usiamo il metodo grazie alquale faremo maggiore

chiarezza sia per java che per i futuri lettori. Spesso è possibile ometterlo in quanto java lo capisce da se. Tuttavia conviene usarlo per rendere più leggibile il codice a programmatori esterni o a noi stessi a distanza di tempo.

  • LENGHT (minusc.) Applicato ad una lista/matrice restituisce la sua lunghezza.
  • ANNULLAMENTO DI UNA VARIABILE La variabile è dichiarata e avendo un valore punta a qualcosa. Successivamente Java sposterà il puntatore sul nulla. Best Effort: Questo processo richiede del tempo e non essendo immediato potrebbe essere poco conveniente. Tuttavia Java si dice essere Best Effort in quanto ci promette e si sforza di farlo il prima possibile. Inizialmente punterà al nulla, successivamente java se ne accorgerà e vista la sua 'inutilità' provvederà a 'contenitore di spazzatura' (Garbage Collection) spostarlo in un dal quale inizierà il processo di smaltimento dalla memoria.

int a = 33;

  1. EQUALS METHOD (Metodo Equals)
  2. IDENTITÀ = Indirizzo in memoria.

    STATO = Valore dichiarato della variabile.

    Il seguente modo non restituisce né True né False poiché non lavora sullo stato bensì sull'identità!

    IO.println(a==b); // NON VA BENE

    public boolean equals(Object o){

        if(o == null)return false; // Poiché o non è null

        if(o == this)return true;

        if(! (o instanceof OggettoQualsiasi)) // Sei istanza di questa classe?

        return true;

    }

  3. CONFRONTO TRA STRINGHE
  4. String s = "ciao";
    String t = "ciao";
    s.equals(t); // true perché il valore attribuito a S e T è lo stesso
  5. TO STRING METHOD | .toString()
  6. Questo è un metodo "Standard" (integrato ufficialmente in Java) utilizzato per trasformare in stringa degli elementi e ad esempio stampare elementi che altrimenti non sarebbero stampabili

    Arrays - Poiché gli Array non Stringati stampano la posizione in memoria e non il valore

Il tuo compito è formattare il testo fornito utilizzando tag html. ATTENZIONE: non modificare il testo in altro modo, NON aggiungere commenti, NON utilizzare tag h1; Il testo formattato con i tag html è il seguente:

contenuto!)(es.public String toString(){ int intero = 3;String s = "ciao" + intero;return s;} Posso banalmente applicarlo nel seguente modo:int intero = 3;Intero.toString(); // Stamperà il valore di ‘intero’ (3) come stringa (“3”)• ALTRI METODI SU STRINGHEsSi pensi ad come una stringa. Ecco alcuni utili metodi da buttarci su.s.toUpperCase() // Restituisce il contenuto di s interamente in lettere MAIUSCs.trim() // Elimina gli spazi a inizio e fine stringa!s. //s. //s. //s. //s. //s. //• METODI DI MATH (molto utili) mathQuesti sono alcuni metodi utili integrati nella classe di java. Essendo già integrata in java non dobbiamoneanche importarla.POTENZA: Math.pow(numero, esponente);int a = 3; int b = 2;Int c = Math.pow(a,b); // Potenza - Eleva il primo numero (a) al secondo paramentro (b)double p = Math.pow(2, 3); // Output: 8.0 poichè tipo doubleVALORE ASSOLUTO: Math.abs(numero);int a = Math.abs(10); // Output: 10int b =


Math.abs(-20); // Output: 20

ARROTONDA PER ECCESSO: Math.ceil(numero con la virgola);
double c = Math.ceil(7.342); // 8.0
int d = Math.ceil(7.342); // 8

ARROTONDA PER DIFETTO: Math.floor(numero con la virgola);
double f = Math.floor(7.343); // 7.0
int k = Math.floor(7.343); // 7

RESTITUISCE IL VALORE MASSIMO: Math.max(lista o elenco di numeri separati da virgole);
double[] list = new int[3];
list = {3.0, 8.4, 1.2};
int m = Math.max(list); // Output: 8.4
int m = Math.max(10, 20); // 20

RESTITUISCE IL VALORE MINIMO: Math.min(lista o elenco di numeri separati da virgole);
Int[] list = new int[3];
list = {3, 8, 1};
int m = Math.min(list); // Output: 8
int m = Math.min(10, 20); // 10

• CREAZIONE DI OGGETTI aggiungere un nuovo tipo (es. Int, boolean..) a quelli esistenti
In java creare oggetti vuol dire processoStringabbastanza simile alla nascita del tipo NON PRIMITIVO il quale è stato aggiunto in seguito.
Tale creazione avviene mediante la seguente istruzione:
Mostro Argagnok; // Dichiaro

esistenza di un nuovo tipo 'Mostro' di nome Argagnok (variabilequalsiasi come: int x) A questo punto la variabile dichiarata assume tutte le caratteristiche dell'Oggetto/Tipo (in questo caso 'Mostro'): ```html

public int skin; // 'Skin' Sarà visibile all'utente che potrebbe intervenire anche nella sua modifica in prima persona.

private int attacco; // L'oggetto mostro avrà un valore che identifichi l'attacco.

private int difesa; // L'oggetto mostro avrà un valore che identifichi la difesa.

```
Dettagli
Publisher
A.A. 2019-2020
16 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher peppelion99 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Flesca Sergio.