Datentyp char

A

Anna0705

Mitglied
Hallo zusammen,
kann mir jemand erklären, weshalb system.out.println ('b' + 'c') die ausgabe 197 ergibt?
also weshalb werden diese beiden variablen vom datentyp char umgewandelt?
 
A

Anna0705

Mitglied
Daaanke für die schnelle Antwort.
kannst du mir auch hier weiterhelfen:
public class test {
public static void main (String [] args){
double a = 3.14159;
System.out.println(a);
System.out.println(a + 1);
System.out.println(8 / (int) a);
System.out.println(8 / a);
System.out.println((int) (8 / a)
;

}
}
in der letzten zeile wird beim compilieren ein fehler angezeigt. finde ihn aber nicht
 
A

Anna0705

Mitglied
  • Ausdruck
  • Ergebnis
  • Datentyp
  • 23.4 + 7
  • 30.4
  • 30 – 5
  • 25
  • (10 / 3) + 0.5
  • 3.5
  • ‘a‘ == ‘b‘
  • false
  • “Pro“ + “gramm“
  • Programm
  • 2 != 3
  • true
  • 11 <= 22/2
  • false
  • 1 < 22/2
  • true
  • ((5 – 3) / 2 < 5 ) == true
  • ?
  • ! ( ( 23 + 17 ) == 40 )
  • false
  • ( ( 23 + 17 ) != 40 ) && true
  • true || (2 < 3)
  • ( ‘a‘ ==‘ a‘ ) && ( 2 < 3 )
  • ! (‘a‘ == ‘b‘ ) || ! (17 == 33)
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Zerleg einfach jeden Ausdruck in seine Einzelteile, das solltest du hinbekommen:

Code:
( ( 23 + 17 ) != 40 ) && true

23 => int
17 => int

(23 + 17) = 40 => int

(40 != 40) = false => boolean

false && true = false => boolean
 
mihe7

mihe7

Top Contributor
Wo hast Du denn ein Problem?

Nehmen wir mal den Ausdruck ( ( 23 + 17 ) != 40 ) && true

Klammern zuerst: (23 + 17) = 40 --> (40 != 40) && true
Klammern zuerst: (40 != 40) == false --> false && true naja, und eine UND-Verknüpfung ist nur wahr, wenn alle Operanden wahr sind, also ist das Ergebnis false. Der Typ für true/false ist natürlich boolean.

Mist, @mrBrown war schneller :)
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
A

Anna0705

Mitglied
Alles klar Danke.

((5 – 3) / 2 < 5 ) == true

Der Ausdruck macht doch so keinen sinn oder?
 
H

httpdigest

Top Contributor
Warum nicht?
5 : int --> 5
3 : int --> 3
(5 - 3) : int --> 2
2 : int --> 2
(5 - 3) / 2 : int --> 1
(5 - 3) / 2 < 5 : boolean --> true
true : boolean --> true
((5 - 3) / 2 < 5) == true : boolean --> true
 
B

BestGoalkeeper

Bekanntes Mitglied
Ich sehe schon, die Boolean gewinnen die Oberhand:
Java:
import jdk.jshell.JShell;
import jdk.jshell.SnippetEvent;

public class Tabelle {
	public static void main(String[] args) {
		String[] sa =  {
			"23.4 + 7",
			"30 - 5",
			"(10 / 3) + 0.5",
			"'a'=='b'",
			"\"Pro\" + \"gramm\"",
			"2!=3",
			"11 <= 22/2",
			"1 < 22/2",
			"((5 - 3) / 2 < 5 ) == true",
			"! ( ( 23 + 17 ) == 40 )",
			"( ( 23 + 17 ) != 40 ) && true",
			"true || (2 < 3)",
			"( 'a' == 'a' ) && ( 2 < 3 )",
			"! ('a' == 'b') || !(17 == 33)",
		};
		try (JShell js = JShell.create()) {
			for (String string : sa) {
				SnippetEvent eval1 = js.eval("var a = " + string + ";").get(0);
				SnippetEvent eval2 = js.eval("((Object)a).getClass().getName()").get(0);
				System.out.printf("%-40s%-20s%-20s%n", string, eval1.value(), eval2.value());
			}
		}
	}
}
Code:
23.4 + 7                                30.4                "java.lang.Double"  
30 - 5                                  25                  "java.lang.Integer" 
(10 / 3) + 0.5                          3.5                 "java.lang.Double"  
'a'=='b'                                false               "java.lang.Boolean" 
"Pro" + "gramm"                         "Programm"          "java.lang.String"  
2!=3                                    true                "java.lang.Boolean" 
11 <= 22/2                              true                "java.lang.Boolean" 
1 < 22/2                                true                "java.lang.Boolean" 
((5 - 3) / 2 < 5 ) == true              true                "java.lang.Boolean" 
! ( ( 23 + 17 ) == 40 )                 false               "java.lang.Boolean" 
( ( 23 + 17 ) != 40 ) && true           false               "java.lang.Boolean" 
true || (2 < 3)                         true                "java.lang.Boolean" 
( 'a' == 'a' ) && ( 2 < 3 )             true                "java.lang.Boolean" 
! ('a' == 'b') || !(17 == 33)           true                "java.lang.Boolean"
 
