Open In App

Swift – Control Statements in Loops

Improve
Improve
Like Article
Like
Save
Share
Report

Control statements are used to control the flow of the loop. For example, we have written a for loop, inside the for loop we have written some 3 or 4 if conditions. Consider after satisfying 1st if condition the loop need to break, which means other of conditions should not be executed. In that case, we need to do something to break the loop. So in this situation control statements are used. Swift supports the following types of control statements:

  1. Break
  2. continue
  3. fallthrough
  4. Return statement
  5. Throw statement

Break statement

The break statement is used to break the loop in which it is present and controls transfer to the next statement(if available). Or we can say, in a loop when the break statement is encountered, then the loop breaks from the current iteration, and the next iterations will be executed as usual. We use break statements mostly in the switch statements to control the execution of the cases. If we don’t use a break after the statements in a particular case, other statements will also be executed.

Syntax:

break 

Flow diagram:

Example:

Swift




// Swift program to illustrate break statement
 
// Declaring a mutable variable
var i = 1
 
// Initializing repeat while loop
repeat
{
 
    // Checking condition
    if (i == 10)
    {
        // If the i==10 then break the loop
        // Using break statement
        break
    }
     
    // Printing the i value
    print("Iteration number \(i)")
     
    // Incrementing i value
    i += 1
}while i < 20 // Condition


 
 

Output:

 

Iteration number 1
Iteration number 2
Iteration number 3
Iteration number 4
Iteration number 5
Iteration number 6
Iteration number 7
Iteration number 8
Iteration number 9

Continue statement 

Continue statement is used to skip the current iteration and transfer the controls to the next iteration. Or we can say in a loop when a continue statement is encountered that particular iteration will be skipped and the remaining iterations are executed normally. Or it tells the loop to stop what it’s doing and start again from the beginning of the next iteration. Below are the flow chart and example which demonstrates the usage of the continue statement. 

 

Syntax:

 

continue

Flow diagram:

 

Example:

 

Swift




// Swift program to illustrate continue statement
 
// Declaring variable
var i = 10
 
// Initializing repeat while loop
repeat
{
    // Incrementing iteration
   i = i + 1
   if (i == 15)
   {
    
        // Checking condition using if
        continue
   }
   print("Value of index is \(i)")
} while i < 20


 
 

Output:

 

Iteration number 11
Iteration number 12
Iteration number 13
Iteration number 14
Iteration number 16
Iteration number 17
Iteration number 18
Iteration number 19
Iteration number 20

Note: Here we can see that only iteration 15 is skipped and the remaining iterations are executed normally.

 

Fallthrough statement

Fallthrough statements are used to execute the statements present after the match statement. Or we can say, a switch statement immediately stops its execution when the match is found. So fallthrough statement is used to display the statement present after the matched statement even if the value of the case does not match with the switch statement. It is generally used to achieve C-style fallthrough behavior. Or in a switch statement, when a fallthrough statement is encountered in any case then the flow automatically executed all the case statements below that particular case statement. Below is the syntax and example which demonstrates the usage of the fallthrough statement.

 

Syntax:

 

fallthrough

Example:

 

Swift




// Swift program to illustrate fallthrough statement
 
// Declaring choice
let a = 3
 
switch a
{
    // Initializing switch statement
    // with fallthrough statement
    case 1:
        print("This is case 1")
        fallthrough
    case 2:
        print("This is case 2")
        fallthrough
    case 3:
        print("This is case 3")
        fallthrough
    case 4:
        print("This is case 4")
        fallthrough
    default:
        print("This is switch without fallthrough")
}


 
 

Output:

 

This is case 3
This is case 4
This is switch without fallthrough

Return statement 

Generally return statement is used to return something from a function or method. It can return single or multiple values in a single statement. If a return statement is followed by an expression and the value of the expression does not match with the return type then before returning the value to the calling function, the type of the expression value is converted to the return type. And if the return statement does not followed by an expression, then it is only used to return from the function that does not return a value. 

 

Syntax: 

 

return value 1,value 2…value n

Example:

 

Swift




// Swift program to illustrate the return statement
 
// Creating a function which can
// add two integer numbers
func sum(a:Int, b:Int)->Int
{
 
    // Returning the result
    return a + b
}
 
// Calling the function
print("Sum of the given numbers is \(sum(a:10, b:20))")


 
 

Output:

 

sum of the given numbers is 30

Throw statement

A throw statement is generally used in throwing functions or methods. It is also used in a closure expression whose type is marked with the help of the throw keyword. Or we can say that it is used to stop the execution of the current scope and start error propagation until the error is handled by the do-catch statement. Or the throw statement allows methods or functions to stop the execution and throw an error if there is any exception occurs. Let us see the syntax and example which demonstrates the usage of the throw statement.

 

Syntax:

 

func fun_name() throws -> <Return Type> {}

Example:

 

Swift




// Swift program to illustrate the throw statement
enum errorexp: Error{
    case notaValidName
    case notaValidAge
}
 
func emp(age: Int, Name: String) throws{
     
    guard age > 0 else{
        throw errorexp.notaValidAge
    }
     
    guard Name.count > 0 else{
        throw errorexp.notaValidName
    }
}
 
print("This is example of throw statement...")
do{
    try emp(age: -1, Name:"")
} catch let error {
    print("Error: \(error)")
}


 
 

Output :

 

This is example of throw statement...
Error: notaValidAge

 



Last Updated : 28 Feb, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads