# Sehr einfache Java-Programme



## Hava (13. Sep 2012)

Hallo

Ich habe ganz frisch mit Java angefangen und sehr, sehr einfach Programme geschrieben. Ich studiere Mathematik und bin noch gar nicht mit Programmieren vertraut (finde es aber sehr spannend!).
Ich hoffe, nicht nur durch Theorie zu Lernen sondern auch indem ich hier meine Schwierigkeiten poste und so konkrete sehe, was geht und was nicht 

Hier schon mal das erste Problem:



```
public class Test2 {

int x;
int y;

x = 3;
y = 4;

System.out.println("a");


}
```

Eine weitere Frage, ev. könnt ihr mir da auch helfen: Wenn ich Eclipse brauche und auf "src" klicke um eine neue Klasse hinzuzufügen kommt der Hinweis "the use of the default package is decouraged" - was genau ist damit gemeint?

Und eine letzte Frage: Kennt ihr einen guten Link online zum "Punktoperator" (.)?

Danke!


----------



## Gast2 (13. Sep 2012)

Zu deinem Code:
Da fehlt die main() Methode, die ist der Einstiegspunkt für jedes Javaprogramme. Korrekt wäre das also so:

```
public class Test2 {
  public static void main(String[] args) {
    int x = 3;
    int y = 4;
    System.out.println("a");
  }
}
```
Galileo Computing :: Java ist auch eine Insel – 2.2 Anweisungen formen Programme



> Wenn ich Eclipse brauche und auf "src" klicke um eine neue Klasse hinzuzufügen kommt der Hinweis "the use of the default package is decouraged" - was genau ist damit gemeint?


In Java wird alles in packages und Klassen organisiert. Ein package ist ein ganz normaler Ordner in dem dann deine Java Klasse liegt. Zusätzlich muss dann noch als erste Zeile in deinem Quelltext folgendes stehen:

```
package mein.pfad.zum.package;
```
Die Warnung kommt, da man seine Klassen IMMER in ein package legen sollte. Macht man das nicht hat meine ein paar Probleme.
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.9 Compilationseinheiten und eigene Pakete schnüren



> Und eine letzte Frage: Kennt ihr einen guten Link online zum "Punktoperator" (.)?


Vielleicht das hier:
Galileo Computing :: Java ist auch eine Insel – 2.7 Methoden einer Klasse


----------



## pappawinni (13. Sep 2012)

Na, wenn du studierst, dann gibt es an der Uni/Hochschule bestimmt ne Möglichkeit nen Kurs zu belegen. Als Mathe-Student kommst du vmtl. an Programmierung sowieso nicht vorbei. 
Obwohl, gibt ja auch Leute, die zwar keinen Leistungskurs in Mathe machen, aber dann irgend n technisches Fach studieren (wollen), wo entsprechende Kenntnisse aber benötigt werden. ???:L


----------



## Hava (13. Sep 2012)

Erstmals vielen Dank!

Zu dem was du schreibst: Wenn man mehrere Klassen hat, muss ja nicht jede Klasse eine main-Methode enthalten? Dies ist also nur zwingend, wenn das Programm nur aus einer Klasse besteht?

Wie genau macht man solch ein Packet? Ich hab jetzt auf Ecplise etwas rumprobiert, aber das noch nicht herausgefunden...

lg


----------



## Gast2 (13. Sep 2012)

Jedes Javaprogramm braucht eine main() Methode, die wird beim Start aufgerufen. Hast du mehrere Klasse, braucht nur genau eine Klasse eine main() Methode.



> Wie genau macht man solch ein Packet? Ich hab jetzt auf Ecplise etwas rumprobiert, aber das noch nicht herausgefunden...


Wenn du schon ein Projekt erstellt hast:
Rechte Maustaste -> New -> Package


----------



## Hava (14. Sep 2012)

Super, danke.

Wenn ich nun folgendes Programm habe:


```
package paeckli;

public class Test2 {

	public static void main(String[] args){
int x;
int y;

x = 3;
y = 4;

System.out.println(x);

	}
}
```

