Variablen Wie initialisiert man in Java eine Variable ohne das Setzen von 0 oder einer anderen Zahl?

Inkognito

Mitglied
Wie initialisiert man in
Code:
Java
das Setzen einer Integer-Variablen, die keinen Wert enthält und deren Ausgabe beispielsweise
Code:
N/A
wäre? Also, dass diese Variable weder
Code:
0
, noch sonst irgendeinen Wert enthält?
Was mir dabei vorschwebt wäre das Rechnen mit Werten, die sowohl positiv, als auch negativ sein können, wie auch
Code:
0
. Nennt man diesen Wert
Code:
a
und setzt ihn beispielsweise in die Bedingung einer
Code:
if
-Schleife, z.B.
Code:
(a != N/A)
, so soll also diese
Code:
if
-Schleife nur dann ausgeführt werden, wenn es überhaupt einen Wert für
Code:
a
gibt.
Ist so etwas möglich und wenn ja, wie?

[OT]
Off-Topic gelöst!
  1. Warum kann man beim Schreiben von Beiträgen eigentlich keine unterschiedlichen Schriftarten Verwenden? Ich hätte so Java-Code nämlich in „Courier New“ und den anderen Text beispielsweise in „Times New Roman“ dargestellt.
  2. Warum gibt es eigentlich kein Off-Topic Forum, sondern nur die Off-Topic Funktion?
[/OT]
 
Zuletzt bearbeitet:

KrokoDiehl

Top Contributor
Wenn ich dich richtig verstehe, gäbe es ein paar Möglichkeiten in deinem Sinne:

Java:
Integer zahl1 = null;
double zahl2 = Double.NaN;

...
if (zahl1 != null) {
    rechne(zahl1);
}

if ( ! Double.isNaN(zahl2)) {
    rechne(zahl2);
}
 

BuckRogers

Bekanntes Mitglied
Java:
int i; // hat z.B. keinen wert wenn ich nicht irre.

Und man kann code markieren und ändern. Da gibt es so lustige buttons im Editor... ;)
 

faetzminator

Gesperrter Benutzer
Da deine eigentlichen Fragen bereits beantwortet wurden...
Warum kann man beim Schreiben von Beiträgen eigentlich keine unterschiedlichen Schriftarten Verwenden? Ich hätte so Java-Code nämlich in „Courier New“ und den anderen Text beispielsweise in „Times New Roman“ dargestellt.
Es gibt den [java ] und [c ] Tag (ohne Leerschlag):
Java:
System.out.println("Hello World!");
Ich hab drin ein [c]Foo[/c] und ein [c]Bar[/c].
Warum gibt es eigentlich kein Off-Topic Forum, sondern nur die Off-Topic Funktion?
Es gibt die Plauderecke - java-forum.org
 
N

nillehammer

Gast
KrokoDiehl's Antwort nochmal etwas ausführlicher erklärt:
Primitive Datentypen (boolean, byte, char, short, int, long, float, double) können nicht "keinen Wert" haben. [STRIKE]Sie sind immer irgendwie initialisiert.[/STRIKE] (<- die Formulierung ist blöd, habe sie gestrichen) Die Konstanten NaN bei den Fließkommatypen sind auch ein Wert. Sie werden benutzt, um das Ergebnis von Berechnungen auszudrücken, die unzulässig sind (bspw. Wurzel aus einer Negativen Zahl).

Wenn Du einen Wert "nicht gesetzt" haben willst, dann nim die sog. Wrapper-Typen (Boolean, Byte, Character, Short, Integer, Long, Float, Double). Das sind normale Typen, die man auch null setzen kann.
 
Zuletzt bearbeitet von einem Moderator:

Inkognito

Mitglied
Wenn ich dich richtig verstehe, gäbe es ein paar Möglichkeiten in deinem Sinne:

Java:
Integer zahl1 = null;
double zahl2 = Double.NaN;

...
if (zahl1 != null) {
    rechne(zahl1);
}

if ( ! Double.isNaN(zahl2)) {
    rechne(zahl2);
}

Ok, also gilt für
Code:
Integer
-Variablen (und wohl auch für andere ähnliche Datentypen wie
Code:
Long
usw. (?)) allgemein, dass man sie mit einem
Code:
null;
initialisieren sollte.
Für
Code:
float
gilt dann wahrscheinlich
Code:
Float.NaN;
, so wie für
Code:
double
anscheinend immer
Code:
Double.NaN;
gilt.

Eine Sache noch zu deinem Code:
Java:
if (zahl1 != null) {
    rechne(zahl1);
}

if ( ! Double.isNaN(zahl2)) {
    rechne(zahl2);
}
Meinst du mit
Code:
rechne(zahl1);
und
Code:
rechne(zahl2);
denn irgendeine Rechenopreation, die, wie sie auch immer geartet sein mag, durchgeführt wird? Denn
Code:
rechne();
ist mir nicht bekannt. Ich denke mal du wolltest ersteres damit ausdrücken.

Java:
int i; // hat z.B. keinen wert wenn ich nicht irre.

Und man kann code markieren und ändern. Da gibt es so lustige buttons im Editor... ;)

Nun, anscheinend müssen sie doch mit einem leeren Wert initialisiert werden, wenn ich das richtig verstanden habe.

KrokoDiehl's Antwort nochmal etwas ausführlicher erklärt:
Primitive Datentypen (boolean, byte, char, short, int, long, float, double) können nicht "keinen Wert" haben. [STRIKE]Sie sind immer irgendwie initialisiert.[/STRIKE] (<- die Formulierung ist blöd, habe sie gestrichen) Die Konstanten NaN bei den Fließkommatypen sind auch ein Wert. Sie werden benutzt, um das Ergebnis von Berechnungen auszudrücken, die unzulässig sind (bspw. Wurzel aus einer Negativen Zahl).

