Villkorliga uttalanden i Java

Villkorliga uttalanden i ett datorprogram stöder beslut baserade på ett visst villkor. Om villkoret är uppfyllt, eller "sant", körs en viss kodkod.

Till exempel vill du konvertera användarinmatad text till små bokstäver. Kör koden endast om användaren har skrivit in stor text. Om inte, vill du inte köra koden eftersom den leder till ett runtime-fel.

Det finns två huvudsakliga villkorliga uttalanden som används i Java: if-då och om-då-annars-uttalanden och omkopplarenpåstående.

Uttalandena om då och om då

Det mest grundläggande flödeskontrolluttrycket i Java är if-då: om [något] är sant, gör [något]. Detta uttalande är ett bra val för enkla beslut. Den grundläggande strukturen för ett if-uttalande börjar med ordet "if", följt av uttalandet att testa, följt av lockiga hängslen som lindrar åtgärden att vidta om uttalandet är sant. Det ser ut så här:

if (uttalande) // gör något här ...

Detta uttalande kan också utvidgas till att göra något annatom villkoret är felaktigt:

if (uttalande) // gör något här ...
annars // gör något annat ...

Om du till exempel bestämmer om någon är gammal nog att köra kan du ha ett uttalande som säger "om din ålder är 16 år eller äldre kan du köra, annars kan du inte köra."

int ålder = 17;
om ålder> = 16 System.out.println ("Du kan köra.");
annat System.out.println ("Du är inte tillräckligt gammal för att köra.")

Det finns ingen begränsning för antalet andra uttalanden du kan lägga till. 

Villkorliga operatörer

I exemplet ovan använde vi en enda operatör. Dessa är de standardoperatörer du kan använda:

  • lika med: =
  • mindre än: <
  • mer än:>
  • större än eller lika med:> =
  • mindre än eller lika med:> =

Utöver dessa finns det ytterligare fyra operatörer som används med villkorade uttalanden:

  • och: &&
  • inte:! 
  • eller: ||
  • är lika med: == 

Exempelvis anses köråldern vara från 16 ålder till 85 år, i vilket fall AND-operatören kan användas.

annars om (ålder> 16 && ålder < 85 )

Detta kommer att gälla endast om båda villkoren är uppfyllda. Operatörerna INTE, ELLER, och ÄR JÄMFÖRT kan användas på liknande sätt.

Växlarmeddelande

Bytetuttalande ger ett effektivt sätt att hantera ett avsnitt av koden som kan grenas i flera riktningar baserat på en endavariabel. Det stöder inte de villkorade operatörerna som ifall då-påståendet gör, och det kan inte heller hantera flera variabler. Det är emellertid ett föredraget val när villkoret uppfylls av en enda variabel eftersom det kan förbättra prestanda och är lättare att underhålla.

 Här är ett exempel:

switch (singel_variabel) case value: // code_here;
ha sönder;
case-värde: // code_here;
ha sönder;
standard: // ställa in en standard;

Observera att du börjar med omkopplaren, tillhandahåller en enda variabel och sedan anger dina val med termen fall. Nyckelordet ha sönder slutför varje fall i switch-uttalandet. Standardvärdet är valfritt, men god praxis.

Till exempel skrivs denna switch lyriken till låten Twelve Days of Christmas som ges en given dag.

int dag = 5;

Stränglyrisk = ""; // tom sträng för att hålla lyriken

switch (dag) fall 1:

lyric = "En patridge i ett päronträd.";
ha sönder;
fall 2:
lyric = "2 sköldpaddsduvor";
ha sönder;
fall 3:
lyric = "3 franska höns";
ha sönder;
fall 4:
lyric = "4 kallande fåglar";
ha sönder;
fall 5:
lyric = "5 guldringar";
ha sönder;
fall 6:
lyric = "6 gäss-läggning";
ha sönder;
fall 7:
lyric = "7 swans-a-swimming";
ha sönder;
fall 8:
lyric = "8 piga-a-mjölkning";
ha sönder;
fall 9:
lyric = "9 damer som dansar";
ha sönder;
fall 10:
lyric = "10 Lords-a-jumping";
ha sönder;
fall 11:
lyric = "11 pipers piping";
ha sönder;
fall 12:
lyric = "12 trummis trumma";
ha sönder;
standard:
lyric = "Det finns bara 12 dagar.";
ha sönder;

System.out.println (lyric);

I det här exemplet är värdet som ska testas ett heltal. Java SE 7 och senare stöder ett strängobjekt i uttrycket. Till exempel:
String day = "second";
Stränglyrisk = ""; // tom sträng för att hålla lyriken

växla (dag)
fall "först":
lyric = "En patridge i ett päronträd.";
ha sönder;
fall "andra":
lyric = "2 sköldpaddsduvor";
ha sönder;
fall "tredje":
lyric = "3 franska höns";
ha sönder;
// etc.