kriege ich neben dem "int y" ein Warnzeichen (Glühbirne und gelbes Schildchen) - warum genau? Die Optionen, die ich sehe, wenn ich auf das Warnzeichen klicke sind zB. "Remove y and all assignments".

thx


----------



## redJava99 (14. Sep 2012)

Wenn du den Maus-Cursor über den gelben (bei Fehlern rot) unterstrichenen Code hältst, bekommst du den entsprechenden Hinweis bzw. Fehler angezeigt. In diesem Fall würde ich vermuten 'y is never read locally'. Soll heißen, die Variable hier nutzlos, erzeugt aber keinen Compilerfehler, daher nur eine Warnung.


----------



## hüteüberhüte (14. Sep 2012)

Hast du dein Mathe-Studium auch durch bloßes Ausprobieren und Rumstochern geschafft? Würde mich doch wundern, wenn du anders, als es beim Programmieren anscheinend der Fall ist, nie ein Buch benutzt hast.


----------



## Hava (14. Sep 2012)

Ich lese nebenher auch das offizielle Java-Tutorial und ein Buch.

Aber da Java eine doch komplexe Sprache ist, ist vieles auch einfach nicht erklärt - also frage ich zT lieber, wenn ich denke, dass mir schnell geholfen werden kann.

Stört es dich? Bestimmst du hier, was man fragen darf und was nicht?


----------



## F.S.WhiTeY (14. Sep 2012)

> Stört es dich? Bestimmst du hier, was man fragen darf und was nicht?



Ich denke es stört ihn, ja. Denn die Fragen die du stellst werden in jedem guten Buch, von google oder von Dozenten erklärt. 

Du musst verstehen das wir das hier alles Ehrenamtlich machen und keine Privatdozenten sind. Es gehört sich einfach ein gewisses Selbststudium an den Tag zu legen und hier erst zu Posten wenn man alle anderen Möglichkeine ausgeschöpft hat. 

Siehe http://www.java-forum.org/java-basics-anfaenger-themen/15634-ersten-posten-bitte-lesen.html

das ist einfach eine Frage der Höflichkeit, denn die gibt es auch im INet.


----------



## Hava (14. Sep 2012)

Ich habe aber bereits gelesen.
Wenn man aber selber was ausprobiert, stellen sich einem plötzlich Fragen, die sich einem vorher nicht gestellt haben.

Höflichkeit ist für mich, all eure Antworten genau durchzulesen, mitzudenken und mich für die Hilfe zu bedanken.

Dann verabschiede ich mich halt, finde aber euer Verhalten nicht in Ordnung. Tja.


----------



## jgh (14. Sep 2012)

lass dich nicht davon beirren, es gibt halt solche und solche...

das gelbe Ausrufungszeichen sagt dir einfach nur, du deklarierst und initialisierst eine Variable und nutzt sie nicht. Wenn du bspw. ein 
	
	
	
	





```
System.out.println
```
 auf das 
	
	
	
	





```
y
```
 machst, oder das 
	
	
	
	





```
y
```
 irgendwo benutzt, ist diese Warnung auch verschwunden...


----------



## timbeau (14. Sep 2012)

Ich sehs ebenfalls als unpassende Frage. Genauso wie die Main-Sache zeigt das nämlich, dass du dich nicht damit beschäftigt hast. Selbst im Anfängerbereich sind die Fragen normalerweise um ein vielfaches komplexer als deine. Denk mal über diese Kritik nach, ich geh auch nicht in ein Matheforum und frage wie Addition funktioniert. Als Tip für den Anfang:

Java von Kopf bis Fuß - Buch


----------



## jgh (14. Sep 2012)

[ot]habt ihr alle schlecht geschlafen heute, oder was ist das prob...

Wenn euch ein Thema nicht passt, der TO euch zu wenig Eigeninitiative zeigt, oder was auch immer euch stört...ignoriert ihn, oder sie...aber sabbelt nicht den Thread dicht mit irgendwelchen pers. Einschätzungen, gerade am Anfang sieht man manchmal den Wald vor lauter Bäumen nicht...und bei einigen habe ich gerade den Eindruck, dass sie ihre eigenen Start vergessen haben.[/ot]

@ Hava
wenn du fragen hast, einfach stellen...egal was einige anderen hier sagen. Scheint heute irgendwelche merkwürdigen Einflüsse zu geben, gibt aber auch genug vernünftige hier, die gerne helfen.


----------



## Hava (14. Sep 2012)

Es tut mir leid wenn ich den Eindruck mache, als hätte ich nichts gelesen. Das stimmt überhaupt nicht.
Aber in der konkreten Anwendung stellen sich dann tausend Fragen und Java ist doch recht detailliert.

Mir ist beispielsweise durchaus bewusst, dass ein Programm von der main-Methode ausgeführt wird (diese deshalb static ist) etc. etc., aber ich wusste nicht, dass ich eine Fehlermeldung auch schon dann kriege, wenn eine spezifische Klasse keine main-Methode enthält...

Und wenn jemand in einem Mathematik-Forum eine für mich einfache Frage stellt, heisst das noch lange nichts...vielleicht steckt diese Person gerade irgendwo fest, ist verwirrt, sieht gerade die Zusammenhänge nicht etc. Anstatt es mir herauszunehmen, der Person ohne weiteres Wissen Vorwürfe zu machen, würde ich mit kleinen Hinweisen versuchen, die Person in die richtige Richtung zu lenken...

Ehrlich gesagt finde ich euer Verhalten nicht sehr erwachsen und ich fühle mich hier zu wenig willkommen, um weitere Fragen zu stellen..


----------



## timbeau (14. Sep 2012)

Gut, dann zum Problem, mit der main-Methode. Eine Klasse braucht keine main-Methode. Da wir in Java sind, sind die Klassen ja Objekte, Autos, Flugzeuge, Personen. Ein Auto braucht seine Daten. Anweisungen müssen aber in Methoden rein. Deine 

```
System.out.println("Hallo");
```
ist eine Anweisung = tu etwas. 

Eine Methode kann die main sein aber auch 


```
public void printInfos(){
System.out.println("Hallo");
}
```

Und beim Glühbirnchen wird dir die Warnung auch gezeigt. Wozu eine Variable wenn sie nicht gebraucht wird. Wenn du dich aber nicht wohl fühlst, viele andere tun dies. Liegts jetzt am Forum?


----------



## ARadauer (14. Sep 2012)

timbeau hat gesagt.:


> Ich sehs ebenfalls als unpassende Frage.



Versteh nicht warum ihr jetzt Hava blöd anmacht.
Wenn die Frage zu einfach ist, ignorier sie doch einfach. Wobei das mit der Warning eine berechtigte Frage ist...

bleibts gscheidig... es is freitag ;-)


----------



## F.S.WhiTeY (14. Sep 2012)

Das wird mein letzter Post hier:

Nicht willkommen? Doch du bist willkommen aber :

1. Wenn ich etwas nicht verstehe kann ich erstmal googlen. Mache ich das nicht, bin ich zu faul dafür. Faulheit wird hier von den wenigsten unterstützt.

2. Deine IDE (Eclipse) gibt dir hinweise. Diese sind auf englisch. Kann man damit nichts anfangen -> google. Kann man keine Englisch: Google Übersetzer. Ergo: Faulheit. 

3. Wenn du English kannst, gibt es zu Eclipse auch soetwas wie eine Bedinungsanleitung. Nennt sich Dokumentation. Nicht gelesen oder nachgeschlagen? --> Faulheit. 

Es ist nicht so, das hier keiner helfen will. Wir wollen dir sogar sehr helfen: Nennt sich Hilfe zur Selbsthilfe und ist in gewisser weise ein Form von Erziehung. 

1. Wir sind nicht immer da um zu helfen.
2. Sind selbst gelöste Probleme viel lehrreicher und befridigender. 



> Und wenn jemand in einem Mathematik-Forum eine für mich einfache Frage stellt, heisst das noch lange nichts...vielleicht steckt diese Person gerade irgendwo fest, ist verwirrt, sieht gerade die Zusammenhänge nicht etc. Anstatt es mir herauszunehmen, der Person ohne weiteres Wissen Vorwürfe zu machen, würde ich mit kleinen Hinweisen versuchen, die Person in die richtige Richtung zu lenken..



Mag sein, dass du verwirrt bist oder fest hängst aber detailierte Fragen zu nicht verstandenen Zusammenhängen hast du nicht gestellt. Deine Fragen lesen sich eher wie "macht mal bitte für mich". Um genauer zu werden: Übersetzt mir mal bitte "the use of the default package is decouraged" und googlet doch mal bitte "default package" für mich. 

Merke dir bitte: Jeder Fehlermeldung erst googlen, dann Fragen.


----------



## lufon (14. Sep 2012)

@F.S.WhiTeY
wenn du jemand als faul empfindest, dann lass es und schreib einfach nicht zurück.

natürlich kann man den google übersetzer brauchen, wenn man bei eclipse etwas nicht versteht, weils english ist, aber ich denke hald, dass er es nichtnur versteht, weils english ist, sondern weil er auch anfänger ist und ihm das deshalb schwer fällt.
als ich mit java angefangen hab und mir netbeans(auch eine IDE wie eclipse) geholt habe, war ich zuerst auch baff, weil es einfach soviele knöpfe etc. hatte.aber mit geduld und übung kommt das schon.

zudem kannst du den google übersetzer in den müll schmeissen, WWW leo.org ist besser.


@Hava
Ich empfehle dir, ein gutes tutorial zu suchen und daraus mal ein paar code-schnippsel zu nehmen und dann daraus ein eigenes, kleines programm zu schreiben.also ich selbst habe es so gemacht und nun behersche ich java von der syntax her ziemlich gut.
und wenn dus mal draussen hast, machts echt fun 
und das wichtigste : lass dir zeit.

gruss


----------



## F.S.WhiTeY (14. Sep 2012)

> wenn du jemand als faul empfindest, dann lass es und schreib einfach nicht zurück.



Ich wollte ja eigentlich nicht mehr aber den einen muss ich noch! 

Falscher Weg: Nicht antworten und ignorieren ist unfair. Dann weiß der TO ja garnicht warum keiner antwortet. Die Meinung sagen ist fairer. Dann weiß er woran er ist und warum. Nicht jeder verträgt eine Meinung und nicht jeder teilt sie aber ignorieren ist viel gemeiner als den Mund auf zu machen.


----------



## lufon (14. Sep 2012)

natürlich ist das gemein, aber das ignorieren führt schliesslich dann trotzdem dazu, dass dann derjenige die geduld verliert und ein tutorial durchliest oder mal ein bisschen googelt


----------



## Jango (14. Sep 2012)

lufon hat gesagt.:


> natürlich ist das gemein, aber das ignorieren führt schliesslich dann trotzdem dazu, dass dann derjenige die geduld verliert und ein tutorial durchliest oder mal ein bisschen googelt



Dann wären Foren unsinnig, die sich auf die Fahne geschrieben haben, anderen zu helfen, und vom Traffic all jener angewiesen sind...



jgh hat gesagt.:


> lass dich nicht davon beirren, es gibt halt solche und solche...
> 
> das gelbe Ausrufungszeichen sagt dir einfach nur, du deklarierst und initialisierst eine Variable und nutzt sie nicht. Wenn du bspw. ein
> 
> ...



Genau so ist es. Probier mal:


```
package paeckli;

public class Test2 {

  public static void main(String[] args){
    int x;
    int y;

    x = 3;
    y = 4;

    System.out.println(x,y);

  }
}
```

Da sollte die Warnung verschwunden sein, weil du Variable 'y' auch benutzt.


