Informatik Studium Hausaufgabe?
Kann das mir jemand erklären? ich habe leider nicht so viel Erfahrungen mit Programmierung und habs seit stunden nicht hingekriegt
3 Antworten
Die letzten zwei Funktionsaufrufe sind richtig, weil die Datentypen der übergebenen Parameter den Datentypen der Parameter der jeweilig aufgerufenen Funktionen entsprechen. Beim dritten Funktionsaufruf so, beim zweiten durch den cast.
DerErste ist falsch, weil das Ergebnis einer Multiplikation zweier short int ergibt, was mit dem Datentypen short des Parameters a nicht übereinstimmt.
Z13: Die Multiplikation in Java von zwei short-Werten ist int, printShort erwartet aber ein short, das wäre eine einschränkende Konvertierung. Darum muss gecastet werden, da int zu short inkompatibel ist.
Z14: Das Ergebnis ist int (wie in Z13), aber wird gecastet.
Z15 geht problemlos, da das Ergebnis ein int ist, int zu long ist kompatibel
Nach rechts ist kompatibel, nach links muss gecastet werden:
byte short int long float double
Ich verstehe die Frage nicht. Es gibt eine Sprachspezifikation, plattformübergreifend.
Who cares über "spezifikationen". Ein Compiler Entwickler muss sich daran nicht halten und oftmals hält man sich aus Prinzip dann da nicht dran ^^
Du kannst auch einen Compiler entwickeln, der Java rückwärts akzeptiert. Aber dann würde ich das nicht mehr Java nennen.
Eben. Das kommt alles auf den Compiler an. Deswegen ist das so überhaupt gar nicht beantwortbar. Da sieht man sogar wie wenig Profs eigtl verstehen.
Das ist ein genauso dämliches Argument, wie wenn du in der Deutscharbeit alles klein schreibst ohne Satzzeichen, weil deine Mutter das lesen kann und dich dann beschwerst, dass du ne 5 bekommst. Ist halt trotzdem falsch.
Der Vergleich ist Blödsinn. Java wird kompiliert damit die Maschine es versteht. Deutsch nicht, dass muss direkt verständlich sein.
Kann man so überhaupt nicht sagen. Hängt vom Compiler ab ob der implizierte oder nur explizite Kovertierung kennt.
Ja, habe mich geirrt, war C so gewohnt. Ich bitte um Entschuldigung.
Und, dass ich meine entsprechenden Beiträge nicht mehr löschen kann.
Nee, das erste nicht