Computer_Zone
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

CREARE IL PROPRIO VIDEOGAMES IN C#: NONA PARTE sezione prima

Andare in basso

CREARE IL PROPRIO VIDEOGAMES IN C#: NONA PARTE sezione prima Empty CREARE IL PROPRIO VIDEOGAMES IN C#: NONA PARTE sezione prima

Messaggio  Admin Mar Mag 12, 2009 3:59 pm

9) GLI OPERATORI (e la conversione dei tipi di dati)

Gli operatori si dividono in quattro tipologie:

aritmetici
di confronto
logici
aritmetici composti
unitari

Operatori aritmetici
OPERAZIONE
SIMBOLO
Addizione
+
Sottrazione
-
Moltiplicazione
*
Divisione
/
Modulo(resto)
%


Operatori di confronto
OPERAZIONE
SIMBOLO
Uguale a
==
Minore di
<
Maggiore a
>
Minore uguale a
<=
Maggiore o uguale a
>=
Diverso da
!=
Operatori logici
OPERAZIONE
SIMBOLO
AND (completo)
&
AND (corto circuito)
&&
OR (completo)
|
OR (corto circuito)
||
NOT (negazione)
!
XOR
^
Come dico sempre.. non spaventatevi, per qualcuno di voi quei simboli potrebbero sembrare complicati geroglifici. Ma non c'è nulla di complicato.





Gli operatori aritmetici

Questi operatori già li conosciamo, sia perché li abbiamo studiati tutti a scuola, sia perché li abbiamo già utilizzati nelle lezioni precedenti.
Come abbiamo visto, potremmo fare operazioni anche le variabili oltre che, ovviamente, con i numeri.
Se per esempio avessimo :

int numero1 = 5;
int numero2 = 8;

potremo sommare le due variabili ed ottenere una nuova variabile dello stesso tipo così:

int somma= numero1+numero2; oppure potremmo sommare una variabile ad un numero: int somma= numero1+8;

Nel nostro caso la variabile di tipo int, somma varrà 13;

Come detto possiamo sommare variabili dello stesso tipo senza problemi, ma non solo. Potremo fare delle operazioni aritmetiche anche tra i diversi tipi di dati numerici.
A volte però sarà necessario operare delle...

conversioni tra i diversi tipi di dati

using System;

class Somma
{

static void Main()
{

//Dichiariamo le 3 variabili che ci serviranno
int numero1;
float numero2;
float somma; //notare che la somma sarà di tipo float

//Assegniamo dei valori alle prime due variabili
numero1 = 5;
numero2= 8.2f;

//Facciamo la somma delle due variabili
somma= numero1+numero2;

//Stampiamo il risultato sullo schermo
Console.WriteLine(somma);
}

}

Questo codice farà semplicemente una la somma delle due variabili numeriche numero1 e numero2 e la andrà a "salvare" nella variabile somma.
Abbiamo dichiarato subito che il risultato (la variabile somma) sarà di tipo float perché ovviamente, sommando un numero con virgola ad uno senza, il risultato avrà la virgola.
Questo codice non produrrà errori poprio perché abbiamo dichiarato che vogliamo che la variabile somma sia di tipo float.
Ma se avessimo dichiarato che il risultato (sempre la variabile somma) doveva essere un numero intero, così? :
using System;

class Somma
{

static void Main()
{

//Dichiariamo le 3 variabili che ci serviranno
int numero1;
float numero2;
int somma; // Questa volta però vogliamo che il valore somma sia un intero

//Assegnamo dei valori alle prime due variabili
numero1 = 5;
numero2= 8.2f;

//Facciamo la somma delle due variabili
somma= numero1+numero2;

//Stampiamo il risultato sullo schermo
Console.WriteLine(somma);
}

}

Errore 2 Impossibile convertire in modo implicito il tipo 'float' in 'int'. È presente una conversione esplicita. Probabile cast mancante.
L'errore dice tutto. E' impossibile convertire float in int implicitamente , cioè "senza scriverlo in modo chiaro".
Dunque, quando incorrerà questo errore, dovremo fare una conversione di nostro pugno.
Nulla di più facile:


using System;

class Somma
{

static void Main()
{

//Dichiariamo le 3 variabili che ci serviranno
int numero1;
float numero2;
int somma;

//Assegniamo dei valori alle prime due variabili
numero1 = 5;
numero2= 8.2;

//Facciamo la somma delle due variabili ma questa volta facciamo la conversione aggiungendo il tipo
somma=(int)(numero1+numero2);

//Stampiamo il risultato sullo schermo
Console.WriteLine(somma);
}

}

Abbiamo cambiato solo questa riga:

somma=(int)(numero1+numero2);

In questo modo effettueremo correttamente la conversione, ovvero, dato che il risultato sarebbe stato 13,2, verrà convertito nel numero intero 13, sarà cioè arrotondato nell'intero più vicino.
Le conversioni tra i diversi tipi di dato, sono un argomento che dovrà essere approfondito ed avrà bisogno di una lezione completa.
Le operazioni di addizione, sottrazione, divisione e moltiplicazione le conosciamo, ma forse non conoscete l'operatore % (resto).
Tale operazione non fa altro che restituire il resto di una divisione, se per esempio avessimo diviso 25 per 2, ma al posto dell'operatore di divisione / avessimo usato l'operatore % il risultato sarebbe 1, perché 25/2 fa 12 con il resto di 1. Tale operatore ci restituisce dunque, il resto di una divisione.
Admin
Admin
Admin

Messaggi : 17
Data di iscrizione : 14.02.09
Età : 32
Località : Vicenza

https://computerzone.elencoforum.com

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.