Desweiteren muss ich feststellen, dass immer mehr Leute, die nichts zum Thema beitragen, oder beitragen können, immer mehr flamen.
Wie ich oben schon geschrieben hab, sind Foren in einem bestimmten Bereich auch für diesen da.
Wer sich arrogant zur Seite lehnt und Anfänger belächelt, oder beschimpft, hat hier nichts verloren!

@ hütehütehüte:
Wenn dich dein Leben nervt, geh zum Spezialisten - hier kommt aus deiner Feder nur Gülle!

@ Hava (TO):
Vielleicht versuchst du es mal bei uns im Forum. Die Kompetenz ist die gleiche, nur geht man anders miteinander um...

Edit:



F.S.WhiTeY hat gesagt.:


> Ich wollte ja eigentlich nicht mehr aber den einen muss ich noch!
> 
> Falscher Weg: Nicht antworten und ignorieren ist unfair. Dann weiß der TO ja garnicht warum keiner antwortet. Die Meinung sagen ist fairer. Dann weiß er woran er ist und warum. Nicht jeder verträgt eine Meinung und nicht jeder teilt sie aber *ignorieren ist viel gemeiner als den Mund auf zu machen*.



In deinem Fall nicht!
Warum stehst du nicht zu deinem Wort (verheriger Post) und sagst nichts mehr?


----------



## Hava (14. Sep 2012)

Ach so, ich bin faul.

Schade dass mit Wissen nicht immer Bescheidenheit einhergeht sondern anscheinend auch oft Arroganz.

Beleidigungen sind aber fehl am Platz und dienen sicher nicht zur Motivation - vielleicht steht in den Forenregeln, die ihr ja offensichtlich prima einhält auch, dass man andere User nicht beleidigen sollte.....

Ich bin definitiv weg.

Edit: Natürlich vielen Dank allen, die helfen wollten. Ich werde mich sicher mal im anderen Forum umschauen


----------



## Firephoenix (14. Sep 2012)

Der nette Hinweis doch mal google anzuwerfen oder ein Tutorial durchzulesen ist sicherlich keine Beleidigung. Auf deine Fragen findet man teilweise schon recht brauchbare Antworten online.
Allerdings sollte man trotzdem nicht vergessen, das man als totaler Anfänger bei Java schonmal den Wald vor lauter packages, Klassen, Methoden, static-nichtstatic, etc nicht sieht  Daher kriegst du in dem Forum hier auch auf recht einfache Fragen durchaus ordentliche Antworten. Insgesamt ist die Qualität in dem Board generell relativ hoch, nur bei Themen die man leicht findet kriegt man halt eine kurze Antwort und den netten Verweis sich doch mal selbst weiter mit dem Thema zu beschäftigen weil es genug Material dazu gibt - in dem Alter sollte man eigentlich sein, dass man sich bei sowas nicht auf den Schlips getreten fühlt. Tauchen dann später konkretere Probleme auf (Array in der Zeile xyz wirft eine NPE wenn ich dies und das mache...), dann kann man sich das hier genauer anschauen, nur das Basiswissen sollte man sich möglichst selbst erarbeiten, schließlich ist das ein Forum und keine interaktive Lehreinrichtung 

(Schleichwerbung: wenn dir das Geld nich zu schade ist, javavideokurs.de hat zum start auch eine sehr hohe Qualität).

@Jango
die Methode 

```
System.out.println(x,y);
```
gibt es in der Form nicht, ich denke du meinst das hier oder?

```
System.out.println(x+","+y);
```

[OT]
scnr :autsch:


> Desweiteren muss ich feststellen, dass immer mehr Leute, die nichts zum Thema beitragen, oder beitragen können, immer mehr flamen.
> Wie ich oben schon geschrieben hab, sind Foren in einem bestimmten Bereich auch für diesen da.


http://www.java-forum.org/java-basics-anfaenger-themen/141368-verstaendnisfrage.html#post939088
[/OT]


----------



## SlaterB (14. Sep 2012)

so, hier kann zum Thema nicht mehr wirklich neues dazu kommen, geschlossen


----------

