John Squirrels
Nivå
San Francisco

Java Boolean

Publicerad i gruppen
Ordet "boolean" i sammanhanget Java-språk kan användas i olika, om än mycket relaterade, betydelser. Det kan vara:
  • boolesk primitiv typ eller boolesk variabel av denna typ
  • Java boolesk klass eller booleskt omslagsobjekt
  • Booleskt uttryck, booleskt värde, något villkor
  • Java booleska operatorer
I den här artikeln kommer vi att täcka alla dessa alternativ och förklara vilka begrepp som ligger till grund för booleska uttryck. Java boolesk - 1

Vad är en boolesk i allmän mening

Konceptet med ett booleskt uttryck kom från matematiken, eller snarare, från matematisk logik. Ett booleskt uttryck i propositionalgebra är ett uttryck som kan sägas vara sant eller falskt. Till exempel:
"Snön är vit" "Krokodiler kan flyga" "2 + 2 = 4" "1 + 1 = 21"
Samtidigt är "2" eller "snö" inte booleska uttryck.

Java booleska primitiv datatyp och booleska variabler

På tal om en boolean i Java, först är det troligen en boolesk primitiv datatyp och booleska variabler av denna typ. Som du säkert redan gissat kan variabler av denna typ bara ha två värden, sant och falskt. Java har ganska strikta begränsningar: en boolean i Java kan inte konverteras till någon annan datatyp, och vice versa. I synnerhet är boolean i Java inte en integraltyp, och heltalsvärden kan inte användas istället för booleaner. Här är ett exempel på att direkt ställa in en boolesk typ:

boolean myBoolean; //boolean variable
myBoolean = false; 
boolean myBoolean1 = true; //another boolean variable
Här har vi 2 booleska variabler. Låt oss skriva ett litet program med ett exempel på hur man använder en boolesk typ:

//boolean variable example
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       System.out.println(myBoolean);
   }
}
Detta program skriver ut "falskt" till konsolen. Förresten, en boolesk variabel är inställd på false som standard, men Java tillåter dig inte att arbeta med oinitierade lokala variabler.

Booleska uttryck i Java

Förutom att explicit initiera en boolesk variabel till sann eller falsk, används den booleska datatypen implicit på många ställen. Precis som resultatet av en tillägg av tal kommer att vara ett tal, kommer resultatet av en jämförelse att vara sant eller falskt, det vill säga det kommer att vara av boolesk typ . Detta betyder att, förutom att direkt specificera ett booleskt värde genom den booleska variabeltilldelningssatsen, kommer booleska värden från olika jämförelser, såsom 5 > 2 , och används främst i villkors- och loopsatser. Här är ett exempel på en sådan användning av boolesk typ:

public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       int a = 5;
       int b = 7;
       System.out.println(a < b);
       System.out.println(0 > 7);
       System.out.println(myBoolean == false);
   }
}
Utgången är:
sant falskt sant
I fallet med a < b jämförde operatorn < uttrycket till vänster med uttrycket till höger. Vi visade resultatet av jämförelsen på skärmen. Eftersom 5 < 7 (påståendet är sant), kommer värdet true att skrivas ut till konsolen. I det andra fallet visar vi en direkt jämförelse av noll och sju, och i det tredje frågar vi om värdet på variabeln myBoolean är falskt. Eftersom så är fallet matar vi ut värdet true . För att bygga booleska uttryck i Java kan vi faktiskt använda vilka jämförelseoperatorer som helst:
jämförelseoperatörer Java-operatör Driftsexempel Resultatet av operationen
Mindre < a < b sant om a är mindre än b annars falskt
Större > a > b sant om a är större än b , annars falskt
Mindre än eller lika <= a <= b sant om a är mindre än b eller om de är lika, annars falskt
Större eller lika >= a >= b sant , om a större eller lika med b , annars falskt
Likvärdig == a == b sant , om a är lika med b , annars falskt
Inte jämnlikt != a != b sant , om a inte är lika med b , annars falskt

Där booleska värden används

Booleska värden och villkorliga uttryck används mycket ofta i villkoren för grensatser, ternära operatorer och loopar. Faktum är att deras användning är baserad på att kontrollera vissa booleska uttryck. Till exempel:

public class BoolTest2 {
       public static void main(String[] args) {
           int i = 0;
           while (i <= 10)
           {
               System.out.println(i);
               i++;
           }         
      }
}
Detta program skriver ut en sekvens av heltal och ökar dem med ett så länge som villkoret inom parentes efter ett tag är uppfyllt. Det vill säga medan uttrycket i <=10 är sant.

Java booleska operatorer. Bygga booleska uttryck med booleska operatorer

