I denne vejledning lærer du om kontrolflowangivelser ved hjælp af Java, hvis og hvis … ellers udsagn ved hjælp af eksempler.
I computerprogrammering bruger vi if-sætningen til at kontrollere programmets flow. For eksempel, hvis en bestemt betingelse er opfyldt, skal du køre en bestemt kodeblok. Ellers skal du køre en anden kode.
For eksempel tildeling af karakterer (A, B, C) baseret på procentdelen opnået af en studerende.
- hvis procentdelen er over 90 , tildeles lønklasse A
- hvis procentdelen er over 75 , tildeles klasse B
- hvis procentdelen er over 65 , tildeles klasse C
Der er tre former for if… else
udsagn i Java.
- hvis erklæring
- hvis … ellers udsagn
- hvis … ellers hvis … ellers udsagn
- Indlejret hvis … ellers udsagn
1. Java if (if-then) Erklæring
Syntaksen for en if-then- sætning:
if (condition) ( // statements )
Her er betingelse et boolsk udtryk. Det returnerer enten true
eller false
.
- hvis tilstand evalueres til
true
,if
udføres udsagn inde i kroppen - hvis tilstand vurderes til
false
,if
springes udsagn inde i kroppen over
Hvordan hvis udsagn fungerer?

Eksempel 1: Java if Statement
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
Antallet er positivt. Erklæring uden for hvis blok
I ovenstående eksempel har vi oprettet en variabel med navnet nummer. Bemærk testtilstanden,
number> 0
Her er betingelsen at kontrollere, om antallet er større end 0 . Da antallet er større end 0 , evalueres tilstanden true
.
Hvis vi ændrer variablen til et negativt heltal. Lad os sige -5 .
int number = -5;
Nu, når vi kører programmet, vil output være:
Statement outside if block
Dette skyldes, at værdien af tallet er mindre end 0 . Derfor vurderes tilstanden til false
. Og kroppen af if
blokken springes over.
Bemærk : Sørg for at besøge Java Relational Operators og Java Logical Operators for at lære om tilstandsudtryk.
Vi kan også bruge Java Strings som testbetingelse.
Eksempel 2: Java hvis med streng
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
Bedste programmeringssprog
I ovenstående eksempel sammenligner vi to strenge i if
blokken.
2. Java if … else (if-then-else) Erklæring
Den if
sætning udfører en vis del af koden, hvis testen udtryk evalueres til true
. Men hvis testudtrykket vurderes til false
, gør det intet.
I dette tilfælde kan vi bruge en valgfri else
blok. Erklæringer inde i else
blokdelen udføres, hvis testudtrykket vurderes til false
. Dette er kendt som if-… else- sætningen i Java.
Syntaksen for if … else- udsagnet er:
if (condition) ( // codes in if block ) else ( // codes in else block )
Her udfører programmet en opgave (koder inde i if
blokken), hvis betingelsen er, true
og en anden opgave (koder inde i else
blokken), hvis tilstanden er false
.
Hvordan fungerer erklæringen if … else?

Eksempel 3: Java hvis … ellers Erklæring
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
Antallet er positivt. Erklæring udenfor, hvis … ellers blokerer
I ovenstående eksempel har vi en variabel med navnet nummer. Her number> 0
kontrollerer testudtrykket , om antallet er større end 0.
Da værdien af tallet er 10, evalueres testudtrykket til true
. Derfor if
udføres kode inde i kroppen .
Nu skal du ændre værdien af tallet til et negativt heltal. Lad os sige -5.
int number = -5;
Hvis vi kører programmet med den nye talværdi, vil output være:
Antallet er ikke positivt. Erklæring udenfor, hvis … ellers blokerer
Her er værdien af tallet -5. Så testudtrykket evalueres til false
. Derfor else
udføres kode inde i kroppen .
3. Java hvis … ellers … hvis erklæring
I Java har vi en hvis … ellers … hvis stige, der kan bruges til at udføre en blok kode blandt flere andre blokke.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Her if
udføres udsagn fra toppen mod bunden. Når testtilstanden er true
, udføres koder inde i selve if
blokken. Og programstyring springer uden for hvis … ellers … hvis stige.
Hvis alle testudtryk er false
, else
udføres koder inde i kroppen .
Hvordan hvis … ellers … hvis stigen fungerer?

Eksempel 4: Java hvis … ellers … hvis erklæring
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
Nummeret er 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 er det også muligt at bruge if… else
udsagn inde i en if… else
erklæring. Det kaldes den indlejrede if… else
erklæring.
Her er et program til at finde det største af 3 tal ved hjælp af den indlejrede if… else
sætning.
Eksempel 5: Indlejret hvis … ellers Erklæring
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); ) )
Output :
Største antal: 4.5
I ovenstående programmer har vi selv tildelt værdien af variabler for at gøre det lettere.
I virkelige applikationer kan disse værdier imidlertid komme fra brugerinputdata, logfiler, formularindsendelse osv.