Java Branching Structure-if...else/switch
Sequential structures can only be executed sequentially, not judged and chosen, so branching structures are required.
There are two types of branching structures in Java:
- if statement
- Switch statement
If statement
An If statement contains a Boolean expression and one or more statements.
Grammar
The syntax for the IF statement is as follows:
if (Boolean expression) { // If the Boolean expression is true the statement to be executed }
If the value of the Boolean expression is true, the code block in the IF statement is executed, otherwise the code after the IF statement block is executed.
Test.java File Code:
Public class Test { publicstaticvoid main (String args[]) { int x = Ten; if (x < ) { System.out.print ("This is the IF statement"); }}}
The results of the above code compilation run as follows:
if statement
If...else statements
The If statement can be followed by the Else statement, and if the Boolean expression value of the If statement is false, the ELSE statement block is executed.
Grammar
The usage of If...else is as follows:
if (Boolean expression ) {// If the value of the Boolean expression is true}else{ // If the value of the Boolean expression is False}
Instance Test.java file code:
Public class Test { publicstaticvoid main (String args[]) { int x = ; if (x < ) { System.out.print ("This is an if statement"); } Else { System.out.print ("This is the Else statement") ; }}}
The results of the above code compilation run as follows:
Else statement
If...else if...else Statements
The If statement can be followed by a elseif...else statement, which detects a variety of possible scenarios.
When using the If,else if,else statement, the following points need to be noted:
- The IF statement has at most 1 else statements, and ELSE statements after all ElseIf statements.
- An If statement can have several ElseIf statements, which must precede the Else statement.
- Once one of the else if statements detects true, the other else if and else statements will skip execution.
Grammar
The IF...ELSE syntax format is as follows:
if (Boolean expression 1) {// If the value of Boolean expression 1 is true execution code }elseif(boolean expression 2) { // if the value of the Boolean expression 2 is true, the code is executed } Else if (Boolean expression 3 ) {// If the value of Boolean expression 3 is true execution code }else { // If none of the above Boolean expressions execute code for true }
Instance Test.java file code:
Public classTest { Public Static voidMain (String args[]) {intx = 30; if(x = = 10) {System.out.print ("Value of X is 10"); }Else if(x = = 20) {System.out.print ("Value of X is 20"); }Else if(x = = 30) {System.out.print ("Value of X is 30"); }Else{System.out.print ("This is the Else statement"); } }}
The results of the above code compilation run as follows:
Value of X is 30
Nested IF...ELSE statements
It is legal to use nested IF...ELSE statements. This means that you can use an if or ElseIf statement in another if or ElseIf statement.
Grammar
The nested IF...ELSE syntax format is as follows:
if (Boolean expression 1) { //// If the value of Boolean expression 1 is true execution code if(boolean expression 2) { // / If the value of Boolean expression 2 is true execution code }}
You can nest else if...else like an if statement.
Instance Test.java file code:
Public class Test { publicstaticvoid main (String args[]) { int x = ; int y = ten; if (x = = ) { if(y = = ) { System.out.print ("x = y = ten"); } } }}
The results of the above code compilation run as follows:
X = + and Y = 10
Switch statement
The switch statement determines whether a variable is equal to a value in a series of values, and each value is called a branch.
Grammar
The switch syntax format is as follows:
Switch(expression) { CaseValue://Statement Break;//options available CaseValue://Statement Break;//options available//you can have any number of case statements default://options available//Statement}
The switch statement has the following rules:
The variable type in the switch statement can be: Byte, short, int, or char. Starting with Java SE 7, switch supports string types, and case labels must be string constants or literals.
A switch statement can have more than one case statement. Each case is followed by a value and a colon to compare.
The data type of the value in the case statement must be the same as the data type of the variable, and can only be constants or literal constants.
When the value of a variable is equal to the value of the case statement, the statement after the case statement starts executing until the break statement appears and jumps out of the switch statement.
The switch statement terminates when a break statement is encountered. The program jumps to the statement following the switch statement execution. The case statement does not have to contain a break statement. If no break statement appears, the program continues to execute the next case statement until a break statement appears.
A switch statement can contain a default branch, which must be the last branch of a switch statement. Default is executed when there is no case statement with the value equal to the value of the variable. The default branch does not require a break statement.
Instance Test.java file code:
Public classTest { Public Static voidMain (String args[]) {//char grade = Args[0].charat (0); CharGrade = ' C '; Switch(grade) { CaseA: System.out.println (Excellent); Break; CaseB : CaseC: System.out.println (Good); Break; CaseD: System.out.println (Failed); CaseF: System.out.println ("You need to work harder."); Break; default: System.out.println ("Unknown Level"); } System.out.println ("Your rank is" +grade); }}
The results of the above code compilation run as follows:
Well your rank is C
List of Notes
Using the preceding variables and the For loop, and if knowledge, the program's function is to enter a diamond consisting of an * number in the console. Take a look at the following code:
Public classDemo2 {//The following is the ascending code Public voidPrit1 (floatc) {floatp = C/2;//Sort Ascending floatD//declaring row number variables floatE//declare a variable that prints an * number floatF//declare a variable that prints a space floatR//Declare ascending sort floats = c% 2;//Take the mold if(s = = 0) {System.out.println ("The data you entered cannot form a diamond structure"); } Else { for(d = 1; d <= p; d++) { for(f = p; f >= D; f--) {System.out.print (" "); } for(e = 1; e <= d * 2-1; e++) { if(E = = 1 | | e = = d * 2-1) {System.out.print ("*");//if it is the first number and the last number, enter *}Else{System.out.print (" ");//Otherwise, enter a space}} System.out.println (); } } } //here is the code in reverse print Public voidPrit2 (floatm) {floatI//declaring row number variables floatJ//declare a variable that prints an * number floatK//declare a variable that prints the number of spaces floatn = m/2 + 1;//reverse Order floato = m% 2;//m modulus if(o = = 0) {System.out.print (""); } Else { for(i = 1; I <= n; i++)//line number loop; { //Print a space before printing the * number; for(k = 0; k < i-1; k++) {System.out.print (" "); } //The following is a loop that prints the number of * numbers; for(j = (n-k) * 2-2; J >= 1; j--)//a loop that prints the number of * numbers; { if(j = = (n-k) * 2-2 | | j = = 1) {System.out.print ("*"); } Else{System.out.print (" "); } } //after printing the * number of line printing;System.out.println (); } } } Public Static voidMain (string[] args) {Demo2 a=NewDemo2 (); floatb = 11;//determines whether a diamond can be formed, depending on the number of rows. If the cardinality row can enter the corresponding diamond, if it is an even row then output "The data you entered cannot form a diamond structure";a.prit1 (b); A.prit2 (b); }}
Place the diamond that needs to be printed in a square, the console prints a a*a area, finds the function where the diamond edge is located, prints "*" on the edge, and the other dots print "". Instead of distinguishing between ascending and descending, see the code:
Public classdraw{intb;//A is the number of diamond rows to be generated intH//h is a parameter in a method, and is also the number of rows intI,j;//I j is the cyclic structure parameter Public voidDrawinth) { for(i = 1; I <= h; i++) {//print row by line for(j = 1;j <= h;j++) {//the number of prints per line is consistent with the number of rows//The following statement is a diamond four-edged function, a coordinate point on the edge, printing *, otherwise printing a space if(j = = (H + 3)/2-i | | j = = (h-1)/2 + i | | j = i-(h-1)/2 | | j = = (3 * H + 1)/2-i) {System.out.print ("*"); }Else{System.out.print (" "); }} System.out.println (); //line I print out line break } } Public Static voidMain (string[] args) {//Static MethodsDraw B =NewDraw ();//Initialize Method intA = 35;//assigning and executing the Draw methodB.draw (a); }}
Java Branch Structure-if...else/switch