Identifikation von Elementen

1681918977893.png
Guten Tag,
Das ist vielleicht eine schockierend einfache Frage frage, aber "inkrementiere" ist hier eine Methode, wegen der Klammern dahinter?
und ("int zahl") sind Parameter?
"return zahl" ist dann auch ein Befehl der Methode inkrementiere?

Freundliche Grüße!
 

Robert Zenz

Top Contributor
Jaquasi, Ja und Ja.

Also was eine Methode ist ergibt sich sowohl aus Syntax/Signatur als auch Position.


Java:
// Methodendefinition an falscher Stelle (auszerhalb der Klasse).
public void doSometing() {}

public class Test {
    // Gueltige Methodendefinition
    public void doAnotherThing() {}
    
    public void action() {
        // Methodendefinition an falscher Stelle (innerhalb einer anderen Methode).
        public void yetSomethingElse() {}
    }
    
    public void action2() {
        Object variable = new SomeInterface() {
            // Gueltige Methodendefinition (in einer anonymen Klasse).
            public void moreSomething() {}
        }
    }
}

Eine Methode besteht syntaktisch aus:

Java:
// Sichtbarkeit Statisch-oder-nicht Final-oder-nicht Rueckgabetyp Parameterliste Parameter 1  Parameter 2
   public       static              final            void         (              int value  , int value2 )
 

Robert Zenz

Top Contributor
Eine Methode besteht syntaktisch aus:

Java:
// Sichtbarkeit Statisch-oder-nicht Final-oder-nicht Rueckgabetyp Parameterliste Parameter 1  Parameter 2
   public       static              final            void         (              int value  , int value2 )

Wobei genauer mit generischen Typen:

Java:
// Sichtbarkeit Statisch-oder-nicht Final-oder-nicht Generischer Typ  Rueckgabetyp Parameterliste Parameter 1  Parameter 2
   public       static              final            <GENERIC_TYPE>   void         (              int value  , GENERIC_TYPE value2 )
 
Achso, das ist ja schonmal gut.
Aber ich verstehe nicht, warum der Parameter hier in dieser Form (int zahl) vorliegt. Ist dieser Parameter auch eine Variable?

Ich würde versuchen einfach nur mit "zahl++" zu inkrementieren, weil ja auch nichts weiter gegeben oder verlangt wird.
 

Robert Zenz

Top Contributor
Ist dieser Parameter auch eine Variable?

Ja, ein Parameter ist auch eine Variable im Geltungsbereich der Funktion.

Ich würde versuchen einfach nur mit "zahl++" zu inkrementieren, weil ja auch nichts weiter gegeben oder verlangt wird.

Angesichts dessen dass die Funktion int inkrementiere(int) ist, wuerde ich davon ausgehen dass der inkrementierte Wert zurueckgeliefert werden soll.
 

temi

Top Contributor
Es fehlt übrigens der Name der Methode :)

Java:
// Sichtbarkeit Statisch-oder-nicht Final-oder-nicht Rueckgabetyp Name           Parameterliste Parameter 1  Parameter 2
   public       static              final            void         nameDerMethode (              int value  , int value2 )
 

KonradN

Super-Moderator
Mitarbeiter
Namen werden ueberbewertet, ein echter Programmierer ordnet seine Methoden so im Speicher dass sie ohnehin in der richtigen Reihenfolge aufgerufen werden.
Und da dachte ich kurz, Du hättest was drauf ... Dabei bist Du auch nur so ein Speicher Verschwender...
Echte Programmierer nutzen maximal Assembler. Aber das sind dann nur echte, warmduschende Programmierer. Wer auch kalt duscht, der schreibt direkt den binary Code für eine CPU. Und dann hat man z.B. unter DOS / Windows als IDE edlin und startet die Entwicklung dann mit einem edlin mytool.com bei kleinen Tools (Eingabe der Bytes über den 10er Block!). Da spart man sich einiges, was eine EXE noch drumherum mitbringt ....

Also dieses Basiswissen hätte ich schon erwartet ...

BTW: Ohne gefrühstückten Clown: Ich habe mal jemanden kennen gelernt, der so um 1994 tatsächlich kleine Programme auf i386 / MS DOS Basis schreiben konnte. Also so Basis Dinge a.la. Ausgabe eines Strings, einlesen einer Zahl und dann kleine Berechnungen. Das war damals das Abschreckende Beispiel was passiert, wenn man mit 80x86er CPUs zu viel anstellt.
 

