John Squirrels
Nivå
San Francisco

Java boolsk

Publisert i gruppen
Ordet "boolsk" i sammenheng med Java-språk kan brukes i forskjellige, om enn svært beslektede, betydninger. Det kan være:
  • boolsk primitiv type eller boolsk variabel av denne typen
  • Java boolsk klasse eller boolsk innpakningsobjekt
  • Boolsk uttrykk, boolsk verdi, noen tilstand
  • Java boolske operatører
I denne artikkelen skal vi dekke alle disse alternativene og forklare hvilke konsepter som ligger til grunn for boolske uttrykk. Java boolsk - 1

Hva er en boolsk i generell forstand

Konseptet med et boolsk uttrykk kom fra matematikk, eller rettere sagt, fra matematisk logikk. Et boolsk uttrykk i proposisjonalgebra er et uttrykk som kan sies å være sant eller usant. For eksempel:
"Snø er hvit" "Krokodiller kan fly" "2 + 2 = 4" "1 + 1 = 21"
Samtidig er ikke "2" eller "snø" boolske uttrykk.

Java boolske primitiv datatype og boolske variabler

Når vi snakker om en boolsk i Java, først er det mest sannsynlig en boolsk primitiv datatype og boolske variabler av denne typen. Som du sikkert allerede har gjettet, kan variabler av denne typen bare ha to verdier, sann og usann. Java har ganske strenge restriksjoner: en boolsk i Java kan ikke konverteres til noen annen datatype, og omvendt. Spesielt er ikke boolsk i Java en integraltype, og heltallsverdier kan ikke brukes i stedet for boolske verdier. Her er et eksempel på direkte innstilling av en boolsk type:
boolean myBoolean; //boolean variable
myBoolean = false;
boolean myBoolean1 = true; //another boolean variable
Her har vi 2 boolske variabler. La oss skrive et lite program med et eksempel på bruk av en boolsk type:
//boolean variable example
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       System.out.println(myBoolean);
   }
}
Dette programmet skriver ut "false" til konsollen. Forresten, en boolsk variabel er satt til usann som standard, men Java tillater deg ikke å jobbe med uinitialiserte lokale variabler.

Boolske uttrykk i Java

I tillegg til å eksplisitt initialisere en boolsk variabel til sann eller usann, brukes den boolske datatypen implisitt mange steder. Akkurat som resultatet av enhver tillegg av tall vil være et tall, vil resultatet av enhver sammenligning være sant eller usant, det vil si at det vil være av en boolsk type. Dette betyr at i tillegg til å spesifisere en boolsk verdi direkte gjennom den boolske variabeltilordningssetningen, kommer boolske verdier fra ulike sammenligninger, for eksempel 5 > 2 , og brukes primært i betingede og loop-setninger. Her er et eksempel på en slik bruk av boolsk type:
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);
   }
}
Utgangen er:
sant usant sant
I tilfelle av a < b , sammenlignet < -operatoren uttrykket til venstre med uttrykket til høyre. Vi viste resultatet av sammenligningen på skjermen. Siden 5 < 7 (utsagnet er sant), vil verdien true bli skrevet ut til konsollen. I det andre tilfellet viser vi en direkte sammenligning av null og syv, og i det tredje spør vi om verdien av variabelen myBoolean er usann. Siden dette er tilfellet, gir vi ut verdien sann . Faktisk, for å bygge boolske uttrykk i Java, kan vi bruke alle sammenligningsoperatorer:
sammenligningsoperatører Java-operatør Driftseksempel Resultatet av operasjonen
Mindre < a < b sant hvis a er mindre enn b ellers usant
Større > a > b sant hvis a er større enn b , ellers usant
Mindre enn eller lik <= a <= b sann hvis a er mindre enn b eller de er like, ellers usann
Større eller lik >= a >= b sant , hvis a større eller lik b , ellers usant
Lik == a == b sant , hvis a er lik b , ellers usant
Ikke lik != a != b sant , hvis a ikke er lik b , ellers usant

Hvor boolske verdier brukes

Boolske verdier og betingede uttrykk brukes veldig ofte i betingelsene for grensetninger, ternære operatorer og løkker. Faktisk er bruken deres basert på å sjekke visse boolske uttrykk. For eksempel:
public class BoolTest2 {
       public static void main(String[] args) {
           int i = 0;
           while (i <= 10)
           {
               System.out.println(i);
               i++;
           }
      }
}
Dette programmet skriver ut en sekvens av heltall og øker dem med ett så lenge betingelsen i parentes etter en stund er oppfylt. Det vil si, mens uttrykket i <=10 er sant.

Java booleske operatorer. Bygge boolske uttrykk med boolske operatører