B

BestGoalkeeper

Bekanntes Mitglied
Noch zwei Hinweise zu dem gesagten, ein ... == true ist immer Hinweis darauf, dass das Ergebnis des Ausdrucks boolean ist (insofern der Ausdruck syntaktisch korrekt ist) und ist immer "überflüssig". ;)
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Ich sehe schon, die Boolean gewinnen die Oberhand:
Code:
23.4 + 7                                30.4                "java.lang.Double" 
30 - 5                                  25                  "java.lang.Integer"
(10 / 3) + 0.5                          3.5                 "java.lang.Double" 
'a'=='b'                                false               "java.lang.Boolean"
"Pro" + "gramm"                         "Programm"          "java.lang.String" 
2!=3                                    true                "java.lang.Boolean"
11 <= 22/2                              true                "java.lang.Boolean"
1 < 22/2                                true                "java.lang.Boolean"
((5 - 3) / 2 < 5 ) == true              true                "java.lang.Boolean"
! ( ( 23 + 17 ) == 40 )                 false               "java.lang.Boolean"
( ( 23 + 17 ) != 40 ) && true           false               "java.lang.Boolean"
true || (2 < 3)                         true                "java.lang.Boolean"
( 'a' == 'a' ) && ( 2 < 3 )             true                "java.lang.Boolean"
! ('a' == 'b') || !(17 == 33)           true                "java.lang.Boolean"
Wär's ne Abgabe, gäbe dafür 1/14 Punkten ;)
 
B

BestGoalkeeper

Bekanntes Mitglied
Wär's ne Abgabe, gäbe dafür 1/14 Punkten
Ne, alle Punkte, weil die Tabelle richtig ist. Aber egal, nichts was du oder ich entscheiden müssten.