Wenn Du einen Wert "nicht gesetzt" haben willst, dann nim die sog. Wrapper-Typen (Boolean, Byte, Character, Short, Integer, Long, Float, Double). Das sind normale Typen, die man auch null setzen kann.

Um noch einmal auf die obige Antwort von KrokoDiehl zu verweisen: Man muss also
Code:
Integer
ganz ausschreiben und kann nicht
Code:
int
schreiben, oder?
Und damit man bei
Code:
double
nicht
Code:
Double.NaN;
schreiben muss, kann man auch einfach eine
Code:
Double
deklarieren und diese dann auf
Code:
null;
setzen, oder?
Also:
Java:
Integer zahl1 = null;
Double zahl2 = null;
 

faetzminator

Gesperrter Benutzer
Ok, also gilt für
Code:
Integer
-Variablen (und wohl auch für andere ähnliche Datentypen wie
Code:
Long
usw. (?)) allgemein, dass man sie mit einem
Code:
null;
initialisieren sollte.
Integer ist eine Klasse, welche einen int beherbergt. Ein int ist ein primitiver Typ. Gleiches mit Boolean <-> boolean, Short <-> short etc.

Meinst du mit
Code:
rechne(zahl1);
und
Code:
rechne(zahl2);
denn irgendeine Rechenopreation, die, wie sie auch immer geartet sein mag, durchgeführt wird?
Richtig.


Nun, anscheinend müssen sie doch mit einem leeren Wert initialisiert werden, wenn ich das richtig verstanden habe.
Eine Klassenvariable wird automatisch mit 0, 0.0, false, ... (je nach Typ) initialisert. Wenn du eine lokale Variable hast, darfst du darauf nicht zugreifen, bevor sie einen Wert besitzt (durch eine Zuweisung).

Um noch einmal auf die obige Antwort von KrokoDiehl zu verweisen: Man muss also
Code:
Integer
ganz ausschreiben und kann nicht
Code:
int
schreiben, oder?
Siehe oben.
Und damit man bei
Code:
double
nicht
Code:
Double.NaN;
schreiben muss, kann man auch einfach eine
Code:
Double
deklarieren und diese dann auf
Code:
null;
setzen, oder?
Richtig.
 
N

nillehammer

Gast
Ich weiß nicht, vielleicht bin ich ja etwas pingelig. Aber ich finde in den Antworten (möglicherweise verursacht durch die Nachfragen des TO) wird hier zuviel default-Initialisierung, magic values usw. vermischt.

Die Ursprungsfrage war ja, wie man primitives initialisieren soll, um den Wert "nicht gesetzt" auszudrücken. Dazu die ganz klare Aussage: Das geht mit primitives nicht! Es läuft bei primitives immer darauf hinaus, dass man sich einen "magic value" ausdenkt, der als "nicht gesetzt" interpretiert wird. Aber auch dieser "magic value" ist eben ein Wert und damit gesetzt. Die einzig zweifelsfreie und semantisch eindeutige Möglichkeit "nicht gesetzt" auszudrücken, ist etwas auf null zu sezten. Und das geht eben nur mit Wrappern.
 
H

hüteüberhüte

Gast
Variablen primitiver Datentypen müssen immer einen Wert haben (initialisiert werden), etwas anderes lässt der Compiler nicht zu. Darüber hinaus gibt es bei Fließkommazahlen bestimmte Werte, die auf eine bestimmte Art interpretiert werden können. Referenzdatentypen können hingegen mit null initialisiert werden.

Attribute und Klassenvariablen werden ohne explizite Angabe initialisiert, für Variablen in Methoden muss dies selbst vorgenommen werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Hanschyo Variable nicht initialisiert Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
D Array wird immer mir 100 für jeden Wert initialisiert? Java Basics - Anfänger-Themen 2
W Was passiert mit Objekten die nicht in Objektvariablen initialisiert werden ? Java Basics - Anfänger-Themen 3
H [erledigt] Variable initialisiert, aber nicht verfügbar (Schleife) Java Basics - Anfänger-Themen 3
D Variable nicht initialisiert? (Fehler) Java Basics - Anfänger-Themen 2
Dogge Start:Applet nicht Initialisiert Java Basics - Anfänger-Themen 11
M Array wird beim Neuaufruf nicht neu initialisiert Java Basics - Anfänger-Themen 9
J Fehlermeldung: Applet nicht initialisiert Java Basics - Anfänger-Themen 24
K Variablen Variable scheint nicht initialisiert zu sein Java Basics - Anfänger-Themen 10
J SuM.kern.Maus gibt null obwohl initialisiert Java Basics - Anfänger-Themen 3
C i cannot be resolved (obwohl es im schleifekopf initialisiert worden ist) Java Basics - Anfänger-Themen 2
C Compiler-Fehler Variablen sind angeblich nicht initialisiert Java Basics - Anfänger-Themen 7
G HashMap initialisiert sich nicht neu Java Basics - Anfänger-Themen 2
StudentXYZ Auf Objekte zugreifen, die eine andere Methode initialisiert Java Basics - Anfänger-Themen 2
G Problem: Start: Applet nicht initialisiert Java Basics - Anfänger-Themen 4
G Array-AnaIyse: Ist Array initialisiert worden? Java Basics - Anfänger-Themen 3
K Iterationsschleife initialisiert Variable nicht? Java Basics - Anfänger-Themen 2
K Object automatisch initialisiert? Java Basics - Anfänger-Themen 7
S FileWriter-Variable nicht initialisiert Java Basics - Anfänger-Themen 3
A Applet nicht initialisiert Java Basics - Anfänger-Themen 9
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51

Ähnliche Java Themen

Neue Themen


Oben