Warum muss man Variablen einen Wert zuweisen?

Status
Nicht offen für weitere Antworten.

Linad

Mitglied
hallo liebe java freunde

also mir ist folgendes unklar:

ich habe am anfang vom quellcode folgende variablen initialisiert

Code:
int summe = 0;
boolean eingabeAufforderung = false;

meiner meinung nach ist ja der boolean wert von eingabeAufforderung ja schon standardmässig auf false oder? (das gleiche übrigens auch bei summe) wenn ich jedoch das ganze nur so schreibe

Code:
int summe;
boolean eingabeAufforderung;

sagt mir eclipse,

the local variable eingabeAufforderung(oder summe) may not has been initialized

wieso? kann mir jemand da helfen?

Code:
import java.io.*;
/**
 *  Es werden 5 Zahlen über die Tastatur eingetippt und dann zusammengezählt. Eine
 *  Eingabeaufforderung kann eingeschaltet oder ausgeschaltet werden. Die equals()
 *  Methode überprüft was eingetippt wurde (ja/nein). 
 * 
 **/
public class EqualSumme {
    
    public static void main(String[] args) throws IOException {
        
        int summe = 0;
        String antwort = "ja";
        boolean eingabeAufforderung = false;
        
        BufferedReader eingabe = new BufferedReader( new InputStreamReader(System.in));
        
        // Eingabe des Benutzers über String inText einlesen
        System.out.print("Eingabeaufforderung <ja> oder <nein>? ");
        String inText = eingabe.readLine();
        
        // Die Objekte miteinander vergleichen und Flag setzen
        if (inText.equals(antwort)){
            eingabeAufforderung = true;
        }
        
        // Schleife die den Benutzer 5 mal auffordert eine Zahl einzugeben
        for (int i = 0; i < 5; i++){
            
            if (eingabeAufforderung == true){
                System.out.print("Geben Sie die " + (i+1) + (". Zahl ein: "));
            }
            String inData = eingabe.readLine(); // Eingabe des Benutzers wird gespeichert in inData
            summe += Integer.parseInt(inData);  /* String wird über die Wrapper Klasse zu Integer. 
                                                   summe speichert m und zählt das neue m immer wieder 
            									   dazu */
        }
        System.out.println("Gesamtsumme: " + summe);
    }
}
 

L-ectron-X

Gesperrter Benutzer
Lokale Variablen müssen vor ihrer Benutzung einen Wert zugewiesen bekommen.
Instanzvariablen und Klassenvariablen werden vom Compiler per default initialisiert.
 

0xdeadbeef

Top Contributor
Der Grund dafür - und danach war ja gefragt - ist aber der, daß lokale Variablen automatisch generiert werden, also auf im Zweifel auf dem Stack. Nach dem Verlassen des lokalen Kontexts existieren diese Variablen nicht mehr. Statische Klassenvariablen und nichtstatische Instanzvariablen dagegen müssen fest referenziert sein (klassisch gesehen: an einer bestimmten Adresse liegen), damit man z.B. auch "von außen" auf sie zugreifen kann. Sie existieren also unabhängig davon, in welchem lokalen Kontext man sich aufhält. Insofern lohnt es sich auch, sie bei ihrer Erstellung zu initialisieren, denn die Erstellung erfolgt ja z.B. pro Instanz nur einmal. Würden man allerdings die lokalen Variablen in jedem lokalen Kontext bei jedem Eintritt auf einen Defaultwert setzen, hätte das u.U. sehr große Performanceverluste zur Folge.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
F Warum muss ich ein SSL cert immer manuell hinzufügen? Java Basics - Anfänger-Themen 46
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
A OOP Bidirektionale Muss-Assoziation Java Basics - Anfänger-Themen 1
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
M Was muss ich verändern damit ich es so ausgegeben bekomme wie auf dem Foto? Java Basics - Anfänger-Themen 2
C Instanzen, wann muss ich Instanzen erzeugen & wo?) Java Basics - Anfänger-Themen 23
R Was muss ich an meinem Code ändern? Java Basics - Anfänger-Themen 2
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
L Muss eine HttpURLConnection geschlossen werden? Java Basics - Anfänger-Themen 2
B Email versenden, muss Methode static sein? Java Basics - Anfänger-Themen 7
J Muss ich die externen jars mitgeben? Java Basics - Anfänger-Themen 8
A Wie erkennt die JVM welche class verwendet werden muss? Java Basics - Anfänger-Themen 3
Yjuq Generic Methode - Wie muss die List Definition aussehen? Java Basics - Anfänger-Themen 3
B 4 Strings, Anfangsbuchstaben muss unterschiedlich sein Java Basics - Anfänger-Themen 12
A Doppele Ketten- da muss einer rein! Java Basics - Anfänger-Themen 6
J App.jar muss im Projekt App als Bibliothek vorhanden sein?! Java Basics - Anfänger-Themen 1
S Wie muss ich die Generische Methode schreiben? Java Basics - Anfänger-Themen 6
S Warum muss ich die operationen mit AffineTransform in umgekehrter Reihenfolge ausfuehren..? Java Basics - Anfänger-Themen 4
G Interface java.util.Comparator: Wieso muss nur die Methode compare() implementiert werden Java Basics - Anfänger-Themen 2
X Muss man das immer so schreiben o.O Java Basics - Anfänger-Themen 3
Z Gleiches Verzeichnis für class und java unter Windows Muss? Java Basics - Anfänger-Themen 11
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
D Socket ---> Server Socket worauf muss ich achten? Java Basics - Anfänger-Themen 2
O Warum muss ich static? Java Basics - Anfänger-Themen 6
B Split, Exception - Obwohl es gehen MUSS Java Basics - Anfänger-Themen 3
B FileWriter close() muss? Java Basics - Anfänger-Themen 8
A Threads Eine Klasse muss auf Variable der Anderen warten. Java Basics - Anfänger-Themen 6
D Sound abspielen, wo muss die .wav liegen Java Basics - Anfänger-Themen 3
X Muss man Java können um Jython nutzen zu können? Java Basics - Anfänger-Themen 14
H Problem: Button muss zwei Mal angeklickt werden, bis Aktion ausgeführt wird Java Basics - Anfänger-Themen 4
S jcal4j/jlog4j Wo muss die Properties file rein? Java Basics - Anfänger-Themen 2
J Warum muss diese Methode static sein ?! Java Basics - Anfänger-Themen 7
D Muss ich eigentlich immer auf die Verwendung des richtigen Datentyps achten? Java Basics - Anfänger-Themen 7
S OOP Wie muss meine Klasse zu dieser main aussehen? Java Basics - Anfänger-Themen 5
D Muss ein Applet schreiben was Mittelwerte berechnet nur was mache ich falsch? Java Basics - Anfänger-Themen 11
T Warum muss diese Variable final deklariert werden? Java Basics - Anfänger-Themen 5
A Was muss ich ändern? Java Basics - Anfänger-Themen 2
E Object als Parameter das Unbekannt ist, aber ein bestimmtes Interface haben muss Java Basics - Anfänger-Themen 3
S Abstrakte Klasse, festlegen, dass Methode verändert werden muss. Java Basics - Anfänger-Themen 4
M Wann muss man eine Variable mit set-/get-Methoden in eine Bean schreiben? Java Basics - Anfänger-Themen 19
T Referenzvariablen - warum muss der Typ definiert werden? Java Basics - Anfänger-Themen 14
E Java-Programm mit Eclipse - wie muss ich anfangen. Java Basics - Anfänger-Themen 7
N Wann muss eine Methode - protected sein wann public wann. Java Basics - Anfänger-Themen 5
H Eine Abstrakte Klasse muss. Java Basics - Anfänger-Themen 7
G vector füllt sich immer weiter. wo muss ich ihn leeren? Java Basics - Anfänger-Themen 3
G Muss es immer extends sein ? Java Basics - Anfänger-Themen 9
F Muss ich TableCellEditor implementieren für checkbox abfrage Java Basics - Anfänger-Themen 3
N Muss ein thread aktive mit stop beendet werden? Java Basics - Anfänger-Themen 18
P 2. Jframe öffnen und 1. Jframe muss sich dann schließen ? Java Basics - Anfänger-Themen 4
S Tabelsorter von SUN, wie muss die MysQL Anbindung realisiert Java Basics - Anfänger-Themen 11
J Rekursiv muss dass laufen! Java Basics - Anfänger-Themen 11
S Muss Programm schreiben -BRAUCHE HILFE Java Basics - Anfänger-Themen 15
C Wie muss man hier aufrufen von 2 eigenen Klassen? Java Basics - Anfänger-Themen 6
F Wie muss ich mit Preferences umgehen. Java Basics - Anfänger-Themen 5
J Ich versteh den Fehler nich, was muss ich denn ändern? Java Basics - Anfänger-Themen 3
C Klasse muss auf Event in einer anderen Klasse reagieren Java Basics - Anfänger-Themen 7
G Class.forName: Wie muss die Klasse angegeben werden? Java Basics - Anfänger-Themen 3
M muß durch muss ersetzen Java Basics - Anfänger-Themen 7
G Wie muss classpath lauten? Package kompilieren/interpretiere Java Basics - Anfänger-Themen 4
ven000m try catch - was muss bei catch rein Java Basics - Anfänger-Themen 28
D Wert muss sich pro sek ändern aber wie? HELP! Java Basics - Anfänger-Themen 9
P wohin muss ich die packages kopieren? Java Basics - Anfänger-Themen 12
G wieso muss Textfield final sein? Java Basics - Anfänger-Themen 6
G Warum muss das Textfeld final sein? Java Basics - Anfänger-Themen 2
G JDOM: muss XML-Datei nach Änderung abgespeichert werden? Java Basics - Anfänger-Themen 2
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
Arif Vererbung Methodenvererbung mit finalen Variablen Java Basics - Anfänger-Themen 1
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Variablen umbenennen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben