In the previous example we show a "if" statement also known as conditional statement. Easy to to use and simplified syntax. Julia do not use "then" keyword or ":" symbol after the condition like in other languages. Again Julia show an elegant and simple approach. It is used for one condition or multiple conditions using "elseif" compound keyword. In python this keyword is "elsif".
Syntax:
# This is the if-elseif-else-end statement
if [first-condition]
[furst-true block]
elseif [second-condition]
[second-true block]
...
else
[fasle-block - no condition is true]
end
Decision Diagram
# Single branch conditional
if 1 == 1
print("Of course 1==1 silly")
end
# Two branch conditional
print("enter any digit: a = ")
a = read(stdin, Char)
s = readline()
print("enter second digit: b = ")
b = read(stdin, Char)
s = readline()
# Two branches conditional
if a > b
println("a > b")
else
println("a <= b")
end
s = readline()
Homework:Open this example on-line and run it on repl.it website. Julia:decision
The if statement can have many condition and for each condition a block of code. The else statement is the alternative (optional) block that is executed when no condition is true. For each block we can also have nested if statements. This is somesing we wish to avoid if possible. It’s a good practice to not get too far from left side.
Ladder Decision
Example
# multi-branch decision ladder
print("enter any character: ")
c = read(stdin, Char)
if c in '0':'9'
print("digit")
elseif c in 'A':'Z'
print("uppercase letter")
elseif c in 'a':'z'
print("lowercase letter")
else
print("special character")
end
While statement is used to repeat a block of code multiple times as long as one condition is true. If the condition is always true then we have an infinite loop. We can use a control variable that we increment inside the loop. In the next example we also learn two operators: "<=" and "+=" to check the value of the control variable "i". After the loop this control variable is available.
Loop Diagram
# next program will print: 1,2,3,4,5,done
i=1
while i <= 5
print(i)
print(",")
i += 1
end
print("done")
This is a repetitive statement that execute a finite number of times using a control variable. Next example is more compact:
# next program will print: 1,2,3,4,5,done
for i = 1:5
print(i)
print(",")
end
print("done")
We can early terminate a loop by using break. We can also skip execution of statements and jump back to beginning using keyword continue. Unlike while loop the control variable "i" is local inside the for loop and not available after the loop is ending.
Loop Control
# expected output: 3 6 9
for i in 1:10
if i % 3 != 0
continue
end
println(i)
end
# expected output: 1 2 3 4 5
for j in 1:1000
println(j)
if j >= 5
break
end
end
Julia is good with matrix. So it is possible to use two control indexes in same loop. This is useful to create pairs.
# demo for double loop
for i = 1:2, j = 3:4
println((i, j))
end
output:
(1, 3)
(1, 4)
(2, 3)
(2, 4)
Read next: Functions