Följande logiska (eller booleska) operationer är tillgängliga i Java:
  • Logisk negation, det är också INTE eller inversion. I Java, betecknad med symbolen ! före uttryck.

  • Logisk och, det är också OCH eller konjunktion. Betecknas med symbolen & mellan de två uttryck som den tillämpas på.

  • Logiskt eller i Java, det är också OR, det är också disjunktion. I Java, betecknad med symbolen | mellan två uttryck.

  • Exklusiv eller, XOR, strikt disjunktion. I Java betecknas det med symbolen ^ mellan två uttryck.

  • I Java inkluderar logiska operatorer den villkorliga eller, betecknad som || , samt de villkorliga och && .

Låt oss ta en titt på tabellen med en kort beskrivning av var och en av de booleska Java-operatorerna, och nedan kommer vi att beskriva dem mer i detalj och ge kodexempel. Med "operander" i tabellen menar vi det logiska uttrycket eller de logiska variablerna som operatorn tillämpas på.

a | b == true
Boolean Java-operatör namn Typ Beskrivning Exempel
! Logiskt "inte" (negation) unär !x betyder "inte x". Returnerar sant om x är falskt . Returnerar falskt om x är sant .

boolean x = true;

sedan


// !x == false
& Logisk "och" (och logisk multiplikation) binär (a & b) returnerar sant om både a och b är sant .

a = true;
b = false;

sedan


a & b == false
| Logiskt ELLER (logiskt tillägg) binär (a | b) returnerar sant om a eller b eller båda är sanna .

a = true;
b = false;

sedan

^ Logiskt exklusivt ELLER (XOR) binär (a ^ b) returnerar true , om bara en av operanderna (a eller b) är sann . Returnerar false , om a och b båda är sanna eller falska samtidigt. Faktum är att om a inte är lika med b returnerar det sant .

a = true;
b = false;

sedan


a ^ b == true
&& Villkorligt AND (förkortat logiskt OCH) binär a && b Det är samma sak som a & b , men om a är falskt returnerar operatorn bara falskt utan att markera b .
|| Villkorligt ELLER (förkortat logiskt ELLER) binär en || b är detsamma som a | b , men om a är sant , returnerar operatorn bara sant utan att markera b .
Observera att i Java är operatorerna & , | och ^ gäller även heltal. I det här fallet fungerar de lite annorlunda och kallas bitvisa (eller bitvisa) logiska operatorer. Låt oss ta ett exempel och visa flera logiska uttryck komponerade med logiska operatorer.

public class BoolTest2 {
   public static void main(String[] args) {
   int a = 5;
   int b = 7;
   boolean myBool1 = true;
   boolean myBool2 = false;
       System.out.println(myBool1&myBool2);
       System.out.println(myBool1|myBool2);
       System.out.println(!myBool1);
       System.out.println((a > b) & !myBool1 | myBool2);
   }
}
Här är utgången:
falskt sant falskt falskt
Faktum är att du kan göra mycket komplexa logiska konstruktioner med hjälp av logiska operatorer. till exempel
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
Om alla variabler initieras kommer sådana konstruktioner att fungera. Du bör dock inte missbruka dem, de gör det svårt att läsa koden. Ändå är det mycket användbart att ta itu med sådana logiska konstruktioner. Försök att göra logiska uttryck med andra logiska operatorer som anges i tabellen.

Företräde för logiska operationer

Liksom i matematik, i programmering, har operatorer en specifik ordningsföljd om de förekommer i samma uttryck. Unära operatorer har fördelar jämfört med binära, och multiplikation (även logisk) framför addition. Här är logiska operatorer placerade i listan över ämnen högre, ju högre prioritet de har:
  • !

  • &

  • ^

  • |

  • &&

  • ||

Java Boolean omslag

I Java har varje primitiv typ en "bror", en omslagsklass ( Wrapper ). Ett omslag är en specialklass som lagrar värdet av en primitiv inuti. Men detta är en klass, så du kan skapa instanser (objekt) av den. Dessa objekt lagrar de nödvändiga värdena av primitiver inuti, medan de kommer att vara verkliga objekt. Java boolesk primitiv typ har en omslagsklass Java Boolean (med stort B). Boolean Class-objekt skapas precis som alla andra:

Boolean b = new Boolean(false);
Java Boolean- klassen har användbara metoder. En av de mest intressanta av dessa är den parsebooleska metoden. static boolean parseBoolean(String s) metod analyserar strängargumentet som ett booleskt värde. Det returnerade booleanvärdet representerar värdet true om strängargumentet inte är null och är lika med strängen "true", bortse från skiftläge. Annars returnerar den falskt .

exempel på parseBoolean metod


public class BoolTest2 {

        public static void main(String[] args)
        {
            System.out.println(Boolean.parseBoolean("True"));
            System.out.println(Boolean.parseBoolean("TRuE"));
            System.out.println(Boolean.parseBoolean("False"));
            System.out.println(Boolean.parseBoolean("here"));

        }
    }
Utgången är:
sant sant falskt falskt
För att förstärka det du lärde dig föreslår vi att du tittar på en videolektion från vår Java-kurs
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION