Divisione intera in Java

Rashmi Patidar 12 ottobre 2023
Divisione intera in Java

L’articolo introduce una spiegazione dettagliata di ciò che accade internamente quando dividiamo due numeri interi.

Nel codice Java sottostante, ci sono quattro istruzioni java. Ogni riga stampa un output diverso in base ai numeri che si dividono l’uno dall’altro.

package integer_division;

public class IntegerDivision {
  public static void main(String[] args) {
    System.out.println(10 / 9);
    System.out.println(-10 / 9);
    System.out.println(10 / -9);
    System.out.println(10 / 19);
    System.out.println((float) 10 / 9);
    System.out.println((double) 10 / 9);
  }
}
  1. Nel caso 1, un numero intero più grande viene diviso con un numero intero più piccolo. L’output risultante è intero 1. Matematicamente, quando dividiamo dieci per nove, si ottiene un numero ripetuto che è 1.1111.... Ma nel linguaggio Java, quando un intero divide un altro intero, getta via il resto e mantiene il quoziente. Quindi, l’output risultante è un numero intero.
  2. Nel caso 2, quando dividiamo il numero intero negativo per un numero intero positivo, il risultato è un intero come -1. Come affermato sopra, il numero intero butta via il resto e mantiene il quoziente. Quindi il valore risultante è un numero intero negativo.
  3. Nel caso 3, c’è il caso inverso in cui il numeratore è un numero intero positivo e il denominatore è un numero intero negativo. L’output risultante è -1. Ancora una volta, il segno negativo al numeratore o al denominatore non ha molta importanza. Divide semplicemente i due numeri senza mantenere alcun resto. E quindi l’output è di nuovo un negativo dell’intero.
  4. Nel caso 4, il denominatore è maggiore del numeratore, il che si traduce in un numero piccolo di 1. Come indicato sopra, il numero viene troncato dopo lo zero e stampa il valore 0 come output.
  5. Nel caso 5, stiamo digitando manualmente l’output su un valore float.

Prima di tutto capiamo il typecasting.

Typecasting è il processo di conversione di un tipo di dati in un altro e possiamo farlo manualmente o automaticamente.

  1. Ampliamento della tipizzazione: è spesso chiamata conversione implicita. In questo tipo di casting, un tipo di dati più piccolo viene convertito in un tipo di dati superiore. Il compilatore esegue questo casting automaticamente.
  2. Narrowing Typecasting: è spesso chiamato conversione esplicita. In questo tipo di casting, viene eseguito il cast di un tipo di dati più grande su un tipo di dati più piccolo, con conseguente perdita di dati.

Quindi, nel caso 3, i dati troncati implicitamente dal compilatore vengono espressi manualmente in un numero float, che si traduce in un numero razionale completo. Questo numero visualizza dati fino a 8 cifre.

Allo stesso modo, nel caso 6, casteremo manualmente la divisione intera in un valore double. Quindi questo risulterà in un numero decimale che visualizza numeri fino a 16 cifre.

Fare riferimento alla sezione seguente per l’output del codice precedente.

1
-1
-1
0
1.1111112
1.1111111111111112
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Articolo correlato - Java Integer