Robert Zenz

Top Contributor
BTW: Ohne gefrühstückten Clown: Ich habe mal jemanden kennen gelernt, der so um 1994 tatsächlich kleine Programme auf i386 / MS DOS Basis schreiben konnte. Also so Basis Dinge a.la. Ausgabe eines Strings, einlesen einer Zahl und dann kleine Berechnungen. Das war damals das Abschreckende Beispiel was passiert, wenn man mit 80x86er CPUs zu viel anstellt.

Von solchen Leuten hoere ich immer nur, bin aber selbst noch keinem begegnet, leider. Das naeheste war ein C++ Programmierer der wirklich C++ gelebt hat, quasi. Der kannte jede Ecke, kannte jede Neuerung und konnte einfach so C++ Code schreiben wie andere Java...und den sein Code war dann auch noch lesbar (also wenn man C++ lesen kann).

In einer aehnlichen Schiene, ich hatte mir mal vorgenommen die LPIC zu machen und mir auch die beiden Vorbereitungsbuecher dazu gekauft. Also erstes Buch aufgeschlagen, erste Frage, "Wie lautet die typische Adresse fuer eine I/O-Schnittstelle" und fuenf Hex-Zahlen zur Auswahl. Buch zugemacht, beschlossen dass ich das vielleicht doch nicht so dringend brauche.
 
Dankeschön, ich habe jetzt nach unendlich langer Zeit verstanden, dass hier im Hintergrund unsichtbar schon Werte für die Variable "zahl" vorhanden sind und ich die für die Variable "zahl" deswegen nicht wie bei den meisten Beispielen im Internet selbst zunächst einen Wert setzen muss.

1682342935461.png
Allerdings bekomme ich trotzdem wenn ich auf play drücke diese Meldung, obwohl auf der linken Seite bei der Nummerierung der Spalten nirgendwo ein rotes Kreuz für einen Fehler angezeigt wird.1682343215848.png
 

Robert Zenz

Top Contributor
Dankeschön, ich habe jetzt nach unendlich langer Zeit verstanden, dass hier im Hintergrund unsichtbar schon Werte für die Variable "zahl" vorhanden sind und ich die für die Variable "zahl" deswegen nicht wie bei den meisten Beispielen im Internet selbst zunächst einen Wert setzen muss.

Nichts daran ist unsichtbar. Es wird dir als Variable uebergeben, es ist schlicht und ergreifend an anderer Stelle angelegt und belegt.

Allerdings bekomme ich trotzdem wenn ich auf play drücke diese Meldung, obwohl auf der linken Seite bei der Nummerierung der Spalten nirgendwo ein rotes Kreuz für einen Fehler angezeigt wird.

Die "Problems View" waere das Fenster der Wahl welches zu einblenden (oder finden) willst, da stehen alle Kompilierungs- oder Projektfehler drinnen.
 
Nichts daran ist unsichtbar. Es wird dir als Variable uebergeben, es ist schlicht und ergreifend an anderer Stelle angelegt und belegt.
Ich meinte, im Rahmen des Dokuments waren keine Zahlen zu sehen. Das kann man in der deutschen Sprache schon als unsichtbar bezeichnen.
Die "Problems View" waere das Fenster der Wahl welches zu einblenden (oder finden) willst, da stehen alle Kompilierungs- oder Projektfehler drinnen.
Ok, aber dann finde ich den aktuellen View vielleicht nicht mehr und in einigen der Views kann man anscheinend nicht alle Funktionen nutzen.
 

Robert Zenz

Top Contributor
Ok, aber dann finde ich den aktuellen View vielleicht nicht mehr und in einigen der Views kann man anscheinend nicht alle Funktionen nutzen.

"View" ist ein Eclipse-Sprache ein einzelner Fensterteil, zum Beispiel der Editor, der Projektbaum, die Konsole und so weiter. "Perspective" ist eine Sammlung von einzelnen Views mit einem bestimmten Fokus, zum Beispiel Java-Entwicklung, oder Datenbankadministration oder C++-Entwicklung.
 

Neue Themen


Oben