Einführung in den Datentyp boolean im Rahmen der Lehre des Programmierens mit der Programmiersprache Java. (Java Boolean Java Prädikat Java Flag Java Flags Java), Lektion, Seite 721259
https://www.purl.org/stefan_ram/pub/boolean_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Der Datentyp »boolean« in Java 

Wir haben bisher schon Datentypen wie »int« oder »double« kennengelernt. Daneben gibt es in Java  auch noch einen elementaren Datentyp namens »boolean«.

In diesem Teil dieses Kurses geht es um Kontrollstrukturen, diese basieren auf Werten des Typs »boolean«; deswegen behandeln wir zunächst diesen Typ.

Schreibweise

Außer dem Typ »boolean« gibt es in Java  auch noch einen anderen Datentyp namens »Boolean« mit großem »B«, der aber in dieser Lektion noch nicht behandelt werden soll. Da dies ein anderer  Datentyp ist als »boolean« mit kleinem »b« ist darauf zu achten, den in dieser Lektion behandelten elementaren Datentyp »boolean« immer mit einem kleinen »b« zu schreiben.

Literale

Es gibt zwei Literale, die den Datentyp »boolean« haben, nämlich »true« und »false«. Diese haben die Bedeutung „wahr“ beziehungsweise „falsch“. Wir nennen sie auch Wahrheitsliterale. Ihre Werte sind nicht einander gleich, und wir nennen den Wert des Literals »true« ebenfalls “true ”, und den Wert des Literals »false« “false ”. Andere Werte gibt es bei dem Datentyp »boolean« nicht, er umfaßt also genau 2 Werte. Die Ausgabedarstellung dieser beiden Werte ist wiederum »true« und »false«, wie das folgende Programm zeigt.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( true );
java.lang.System.out.println( false ); }}
java.lang.System.out
true
false

Zu den Wörtern “true ” /tru/ ist das englische Wort für „wahr“, “false ” ist das englische Wort für „falsch“. George Boole  war ein Mathematiker, “boolean ” ist das englische Adjektiv mit der Bedeutung des deutschen Adjektivs „Boolesch“ („zu George Boole gehörend“).

Aussprachehinweise
true tru [τhɚʊu]
false fɔls
boolean ˈbu li ən

Bezeichner ⊚

Ein Bezeichner  ist eine Bezeichnerzeichenfolge, die kein Schlüsselwort ist und nicht »_« und keines der beiden Wahrheitsliterale  »true« und »false« ist.

»true« ist beispielsweise eine Bezeichnerzeichenfolge, aber kein Bezeichner, da es eines der beiden Wahrheitsliterale »true« und »false« ist.

Literale ⊚

(Das Symbol »⁺« kennzeichnet eine Erweiterung  einer früheren Definition.)

Ein Literal  ist ein Numerale, ein Zeichenfolgenliteral oder ein Wahrheitsliteral true« oder »false«).

Werte ⊚

Uns bisher bekannt Arten von Werten sind nun: Zahlen, Zeichenfolgen und Wahrheitswerte.

Schlüsselwörter ⊚

Während »true« und »false« keine  Schlüsselwörter sind, ist »boolean« ein Schlüsselwort.

Die bisher behandelte Schlüsselwörter
»boolean«, »double«, »final«, »int«, »long«, »public«, »return«, »static«, »void«

Typen ⊚

Wir können die Liste der Typen nun um ›boolean‹ erweitern.

Typ
Typ
.---.
---.---->( int )----->.--->
| '---' ^
| .------. |
'--->( long )----'
| '------' |
| .------. |
'--->( double )----'
| '------' |
| .-------. |
'--->( boolean )---'
| '-------' |
| .-------. |
'---->| Name |----'
'-------'

Prädikate

Eine Abbildung, welche eine Ergebnis vom Typ »boolean« hat, wird in Analogie zur Logik auch als Prädikat  bezeichnet.

Es gibt in Java beispielsweise Prädikate, mit denen ermittelt werden kann, ob ein Text aus syntaktischer Sicht als Name verwendet werden kann.

Dokumentation eines Prädikats (vereinfacht und übersetzt)

javax.lang.model
Class SourceVersion

static boolean isName( java.lang.String string )

Ergibt, ob die als Argument übergebene Zeichenfolge ein Name im Sinne der Programmiersprache Java  ist.
Main.java

public final class Main
{ public static void main( final java.lang.String[] args )
{

java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "x" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "var" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha3" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha.beta" ));

java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "=" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "_" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "0" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "3d" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "int" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "true" )); }}

Protokoll
true
true
true
true
true
false
false
false
false
false
false

Man kann die Anwendung eines Prädikats mit einer geschlossenen Frage vergleichen.

Übungsaufgaben

/   Variable ⃖

Schreiben Sie ein Programm, in dem eine Variable mit dem Typ »int« deklariert und mit dem Wert »3« initialisiert wird.

/   Wahrheitsvariable ⃖

Schreiben Sie ein Programm, in dem eine Variable mit dem Typ »boolean« deklariert und mit dem Wert »false« initialisiert wird.

/   Methode ⃖

Schreiben Sie eine Deklaration einer Methode, die einen Parameter vom Typ »int« hat und die Zeichenfolge »n« (also einen einzelnen Buchstaben) ausgibt.

/   Wahrheitsmethode ⃖

Schreiben Sie eine Deklaration einer Methode, die einen Parameter vom Typ »boolean« hat und die Zeichenfolge »n« (also einen einzelnen Buchstaben) ausgibt.

/   Rückgabe ⃖

Schreiben Sie eine Deklaration einer parameterlosen Methode namens »t«, welche den Wert »5« zurückgibt.

/   Wahrheitsrückgabe ⃖

Schreiben Sie eine Deklaration einer parameterlosen Methode namens »t«, welche den Wert »true« zurückgibt.

/   Methode 1 ⃖

Schreiben Sie eine Deklaration einer Methode namens »print«, welche einen Ausdruck vom Typ »int« als Argument akzeptiert und dessen Wert ausgibt. Diese Methode soll keinen Wert liefern.

/   Wahrheitsmethode 1 ⃖

Schreiben Sie eine Deklaration einer Methode namens »print«, welche einen Ausdruck vom Typ »boolean« als Argument akzeptiert und dessen Wert (also »true« oder »false«) ausgibt. Diese Methode soll keinen Wert liefern.

/   Umwandlungsmethode

Schreiben Sie eine Deklaration einer Methode namens »str«, welche einen Argumentwert vom Typ ›boolean‹ in den Typ ›java.lang.String‹ wandelt. Der Wert der Methode soll also «"true"» für den Argumentwert «true» und «"false"» für den Argumentwert «false» sein.

/   Prädikat verwenden

Ermitteln Sie, welchen Wert die Methode »isKeyword« für die Zeichenfolge »true« ergibt.

(Bei dieser Übungsaufgabe soll ein Programm mit einem entsprechenden Aufruf geschrieben und der Wert des Aufrufs dann ausgegeben werden. So kann der Wert, den die Methode »isKeyword« für die Zeichenfolge »true« ergibt, dann abgelesen werden.)

„Die Methode m  ergibt den Wert w  für die Zeichenfolge s.“ bedeutet, daß die Methode m  den Wert w  ergibt, wenn sie mit der Zeichenfolge s  als Argumentwert aufgerufen wird.

Dokumentation eines Prädikats (vereinfacht, korrigiert und übersetzt)

javax.lang.model
Class SourceVersion

static boolean isKeyword( java.lang.String string )

Ergibt, ob die als Argument übergebene Zeichenfolge ein Schlüsselwort in der Programmiersprache Java  oder eines der mit einem Buchstaben beginnenden Literale ist.
Aussprachehinweise
model mɑːdl
source sɔɚs
version ˈvɚ ʒn
is keyword ɪz̥ ˈki ˌwɚd

/   Prädikat verwenden ⃗

Hinweis für den Dozenten  ► Diese Übungsaufgabe sollte erst nach der Nachbesprechung der vorigen Übungsaufgabe bearbeitet werden.

Ermitteln Sie, welchen Wert die Methode »isIdentifier« für die Zeichenfolge »true« ergibt.

Dokumentation eines Prädikats (vereinfacht und übersetzt)

javax.lang.model
Class SourceVersion

static boolean isIdentifier( java.lang.String string )

Ergibt, ob die als Argument übergebene Zeichenfolge eine Bezeichnerzeichenfolge (Lektion 10.12.) im Sinne der Programmiersprache Java  ist.
Aussprachehinweise
is identifier ɪz ɑɪ ˈdɛn tə ˌfɑɪɚ

/   Code Überarbeiten ⃗

Das folgende Programm beurteilt, ob verschiedene Zeichenfolgen Namen sind.

Überarbeiten Sie den Quelltext des folgenden Programmes so, daß vor dem Wahrheitswert auch stets die zu beurteilende Zeichenfolge ausgegeben wird. Dabei sollte die Ausgabe möglichst in Form zweier Spalten erfolgen.

Main.java

public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "=" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "0" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "3d" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "int" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "true" ));

java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "x" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha3" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha.beta" )); }}

Sollausgabe
= false
0 false
3d false
int false
true false
x true
alpha true
alpha3 true
alpha.beta true

/   Code Überarbeiten (Schritt 1) ⃗

Hinweis für den Dozenten  ► Diese Übungsaufgabe sollte erst nach der Nachbesprechung der vorherigen Übungsaufgabe behandelt werden.

Der Ausgangspunkt dieser Übung ist jetzt wieder der folgende Quelltext.

Main.java

public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "=" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "0" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "3d" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "int" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "true" ));

java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "x" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha3" ));
java.lang.System.out.println( javax.lang.model.SourceVersion.isName( "alpha.beta" )); }}

Sollausgabe
false
false
false
false
false
true
true
true
true

Definieren Sie nun eine Methode, um zu erreichen, daß das obige Programm nicht mehr so viele Wiederholungen längerer Programmteile enthält. (Beispielsweise soll »javax.lang.model.SourceVersion.isName« nur noch einmal im Quelltext vorkommen.)

/   Code Überarbeiten (Schritt 2) ⃗

Hinweis für den Dozenten  ► Diese Übungsaufgabe sollte erst nach der Nachbesprechung der vorherigen Übungsaufgabe behandelt werden.

Überarbeiten Sie den Quelltext der Lösung der direkt vorangehenden Übungsaufgabe nun wieder so, daß vor dem Wahrheitswert auch stets die zu beurteilende Zeichenfolge ausgegeben wird.

Sollausgabe
= false
0 false
3d false
int false
true false
x true
alpha true
alpha3 true
alpha.beta true

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram721259 stefan_ram:721259 Java Boolean Java Prädikat Java Flag Java Flags Java source, source code,sourcecode, Programmier sprache java, Java Programm Java Programmiersprache Java Sprache Java Programmierung Programmieren in Java, Die Programmiersprache Java Javapgrammierung, Java-Programmierung, Java2, Java1.2, Java1.3, Java1.4, Java1.5, Java 2, Java 1.2, Java 1.3, Java 1.4, Java 1.5, Java 1.6, Java 1.7, Java 1.8, Java 8, Java 1.9, Java 9, Java 1.10, Java 10, Tiger, Dolphin, objektorientierte Programmierung, Java sun, , Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd721259, slrprddef721259, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/boolean_java