I den här handledningen lär du dig om kontrollflödesuttalanden med Java om och om … annars uttalanden med hjälp av exempel.
I datorprogrammering använder vi if-uttalandet för att styra flödet av programmet. Till exempel, om ett visst villkor är uppfyllt, kör sedan ett specifikt kodblock. Kör annars en annan kod.
Till exempel tilldela betyg (A, B, C) baserat på procentandel som erhållits av en student.
- om procentsatsen är över 90 , tilldela betyg A
- om procentsatsen är över 75 , tilldela betyg B
- om procentsatsen är över 65 , tilldela betyg C
Det finns tre former av if… else
uttalanden i Java.
- if uttalande
- om … annars uttalande
- if … else if … else uttalande
- Inkapslat om … annars uttalande
1. Java if (if-then) uttalande
Syntaxen för ett if-then- uttalande:
if (condition) ( // statements )
Här är villkor ett booleskt uttryck. Den returnerar antingen true
eller false
.
- om villkor utvärderas till utförs
true
uttalanden i kroppenif
- om tillståndet utvärderas till hoppas
false
påståenden inuti kroppenif
Hur om uttalande fungerar?
![](https://cdn.wiki-base.com/1185961/java_ifelse_statement_with_examples.png.webp)
Exempel 1: Java if-uttalande
class IfStatement ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) System.out.println("Statement outside if block"); ) )
Produktion
Antalet är positivt. Uttalande utanför om block
I exemplet ovan har vi skapat en variabel med namnet nummer. Lägg märke till testvillkoren,
number> 0
Här kontrollerar villkoret om antalet är större än 0 . Eftersom antalet är större än 0 utvärderas villkoret true
.
Om vi ändrar variabeln till ett negativt heltal. Låt oss säga -5 .
int number = -5;
Nu när vi kör programmet blir resultatet:
Statement outside if block
Detta beror på att värdet på talet är mindre än 0 . Därför utvärderas tillståndet till false
. Och if
blockets kropp hoppas över.
Obs! För att lära dig mer om tillståndsuttryck, se till att besöka Java Relational Operators och Java Logical Operators.
Vi kan också använda Java-strängar som testvillkor.
Exempel 2: Java om med sträng
class Main ( public static void main(String() args) ( // create a string variable String language = "Java"; // if statement if (language == "Java") ( System.out.println("Best Programming Language"); ) ) )
Produktion
Bästa programmeringsspråket
I exemplet ovan jämför vi två strängar i if
blocket.
2. Java if … else (if-then-else) uttalande
Det if
uttalandet utför en viss del av koden om test uttrycket utvärderas till true
. Men om testuttrycket utvärderas till gör false
det ingenting.
I det här fallet kan vi använda ett valfritt else
block. Uttalanden inuti else
blocket utförs om testuttrycket utvärderas till false
. Detta är känt som if- … else uttalandet i Java.
Syntaxen för if … else- uttalandet är:
if (condition) ( // codes in if block ) else ( // codes in else block )
Här gör programmet en uppgift (koder inuti if
block) om villkoret är true
och en annan uppgift (koder inuti else
block) om villkoret är false
.
Hur fungerar uttalandet om … annars?
![](https://cdn.wiki-base.com/1185961/java_ifelse_statement_with_examples_2.png.webp)
Exempel 3: Java if … else Uttalande
class Main ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // execute this block // if number is not greater than 0 else ( System.out.println("The number is not positive."); ) System.out.println("Statement outside if… else block"); ) )
Produktion
Antalet är positivt. Uttalande utanför om … annars block
I exemplet ovan har vi en variabel med namnet nummer. Här number> 0
kontrollerar testuttrycket om antalet är större än 0.
Eftersom värdet på talet är 10, utvärderas testuttrycket till true
. Därför körs kod inuti kroppen av if
.
Ändra nu värdet på talet till ett negativt heltal. Låt oss säga -5.
int number = -5;
Om vi kör programmet med det nya värdet på siffran blir resultatet:
Antalet är inte positivt. Uttalande utanför om … annars block
Här är värdet på numret -5. Så testuttrycket utvärderas till false
. Därför körs kod inuti kroppen av else
.
3. Java om … annars … om uttalande
I Java har vi en if … else … if ladder, som kan användas för att köra ett kodblock bland flera andra block.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Här if
utförs uttalanden uppifrån och ner. När testvillkoret är utförs true
koder inuti if
blockets kropp . Och programstyrning hoppar utanför if … annars … om stege.
Om alla testuttryck är false
, else
körs koder inuti kroppen .
Hur om … annars … om stege fungerar?
![](https://cdn.wiki-base.com/1185961/java_ifelse_statement_with_examples_3.png.webp)
Exempel 4: Java om … annars … om uttalande
class Main ( public static void main(String() args) ( int number = 0; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // checks if number is less than 0 else if (number < 0) ( System.out.println("The number is negative."); ) // if both condition is false else ( System.out.println("The number is 0."); ) ) )
Produktion
Siffran är 0.
In the above example, we are checking whether number is positive, negative, or zero. Here, we have two condition expressions:
number> 0
- checks if number is greater than 0number < 0
- checks if number is less than 0
Here, the value of number is 0. So both the conditions evaluate to false
. Hence the statement inside the body of else
is executed.
Note: Java provides a special operator called ternary operator, which is a kind of shorthand notation of if… else… if statement. To learn about the ternary operator, visit Java Ternary Operator.
4. Java Nested if… else Statement
I Java är det också möjligt att använda if… else
uttalanden i ett if… else
uttalande. Det kallas det kapslade if… else
uttalandet.
Här är ett program för att hitta den största av 3 siffror med hjälp av kapslade if… else
uttalande.
Exempel 5: Inbäddat om … annars uttalande
class Main ( public static void main(String() args) ( // declaring double type variables Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest; // checks if n1 is greater than or equal to n2 if (n1>= n2) ( // if… else statement inside the if block // checks if n1 is greater than or equal to n3 if (n1>= n3) ( largest = n1; ) else ( largest = n3; ) ) else ( // if… else statement inside else block // checks if n2 is greater than or equal to n3 if (n2>= n3) ( largest = n2; ) else ( largest = n3; ) ) System.out.println("Largest Number: " + largest); ) )
Utgång :
Största antalet: 4.5
I programmen ovan har vi själva tilldelat värdet på variabler för att göra det enklare.
Men i verkliga applikationer kan dessa värden komma från användarens inmatningsdata, loggfiler, formulärsändning etc.