---
title: 'Multiplizieren von int-Ganzzahlen'
url: 'https://www.tutego.de/blog/javainsel/2017/02/multiplizieren-von-int-ganzzahlen'
markdown: 'https://www.tutego.de/blog/javainsel/2017/02/multiplizieren-von-int-ganzzahlen.md'
date: '2017-02-20'
description: 'Der *-Operator führt bei int keine Anpassung an den Datentypen durch, sodass die Multiplikation von zwei ints wiederum int liefert. Doch das Produkt kann schnell aus dem Wertebereich laufen, sodass es zum Überlauf kommt. Selbst wenn das Produkt in eine long-Variable geschrieben wird, erfolgt die Ko…'
taxonomy:
  category:
    - Allgemein
    - Insel
    - 'Java 9'
---

# Multiplizieren von int-Ganzzahlen

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Multiplizieren von int-Ganzzahlen

20.02.2017 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

Der \*-Operator führt bei int keine Anpassung an den Datentypen durch, sodass die Multiplikation von zwei ints wiederum int liefert. Doch das Produkt kann schnell aus dem Wertebereich laufen, sodass es zum Überlauf kommt. Selbst wenn das Produkt in eine long-Variable geschrieben wird, erfolgt die Konvertierung von int in long erst nach der Multiplikation:

```java
int  i = Integer.MAX_VALUE * Integer.MAX_VALUE;

long l = Integer.MAX_VALUE * Integer.MAX_VALUE;

System.out.println( i );     // 1

System.out.println( l );     // 1
```

Sollen zwei ints ohne Überlauf multipliziert werden, ist einer der beiden Faktoren auf long anzupassen, damit es zum korrekten Ergebnis 4611686014132420609 führt.

```java
System.out.println( Integer.MAX_VALUE * (long) Integer.MAX_VALUE );

System.out.println( (long) Integer.MAX_VALUE * Integer.MAX_VALUE );
```

Da diese Typanpassung schnell vergessen werden kann und nicht besonders explizit ist, bieten die Klassen Math und StrictMath die statische Methode long `multiplyFull(int x, int y)`, die für uns über (long)x \* (long)y die Typumwandlung vornehmen.

Kategorien: [Allgemein](https://www.tutego.de/blog/javainsel/category/allgemein/), [Insel](https://www.tutego.de/blog/javainsel/category/insel/), [Java 9](https://www.tutego.de/blog/javainsel/category/java-9/)

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Multiply-Accumulate, fma(...)](https://www.tutego.de/blog/javainsel/2017/02/multiply-accumulate-fma.md)
- Next: [Multiplizieren von long-Ganzzahlen](https://www.tutego.de/blog/javainsel/2017/02/multiplizieren-von-long-ganzzahlen.md)
