Was genau macht "public static void" ?

Lestas89

Bekanntes Mitglied
Ich bringe mir derzeit Java selbst bei und habe eine Frage zu folgendem Programm:
Java:
class PotenzRekursiv {

   static double qHochpRek(int q, int p){
     if(p >= 0){
       if( p == 0)
         return 1;
       else
         return q*qHochpRek(q,p-1);
     }
     else{
       if( p == 0)
         return 1;
       else
         return 1./(q*qHochpRek(q,-p-1));
      
     }
    
   }
   public static void main(String[] args) {
     int q = 2;
     int p = -3;
    
     System.out.println(qHochpRek(q,p));
   }

}
Ich verstehe hier rein garnichts mehr. In der Regel schreibe ich im Programm oben immer public static void main (String[] args). Nun steht oben static double und unten public static void main (String[] args). Was macht dieses static double genau?
 
Zuletzt bearbeitet von einem Moderator:

Sogomn

Bekanntes Mitglied
public - Sichtbarkeit (Öffentlich)
static - Statisch (an die Klasse, nicht das Objekt gebunden)
void/double - Rückgabewert (void = nichts wird zurückgegeben)
 

Maggot

Bekanntes Mitglied
Ich glaube der Threadersteller möchte wissen warum.die Methode "static double..." VOR der Main steht.

@TE: in Java ist die Reihenfolge von Methoden egal. Deshalb muss die Main aich nicht als 1. stehen.
 

TeeOderJava

Neues Mitglied
Die Main Methode wird vom Compiler beim Programm start aufgerufen.
public steht für die Sichtbarkeit dieser Methode das heißt das die Methode von überall aufgerufen werden kann.
static heißt das diese Methode auch ohne die Erzeugung des Objektes ereichbar ist.
void steht dafür das diese Methode keinen Rückgabewert hat denn normalerweise gehört jede Methode einem Datentyp an (z.B. int, float oder String) wenn man diesen Rückgabe wert nicht braucht und nur Code ausführen möchte dann nimmt man void.
(String[] args) ist ein String Array. Wenn man ein Programm auf der Konsole ausführt dann kann man dahinter optional Parameter setzen diese landen dann in dem String Array.
 

Major_Sauce

Bekanntes Mitglied
Ich glaube du hast auch nicht verstanden, dass die main-Methode auch einfach über dem double stehen kann.
Das heißt du könntest die komplette Main-Methode (public static void main(){...}) auch einfach nach oben verschieben.

Dies funktioniert, weil das double, das oben steht, genauso wie die Main-Methode gekapselt sind und einfach in der Klasse liegen.
Du kannst das dir wie ne große Kiste vorstellen, in der nochmal Kleine Boxen liegen.
Die "Kiste" ist die Class, die Boxen (Methoden) die da drin Liegen haben miteinander erstmal gar nix zu tun und da kann auch eine Links liegen, die andere rechts oder die Liegen aufeinander, die Positionierung ist erstmal egal, zumindest solange du die nicht ineinander legst.

Und in den Boxen (Methoden) ist dann eben immer der Code, der was ausführen soll, der "Inhalt".

mfg Major
 

Neumi5694

Top Contributor
Was "static double qHochpRek(int, int)" macht, sollte eigentlich als Javadoc im Quelltext stehen :p, der Name ist nämlich recht schlecht gewählt.

"public static void main(String... args)" ist ein möglicher Einstieg ins Programm. Diese Methode wird vorausgesetzt, damit es überhaupt ausführbar wird.
Was die Modifier machen, wurde oben schon beschrieben, der Name und die Parameter entsprechen einem Standard, damit die Methode vom der VM auch ganz sicher gefunden wird, ohne dass die VM irgend etwas anderes über dein Programm weiß.

Und ja, Tutorials zu Jave gib's in Massen. Suche mal nach "Hello World Java" (Hello World ist traditionell das erste Programm, das in jeder Sprache gelehrt wird)
 
X

Xyz1

Gast
Leichenausbuddelnde ihr!
Schämt euch was! ;)

qHochpRek berechnet rekursiv die Potenz von zwei Zahlen!.... Dabei ist ganz bestimmt der erste Wert die Basis und zweiter der Exponent....

Schon Sokrates konnte es!:D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Hallo zusammen , was macht diese Methode hier genau? Java Basics - Anfänger-Themen 3
L Was genau macht -> Java Basics - Anfänger-Themen 18
J Was genau macht die Methode close() im InputStream? Java Basics - Anfänger-Themen 5
G Methoden Was genau macht die Methode light.setInfluencingBounds ? Java Basics - Anfänger-Themen 5
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
T Kann mir jemand wörtlich erklären, was in dem Code genau passiert? Java Basics - Anfänger-Themen 1
B 49-bit-zahl mit genau 6 Einsen bauen? Java Basics - Anfänger-Themen 21
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
jhCDtGVjcZGcfzug Was genau ist mit diesem Quellcode gemeint? Java Basics - Anfänger-Themen 5
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
S Was bewirkt ganz genau throw hinter einem Funktionsnamen? Java Basics - Anfänger-Themen 14
B Webhooks - was genau ist das und was kann damit JAVA Java Basics - Anfänger-Themen 5
B OCR - Rechnungserkennung, wie geht das genau? Java Basics - Anfänger-Themen 59
Dawinartor Erste Schritte Was genau steckt dahinter? Java Basics - Anfänger-Themen 7
C Polymorphie Was genau ist Polymorphie und wann genau sollte man es verwenden? Java Basics - Anfänger-Themen 9
A Was genau ist ein Standardkonstruktor Java Basics - Anfänger-Themen 10
B Wie funktionieren diese Methoden in diesem Sortierverfahren genau? Java Basics - Anfänger-Themen 2
B Für gesamte Schleife genau X Sekunden benötigen Java Basics - Anfänger-Themen 1
J TabelView - Kann mir jemand die Sequenz genau erklären ? Java Basics - Anfänger-Themen 2
H Wer genau ist 'Er'? Java Basics - Anfänger-Themen 4
B Was genau ist getClass().getRessouce() Java Basics - Anfänger-Themen 1
Y Wie setze ich genau eine Stückliste (UML) in Java um? Java Basics - Anfänger-Themen 9
D Was genau ist JDBC? Java Basics - Anfänger-Themen 2
K Code vereinfachen mit Schleife, aber wie genau? Java Basics - Anfänger-Themen 3
L Jarfiles packen, wie geht's genau? Java Basics - Anfänger-Themen 12
D Wann genau nutze ich ein solches Interface? Java Basics - Anfänger-Themen 3
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
J keyListener - Genau 1 Aktion soll bei 1 Tastenausdruck ausgeführt werden Java Basics - Anfänger-Themen 11
A Wenn genau welche Liste verwenden? Java Basics - Anfänger-Themen 6
S Erste Schritte Konstruktor - wie genau funktioniert der Code? Java Basics - Anfänger-Themen 16
J Klickposition genau bestimmen Java Basics - Anfänger-Themen 12
N aktuelle Datum Mikrosekunden genau bestimmen Java Basics - Anfänger-Themen 8
S Dezimale Konstanten sind immer positiv oder null - was heisst das den genau? Java Basics - Anfänger-Themen 2
F Was soll dieses Programm genau machen ? Java Basics - Anfänger-Themen 9
D Wie genau programmiere ich eine Assoziationsklasse? Java Basics - Anfänger-Themen 3
D Wie genau kann ich in Java Komponenten entwickeln? Java Basics - Anfänger-Themen 6
D Wann genau abstrakte Klasse und wann ein Interface verwenden? Java Basics - Anfänger-Themen 4
D Was genau bedeutet und bewirkt dieses @override? Java Basics - Anfänger-Themen 15
M Was ist genau eine Abstraktion in java Java Basics - Anfänger-Themen 3
J Was genau davon ist Anweisung, was Deklaration? Java Basics - Anfänger-Themen 2
bigbasti Warum genau braucht man Interfaces? Java Basics - Anfänger-Themen 10
A Was bedeutet folgende Programmcodezeile genau Java Basics - Anfänger-Themen 6
B Zeitmessung nicht genau genug Java Basics - Anfänger-Themen 11
L Hilfe, ich versteh nicht was mein Prof genau von mir will! Java Basics - Anfänger-Themen 9
C Wie genau geht man bei der Konzeptionierung vor? Java Basics - Anfänger-Themen 5
P Was genau bedeutet Feld Java Basics - Anfänger-Themen 3
P Was genau bedeutet "public static void main(String[] ar Java Basics - Anfänger-Themen 10
S Stack.pop() wie genau funktioniert das? Java Basics - Anfänger-Themen 3
D Mathematik in Java - genau? Java Basics - Anfänger-Themen 6
X Was genau heißt "public static void main(String[] args) Java Basics - Anfänger-Themen 4
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
ohneInformatik; For Schleife. Was macht dieser Code?? Java Basics - Anfänger-Themen 5
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
berserkerdq2 Warum macht man in IJVM am Anfang Bipush 0? Java Basics - Anfänger-Themen 1
S Was macht ++ ohne Schleife? Java Basics - Anfänger-Themen 4
K Gleitkommazahl macht man 0 punkt matisse oder 1 punkt matisse Java Basics - Anfänger-Themen 2
B Methoden warum macht die Methode nicht das was ich erwarte? Java Basics - Anfänger-Themen 2
E Macht Java Rechenfehler beim Potenzieren und Mod? Java Basics - Anfänger-Themen 5
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
N Was macht die Klasse? Java Basics - Anfänger-Themen 3
T Was macht diese Zeile? Java Basics - Anfänger-Themen 9
R getUserProperties() macht für mich keinen Sinn Java Basics - Anfänger-Themen 8
U Best Practice Fehleranalyse, welche Fehler macht Ihr beim Lernen bzw. auch später Java Basics - Anfänger-Themen 12
L Hilfe! Was macht dieser Code? Java Basics - Anfänger-Themen 1
C Was macht `public class ClassName<T extends Comparable<T>>`? Java Basics - Anfänger-Themen 14
M Was macht super (...)? Java Basics - Anfänger-Themen 1
Tommy135 Klassen jComboBox macht nicht was sie soll Java Basics - Anfänger-Themen 4
J JButton macht was er will Java Basics - Anfänger-Themen 3
R While-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 24
JavaNewbie2.0 Habe ein frage wie man etwas macht. Java Basics - Anfänger-Themen 13
B Was macht diese Methode? Java Basics - Anfänger-Themen 9
P Was macht diese methode Java Basics - Anfänger-Themen 2
Tacofan Was macht dieses "Stückchen Code"? Java Basics - Anfänger-Themen 3
F JSON null macht mir ein Problem Java Basics - Anfänger-Themen 3
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
B Erste Schritte Way of life ohne import - Habe Beispiel, macht Unfug Java Basics - Anfänger-Themen 21
D Methoden Filewriter macht keine Zeilenumbrüche Java Basics - Anfänger-Themen 3
E Erste Schritte [Noob-Frage] Meine If-Abfrage macht nicht, was sie soll... Java Basics - Anfänger-Themen 2
H Tastatur.wurdeGedrueckt() macht nicht das, was ich will :/ Java Basics - Anfänger-Themen 2
E Einfache For-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 2
J Shakersort, das Array macht Probleme! Java Basics - Anfänger-Themen 4
A scan.nextLine() - Wenn man zu lange nichts macht, soll etwas passieren Java Basics - Anfänger-Themen 3
C Scrollpanel autoscroll(false) macht nix Java Basics - Anfänger-Themen 2
M StringTokenizer macht Quatsch Java Basics - Anfänger-Themen 21
N Papaklasse macht Zicken mit Parameterkonstruktor Java Basics - Anfänger-Themen 7
K Datentypen double x als Bruch aus Integern macht x zu integer? Java Basics - Anfänger-Themen 3
C Erste Schritte was macht eigentlich "for (;;)" Java Basics - Anfänger-Themen 7
C JDK-Installer macht nichts Java Basics - Anfänger-Themen 11
A JApplet: einbinden von weiteren Jars macht Probleme Java Basics - Anfänger-Themen 2
B Variablen Wie macht man eine call by reference mit primitiven Datentypen in Java? Java Basics - Anfänger-Themen 2
I Für was macht man "deep Kopien" Java Basics - Anfänger-Themen 4
S Erste Schritte While do Schleife - macht nicht was sie soll Java Basics - Anfänger-Themen 7
9 Programm macht nicht was es soll Java Basics - Anfänger-Themen 6
H Was macht diese Methode? Java Basics - Anfänger-Themen 3
S JApplet macht Probleme Java Basics - Anfänger-Themen 2
Y Was macht folgende Regular Expression Java Basics - Anfänger-Themen 2
M Was macht bzw. was bringt ein constructor? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben