Julia Community

Cover image for Variables, Expressions, and Statements in Julia
Ifihan Olusheye
Ifihan Olusheye

Posted on • Originally published at dev.to

Variables, Expressions, and Statements in Julia

In this article, I'd be explaining the following concepts in the Julia programming language: Variables, Expressions, and Statements.

P.S: If you have no idea of what Julia is, you can read up here.

Let's dive in...

What are Variables?

Variables can be seen as containers used to store data that the program can use over time and can be called at any point in the codebase. Unlike C and Java, variables in Julia need not to be written with a Datatype. It auto-assigns the data type automatically like Python.

Using the Julia REPL,

julia> message = "Hello World"
"Hello World"
Enter fullscreen mode Exit fullscreen mode

One of the features of a powerful language is the ability to manipulate variables. In Julia, a variable can be overwritten (the content of a variable replaced with a new one). Using the previous example,

julia> message = "Hello World"
"Hello World"

julia> message = "I love Julia"
"I love Julia"
Enter fullscreen mode Exit fullscreen mode

see how the message was overwritten

Variables can be given any name, as long as it's meaningful to the codebase. Some of the rules that apply in the naming convention in Python applies here. They include:

  • A variable cannot start with a number
julia> 7letters = "some text"
ERROR: syntax: "7" is not a valid function argument name
Enter fullscreen mode Exit fullscreen mode
  • A variable can start with uppercase, but it's conventional to begin variables with lower cases.
  • For variables with long names, you use the underscore character "_". Leaving a space would give an error
julia> your name = "Julia"
ERROR: syntax: extra token "name" after end of expression
Enter fullscreen mode Exit fullscreen mode
  • Keywords cannot be used as variable names in Julia. For example, struct is a keyword in Julia
julia> struct = "Exploration"
ERROR: syntax: unexpected "=" 
Enter fullscreen mode Exit fullscreen mode

The keywords in Julia are:

abstract type    baremodule  begin     break      catch
const            continue    do        else       elseif
end              export      finally   for        function
global           if          import    importall  in
let              local       macro     module     mutable struct
primitive type   quote       return    try        using
struct           where       while
Enter fullscreen mode Exit fullscreen mode

You do not need to memorize them. Keywords are displayed in a different color in most development environments.

What is a Statement?

A statement is a piece of code that performs a specific task, such as creating a variable or displaying a value. The assignment of a value to a variable is written in a statement.
An assignment statement creates a new variable and gives it a value

julia> note = "random words"
"random words"
Enter fullscreen mode Exit fullscreen mode

Displaying the value of a variable is also done with a statement. From the previous example,

julia> println(note)
random words
Enter fullscreen mode Exit fullscreen mode

Expressions

A combination of values, variables, and operators is called an expression. A variable, like a value, is regarded an expression by itself. Below is a legal representation of an expression

julia> 37
37
julia> n = 10
10
julia> n + 25
35
Enter fullscreen mode Exit fullscreen mode

When you type in an expression in the REPL, it gets evaluated immediately. For example, n has the value 10 and n + 25 has the value 35.

Global vs Local Variables

In Julia, variables can be assigned globally or locally. A global variable is a variable that can be used throughout the program while a local variable is a variable that is declared in a function and given a local scope.
Julia uses the global inbuilt function to declare global variables. For example

global b = 4

function addNumber(a)
  return a + b
end

println(addNumber(3))
Enter fullscreen mode Exit fullscreen mode

The result of this is 7.

In conclusion,

Like most other programming languages, Julia makes provision for creating variables, statements, and expressions, which make writing readable and portable code easier. Getting the hang of how it is used is essential for all developers.

Discussion (4)

Collapse
vvpisarev profile image
Vasily Pisarev

I think it would be more correct to say that Julia does not differentiate between statements and expressions, any valid code fragment is an expression (i.e. its evaluation produces a value that can be assigned to a variable, or used in another expression etc.) Those expressions are occasionally evaluated purely for side effects - in case of printing, loop expressions etc. but they still evaluate to some value, which may be nothing.

Collapse
ifihan profile image
Ifihan Olusheye Author

Thanks for this

Collapse
Sloan, the sloth mascot
Comment deleted