Scala Programming

  1. Scala Language Fundamentals
    1. Basic Syntax and Structure
      1. Expressions vs Statements
        1. Semicolon Inference
          1. Code Blocks and Scope
            1. Comments and Documentation
              1. Single-Line Comments
                1. Multi-Line Comments
                  1. Scaladoc Comments
                  2. Naming Conventions
                  3. Variables and Data Types
                    1. val for Immutable Variables
                      1. var for Mutable Variables
                        1. Type Inference
                          1. Explicit Type Declarations
                            1. Basic Data Types
                              1. Numeric Types
                                1. Byte
                                  1. Short
                                    1. Int
                                      1. Long
                                        1. Float
                                          1. Double
                                          2. Character and String Types
                                            1. Char
                                              1. String
                                              2. Boolean Type
                                                1. Special Types
                                                  1. Unit
                                                    1. Null
                                                      1. Nothing
                                                        1. Any
                                                          1. AnyRef
                                                            1. AnyVal
                                                        2. String Operations
                                                          1. String Literals
                                                            1. String Interpolation
                                                              1. s Interpolator
                                                                1. f Interpolator
                                                                  1. raw Interpolator
                                                                  2. Multiline Strings
                                                                    1. String Methods
                                                                    2. Operators
                                                                      1. Arithmetic Operators
                                                                        1. Relational Operators
                                                                          1. Logical Operators
                                                                            1. Bitwise Operators
                                                                              1. Assignment Operators
                                                                                1. Operator Overloading
                                                                                  1. Methods as Operators
                                                                                    1. Defining Custom Operators
                                                                                      1. Precedence and Associativity
                                                                                    2. Control Structures
                                                                                      1. if-else Expressions
                                                                                        1. Expression vs Statement
                                                                                          1. Nested if-else
                                                                                          2. while and do-while Loops
                                                                                            1. Loop Syntax
                                                                                              1. Loop Control Alternatives
                                                                                              2. for Comprehensions
                                                                                                1. Iterating over Collections
                                                                                                  1. Using Guards
                                                                                                    1. yield for Creating New Collections
                                                                                                      1. Multiple Generators
                                                                                                        1. Pattern Matching in for
                                                                                                        2. match Expressions
                                                                                                          1. Basic Syntax and Usage
                                                                                                            1. Simple Pattern Matching
                                                                                                          2. Functions and Methods
                                                                                                            1. Defining Functions with def
                                                                                                              1. Parameter Lists and Return Types
                                                                                                                1. Single-Expression Functions
                                                                                                                  1. Procedures
                                                                                                                    1. Named and Default Arguments
                                                                                                                      1. Variable-Length Arguments
                                                                                                                        1. Method Overloading
                                                                                                                          1. Local Functions
                                                                                                                            1. Recursive Functions
                                                                                                                              1. Tail Recursion
                                                                                                                                1. @tailrec Annotation