Følgende logiske (eller boolske) operasjoner er tilgjengelige i Java:
  • Logisk negasjon, det er også IKKE eller inversjon. I Java, betegnet med symbolet ! før uttrykk.

  • Logisk og, det er også OG eller konjunksjon. Angitt med symbolet & mellom de to uttrykkene som det brukes på.

  • Logisk eller i Java, det er også OR, det er også disjunksjon. I Java, betegnet med symbolet | mellom to uttrykk.

  • Eksklusiv eller, XOR, streng disjunksjon. I Java er det merket med symbolet ^ mellom to uttrykk.

  • I Java inkluderer logiske operatorer den betingede eller, betegnet som || , samt de betingede og, && .

La oss ta en titt på tabellen med en kort beskrivelse av hver av de boolske Java-operatørene, og nedenfor vil vi beskrive dem mer detaljert og gi kodeeksempler. Med "operander" i tabellen mener vi det logiske uttrykket eller variablene som operatoren brukes på.
a | b == true
Boolsk Java-operatør Navn Type Beskrivelse Eksempel
! Logisk "ikke" (nektelse) unær !x betyr "ikke x". Returnerer sant hvis x er usann . Returnerer usann hvis x er sann .
boolean x = true;

deretter

// !x == false
& Logisk "og" (og logisk multiplikasjon) binær (a & b) returnerer sann hvis både a og b er sanne .
a = true;
b = false;

deretter

a & b == false
| Logisk ELLER (logisk tillegg) binær (a | b) returnerer sann hvis a eller b eller begge er sanne .
a = true;
b = false;

deretter

^ Logisk eksklusiv ELLER (XOR) binær (a ^ b) returnerer sann , hvis bare én av operandene (a eller b) er sann . Returnerer usann hvis a og b begge er sanne eller usann samtidig. Faktisk, hvis a ikke er lik b , returnerer det sant .
a = true;
b = false;

deretter

a ^ b == true
&& Betinget OG (forkortet logisk OG) binær a && b Det er det samme som a & b , men hvis a er usant , returnerer operatoren bare usann uten å hake av b .
|| Betinget ELLER (forkortet logisk ELLER) binær en || b er det samme som a | b , men hvis a er sann , returnerer operatoren bare sann uten å merke av b .
Merk at i Java er operatorene & , | og ^ gjelder også heltall. I dette tilfellet fungerer de litt annerledes og kalles bitvise (eller bitvise) logiske operatorer. La oss ta et eksempel og vise flere logiske uttrykk sammensatt ved hjelp av logiske 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);
   }
}
Her er utgangen:
usant sant usant usant
Faktisk kan du lage svært komplekse logiske konstruksjoner ved å bruke logiske operatorer. for eksempel
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
Hvis alle variabler initialiseres, vil slike konstruksjoner fungere. Du bør imidlertid ikke misbruke dem, de gjør det vanskelig å lese koden. Likevel er det svært nyttig å forholde seg til slike logiske konstruksjoner. Prøv å lage logiske uttrykk med andre logiske operatorer gitt i tabellen.

Forrang for logiske operasjoner

Som i matematikk, i programmering, har operatører en spesifikk rekkefølge for utførelse hvis de forekommer i samme uttrykk. Unære operatorer har fordeler fremfor binære, og multiplikasjon (selv logisk) fremfor addisjon. Her er logiske operatorer plassert i listen over emner høyere, jo høyere prioritet de har:
  • !

  • &

  • ^

  • |

  • &&

  • ||

Java boolsk innpakning

I Java har hver primitiv type en "bror", en innpakningsklasse ( Wrapper ). En wrapper er en spesiell klasse som lagrer verdien av en primitiv inni. Dette er imidlertid en klasse, så du kan lage forekomster (objekter) av den. Disse objektene lagrer de nødvendige verdiene av primitiver inne, mens de vil være ekte objekter. Java boolesk primitiv type har en Java Boolean (med stor B)-klasse. Boolske klasseobjekter lages akkurat som alle andre:
Boolean b = new Boolean(false);
Java Boolean- klassen har nyttige metoder. En av de mest interessante av disse er den parsebooleske metoden. statisk boolesk parseBoolean(String s) -metoden analyserer strengargumentet som en boolsk. Den returnerte boolske verdien representerer verdien sann hvis strengargumentet ikke er null og er lik strengen "true", uten at store og små bokstaver ignoreres. Ellers returnerer den falsk .

eksempel på parseboolsk metode

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"));

        }
    }
Utgangen er:
sant sant usant usant
For å forsterke det du lærte, foreslår vi at du ser en videoleksjon fra vårt Java-kurs
Kommentarer
  • Populær
  • Ny
  • Gammel
Du må være pålogget for å legge igjen en kommentar
Denne siden har ingen kommentarer ennå