Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
---- Logik (http://www.informatikerboard.de/board/board.php?boardid=16)
----- Denkfehler? (http://www.informatikerboard.de/board/thread.php?threadid=2773)


Geschrieben von Java_Beginner am 18.01.2016 um 00:47:

  Denkfehler?

Meine Frage:
Hallo zusammen,

folgender Code:
code:
1:
2:
3:
4:
5:
6:
7:
8:
 public static void main(String[] args) 
    {
        int i=9, k=9;
        i /= k%5; //i = i/k%5; --> i = 9/9%5; gleiche Priorität: i = 1%5 = 1;  
        System.out.println(i);
    }



Meine Ideen:
Ich komme für i immer auf 1, sollte aber zwei sein? Wo liegt denn hier mein Fehler?

Vielen dank.



Geschrieben von eulerscheZahl am 18.01.2016 um 06:21:

 

Wo soll denn da eine 1 herkommen?
k%5 = 9%5 = 4
i/(k%5) = 9/4 = 2



Geschrieben von Java_Beginner am 18.01.2016 um 10:17:

 

Aber warum wird denn Modulo vor der Division abgearbeitet? Die haben doch die gleiche Priorität?



Geschrieben von eulerscheZahl am 18.01.2016 um 12:15:

 

Ein /= beinhaltet eine Zuweisung. Die wird als letzes ausgeführt. Und damit auch die Division.



Geschrieben von Java_Beginner am 18.01.2016 um 19:32:

 

Wow, vielen Dank, da hatte ich nicht darauf geachtet.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH