Unterschied von int und void?

... komplette Frage anzeigen

8 Antworten

Main ist die Haupt-Einsprungs-Methode. Die wird von keiner anderen Methode aufgerufen, sondern vom Rahmenwerk beim Start des Programms.

Du kannst Dir nun aussuchen, ob Dein Programm einen Wert (int) zurückgeben soll oder nicht. Bei einem Konsolenprogramm kann der Rückgabewert z.B. durch eine cmd/bat-Datei ausgewertet werden.

Int ist ein Datentyp und der kann alle Zahlen in seinem Bereich speichern, nicht nur 0 und 1. Void steht für "gar nichts" oder "leer". Da erfolgt in deinem Fall das return ohne Angabe eines Wertes, weil void eben nichts ist.

Je nach Sprache ist der eine der andere Typ zwingend oder nicht, die Angabe des Rückgabewertes optional oder nicht.

Bitte lerne unbedingt mehr Grundlagen ehe du zu programmieren anfängst.

Kommentar von blacCSxtrem
03.08.2016, 22:07

Ich kann mit dem pc (bios, win/dos, hardware, etc relative gut umgehen) mein buch für c# ist jedoch ohne  informatiklehre(-rerin/-r) sinnlos kompliziert. Ich habe jedoch zum glück auch das:c howto buch. Was für anfänger der computersprache wunderbar geeignet ist und sogar manchmal im informatikunterricht gewöhnlicher realschulen eingesetzt wird für schülerprojekte

0

Bei void main hast du einfach kein Rückgabewert.

Die Hauptfunktion int main kann als Rückgabe eine Ganzzahl beinhalten. Diese kann man nach Abschluss des Programms in den Umgebungsvariablen des BS abfragen.

Du kannst das klassisch unter Windows mal folgendermaßen testen:

Ping gibt den Erfolg eines Pings durch eine 0 wieder. Den Misserfolg durch eine 1.

Ping also mal unter der Konsole dich selbst an (localhost). Danach fragst du die Umgebungsvariable errorlevel durch "echo %errorlevel%" ab

Das gleiche machst du dann nochmal mit einem ping zu 100.200.300.400 oder irgendeine Adresse, die du nicht anpingen kannst. Da ist der ErrorLevel, also der Rückgabewert, 1.

Void ist eine Methode ohne Rückgabewert, Int ist eine Methode welche einen Int-Wert zurückgibt. Diese Methoden müssen auch so aufgerufen werden. Neben Int kannst du den Rückgabetypen ändern indem du einen anderem im Deklarationsrumpf angibst. Bsp. Public String oder Private float.

Bei der Definition jeder Methode musst du den Typ des Rückgabewertes angeben. Em Ende dieser Methode musst du per "return" einen Wert zurückgeben, der diesem Typ entspricht.

"void" (https://translate.google.de/#en/de/void) bildet dabei eine Ausnahme, es bedeutet "kein Rückgabewert".

"int" steht für Integer (https://translate.google.de/#en/de/Integer), heißt du gibst eine Zahl zurück, die (in diesem Fall) angibt, ob das Programm erfolgreich abgeschlossen wurde (0; am Ende steht daher "return 0;" -> wenn der Code bis hierher erfolgreich ausgeführt wurde, wird "0" zurückgegeben) oder nicht.

Wenn du irgendetwas nicht verstanden hast, sag einfach Bescheid, allerdings muss ich zugeben, dass ich C# nicht kann.

Kommentar von AnonYmus19941
03.08.2016, 17:59

Wenn du "int" als Rückgabetyp angibst, solltest du auch eine Ganzzahl zurückgeben, auch wenn es manchmal auch anders geht.

Wenn du "void" angibst, wird eigentlich nichts zurückgegeben.

0

Naja, bei einer void- Methode wird kein Wert zurückgegeben, bei einer int Methode wird einfach ein Integer, ganze Zahl zurückgegeben.

https://msdn.microsoft.com/de-de/library/yah0tteb.aspx


Kommentar von priesterlein
03.08.2016, 17:51

Du kannst auch 1000 oder 3000 oder sonstwas zurückgeben.

0
Kommentar von procoder42
03.08.2016, 17:51

bei einer int Methode wird entweder -1, 0 oder 1 zurückgegeben.

Allgemein kann jede beliebige Ganzzahl zurückgegeben werden.

Bei der Main Methode soll über den Rückgabewert aber zusätzlich angegeben werden, ob das Programm ordnungsgemäß lief (sprich : Ob es Fehler gab). 0 bei einem fehlerfreien Ablauf und meist eine negative Zahlt (-1 ist es dann oft) für einen Fehler (Letztendlich könnte man aber über die zurückgegebene Zahl auch verschiedene Fehlertypen angeben, daher kann man das nicht auf -1, 0 und 1 beschränken)

0

mothode static in main() und static void main()

Schau mal in ein englisches Wörterbuch : Integer = Ganzzahl; Void = leer

Daraus ergibt sich dann auch der Sinn. Ist die Methode als "int" gekennzeichnet, so wird eine Ganzzahl zurückgegeben; bei "void" gar nichts

Was möchtest Du wissen?