Oder war das der Versuch mir zu unterstellen, das hätte ich nicht "per Hand" ausrechnen können? Wie ich hier helfe, das bleibt doch mir überlassen. :(
 
B

BestGoalkeeper

Bekanntes Mitglied
Mit Ausnahme des fünften Ausdrucks resultieren alle anderen in ein Ergebnis primitiven Typs.
Es kommt drauf an, wie man die Variable deklarieren würde, also ob ich double d = 23.4 + 7; oder Double d = 23.4 + 7; schreibe. Bei Letzterem greift das Auto-boxing. Außerdem wenn man schon so kleinlich ist, dann wäre "Programm" auch "falsch", weil es die Hochkommata enthält...
Aber das ist auch nicht so wichtig, weil die TE sicherlich weiß was gemeint ist (hoff ich).
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Es kommt drauf an, wie man die Variable deklarieren würde, also ob ich double d = 23.4 + 7; oder Double d = 23.4 + 7; schreibe.
...und Autoboxing greift nur weil das Ergebnis ein primitiver Typ ist.

Bei "30 - 5" kommt es ja auch nicht drauf an, wie man die Variable deklariert, sonst wäre es auch ein float 🤷‍♂️
 
H

httpdigest

Top Contributor
Es kommt drauf an, wie man die Variable deklarieren würde, also ob ich double d = 23.4 + 7; oder Double d = 23.4 + 7; schreibe.
Nein?! Der Typ eines Ausdrucks hängt nicht davon ab, welcher Variablen ich das Ergebnis des Ausdrucks zuweise... ein Ausdruck ist ein Ausdruck und hat einen definierten Typ. Wenn ich den Wert, den dieser Ausdruck generiert, dann einer Variablen zuweise oder z.B. als aktuelles Argument bei einem Methodenaufruf verwende, dann greifen Konvertierungsregeln (wie eben das von dir erwähnte Autoboxing oder Widening).
Ich kann jeden Ausdruck auch einer Object-getypten Variablen zuweisen. Das macht dann aber nicht den Typ des Ausdrucks zu `java.lang.Object`.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Datentypen Was ist der Sinn vom Datentyp "char" ? Java Basics - Anfänger-Themen 11
A Datentyp Char wird in BlueJ nur als leerer weißer Kasten dargestellt Java Basics - Anfänger-Themen 1
A Datentyp String in char umwandeln Java Basics - Anfänger-Themen 3
B Datentyp char -> Zeichen um einen Wert erhöhen Java Basics - Anfänger-Themen 12
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
C unverständlicher Code Attribute ohne Datentyp, wie geht das? Java Basics - Anfänger-Themen 8
T Datentyp mit Anführungszeichen drinnen Java Basics - Anfänger-Themen 3
R Datentypen Datentyp String lenght & charAT Java Basics - Anfänger-Themen 4
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
C Interface als Datentyp eines Attributes? Java Basics - Anfänger-Themen 6
B Datentypen Datentyp welcher den gleichen Namen wie die Klasse trägt? Java Basics - Anfänger-Themen 1
D Datentypen Welcher ist der beste Datentyp? Java Basics - Anfänger-Themen 28
F Datentypen Missverständnis Datentyp Java Basics - Anfänger-Themen 2
D Rechnen mit numerischen Datentyp Frage Java Basics - Anfänger-Themen 16
E Klassename als Datentyp??? Java Basics - Anfänger-Themen 4
F Wertebereich/Datentyp Java Basics - Anfänger-Themen 26
M Datentypen Java Datentyp Definition Java Basics - Anfänger-Themen 6
M Datentyp Short Wert zuweisen über Methode Java Basics - Anfänger-Themen 2
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
E Datentypen Benutzerdefinierten Datentyp verwenden Java Basics - Anfänger-Themen 1
ms_cikar Java Datentyp unwandlung Java Basics - Anfänger-Themen 7
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
M Interface als Datentyp Java Basics - Anfänger-Themen 12
R Variablen Datentyp erst während Laufzeit festlegen Java Basics - Anfänger-Themen 6
1 Neuen Datentyp für rationale Zahlen als Klasse entwickeln Java Basics - Anfänger-Themen 20
R Datentypen Datentyp eines Werts in einer Textdateizeile abfragen und ändern Java Basics - Anfänger-Themen 4
R Interface Datentyp bei Erzeugung eines Objekts, dessen Klasse eine Schnittstelle implementiert Java Basics - Anfänger-Themen 18
B Collections Collection soll nur einen bestimmten Datentyp aufnehmen Java Basics - Anfänger-Themen 12
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
B datentyp in binär umwandeln Java Basics - Anfänger-Themen 5
S Primitiver Datentyp Short , Vorteil/Nachteil Betrachtung Java Basics - Anfänger-Themen 6
J Field auf Datentyp prüfen Java Basics - Anfänger-Themen 8
D Datentyp Object Java Basics - Anfänger-Themen 2
A Datentypen Mehrdimensionaler Datentyp gesucht Java Basics - Anfänger-Themen 4
D Datentypen Abstrakter Datentyp lässt sich nicht casten Java Basics - Anfänger-Themen 7
F Klassenorganisation: Datentyp in Datentyp anlegen Java Basics - Anfänger-Themen 3
N Unerklärlich: Rekursiver Algorithmus gibt falschen Datentyp zurück... Java Basics - Anfänger-Themen 4
G Eigener Autoboxing Datentyp Java Basics - Anfänger-Themen 3
Binary.Coder Welcher Datentyp für den Simplex Algorithmus Java Basics - Anfänger-Themen 3
Guybrush Threepwood Effizientester Datentyp zur Speicherung einer ungeordneten Menge von ints Java Basics - Anfänger-Themen 8
B Datentyp für +,-,*,/ Java Basics - Anfänger-Themen 5
D Datentypen Rekursiver Datentyp Java Basics - Anfänger-Themen 8
GianaSisters Auf Datentyp überprüfen Java Basics - Anfänger-Themen 13
W Datentypen Operatoren für eigenen Datentyp nutzen Java Basics - Anfänger-Themen 2
M Array mit komplexem Datentyp Java Basics - Anfänger-Themen 9
M 2 Arrays mit komplexen Datentyp vergleichen Java Basics - Anfänger-Themen 8
G Datentypen Welcher Datentyp Java Basics - Anfänger-Themen 2
F Datentypen Welchen Wert hat ein einfacher Datentyp nach der Deklaration? Java Basics - Anfänger-Themen 6
J Datentypen Datentyp für Datum Java Basics - Anfänger-Themen 23
B Java Bean, JSP, Komplexer Datentyp Java Basics - Anfänger-Themen 3
I Datentypen Eigener DatenTyp Java Basics - Anfänger-Themen 2
E Datentyp Array Java Basics - Anfänger-Themen 10
M Datentypen Eigenen Datentyp toArray() Java Basics - Anfänger-Themen 4
N Frage zu Datentyp byte Java Basics - Anfänger-Themen 14
F Datentyp Number???? Java Basics - Anfänger-Themen 2
A einlesen, schreiben, umwandlung datentyp Java Basics - Anfänger-Themen 10
A Datentyp mit String festlegen? Java Basics - Anfänger-Themen 13
D Generischer Datentyp Java Basics - Anfänger-Themen 2
D Datentyp: Liste von String->Double dingern Java Basics - Anfänger-Themen 4
K Datentyp vs. Datenstruktur - Unterschiede Java Basics - Anfänger-Themen 13
C Datentyp von einer Variablen ermitteln. Java Basics - Anfänger-Themen 12
M Datentyp Parameter Java Basics - Anfänger-Themen 18
R Welchen Datentyp verwenden? Java Basics - Anfänger-Themen 12
B Datentyp anlegen Java Basics - Anfänger-Themen 6
M Eigene Klasse mit "Enumeration"-Datentyp verknüpfe Java Basics - Anfänger-Themen 16
K Datentyp Problem Java Basics - Anfänger-Themen 2
X Rekursion & Generischer Datentyp Java Basics - Anfänger-Themen 11
A neuen Datentyp (Digit) definieren Java Basics - Anfänger-Themen 12
J datentyp -objectTyp Rückgabe Java Basics - Anfänger-Themen 2
D Superinterface als Datentyp Java Basics - Anfänger-Themen 5
E Generischer Datentyp und Arrays Java Basics - Anfänger-Themen 3
Z ArrayList<Entry<Datentyp, Integer>> ? Java Basics - Anfänger-Themen 12
L Datentyp Problem Java Basics - Anfänger-Themen 7
F Datentyp eines Inputs überprüfen Java Basics - Anfänger-Themen 2
NightmareVirus Datentyp des Arrayinhalt abfragen Java Basics - Anfänger-Themen 4
S Probleme mit Datentyp beim Einlesen Java Basics - Anfänger-Themen 4
C Datentyp byte Java Basics - Anfänger-Themen 22
G Java Problem [Datentyp] Java Basics - Anfänger-Themen 10
M long Datentyp effizient mit Daten füllen Java Basics - Anfänger-Themen 2
S Datentyp aus 3 longs Java Basics - Anfänger-Themen 3
M datentyp ausfindig machen Java Basics - Anfänger-Themen 2
C Eigenen Datentyp schreiben Java Basics - Anfänger-Themen 13
T Probleme mit Datentyp Double Java Basics - Anfänger-Themen 4
W Datentyp Zahlen sortieren Java Basics - Anfänger-Themen 12
B Datentyp gesucht Java Basics - Anfänger-Themen 5
J Datentyp einer Klasse bei Anwendung von implements Java Basics - Anfänger-Themen 4
R Datentyp Ring - zyklisch doppelt verkettete Liste - HILFE! Java Basics - Anfänger-Themen 12
M Linkedlist, wert auf datentyp prüfen Java Basics - Anfänger-Themen 3
P Methoden der Unterklasse in Oberklassen-Datentyp anwenden Java Basics - Anfänger-Themen 24
N Problem mit Datentyp short, byte Java Basics - Anfänger-Themen 2
G Datentyp = Objekt ? Java Basics - Anfänger-Themen 4
G selbstdefinierten Datentyp sortieren Java Basics - Anfänger-Themen 4
G Datentyp: was ist eleganter? Java Basics - Anfänger-Themen 4
G Datentyp-Vorzeichenlos? Java Basics - Anfänger-Themen 2
A Eigener Datentyp? Java Basics - Anfänger-Themen 39
T Datentyp zu Date ändern Java Basics - Anfänger-Themen 7
P Datentyp Object Java Basics - Anfänger-Themen 5
A Variant-Datentyp Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Anzeige

Neue Themen


Oben