En esta sección, aprenderemos los conceptos básicos de la sintaxis y la estructura de Scala. Este conocimiento es fundamental para escribir y entender el código en Scala. A lo largo de esta lección, cubriremos los siguientes temas:
- Estructura de un Programa Scala
- Comentarios
- Tipos de Datos Básicos
- Declaración de Variables
- Operadores Básicos
- Control de Flujo Básico
- Estructura de un Programa Scala
Un programa en Scala puede ser tan simple como una sola línea de código o tan complejo como una aplicación con múltiples archivos y paquetes. Aquí hay un ejemplo básico de un programa Scala:
Explicación:
object HelloWorld
: Define un objeto singleton llamadoHelloWorld
.def main(args: Array[String]): Unit
: Define el métodomain
, que es el punto de entrada del programa.println("Hello, world!")
: Imprime "Hello, world!" en la consola.
- Comentarios
Los comentarios en Scala son similares a los de otros lenguajes de programación. Hay dos tipos de comentarios:
- Comentarios de una sola línea: Comienzan con
//
. - Comentarios de múltiples líneas: Comienzan con
/*
y terminan con*/
.
Ejemplos:
- Tipos de Datos Básicos
Scala tiene varios tipos de datos básicos que se utilizan comúnmente:
Tipo de Dato | Descripción | Ejemplo |
---|---|---|
Int |
Enteros | 42 |
Double |
Números de punto flotante | 3.14 |
Boolean |
Valores booleanos | true , false |
Char |
Caracteres | 'A' |
String |
Cadenas de texto | "Hello" |
Ejemplos:
val entero: Int = 42 val flotante: Double = 3.14 val booleano: Boolean = true val caracter: Char = 'A' val cadena: String = "Hello"
- Declaración de Variables
En Scala, las variables se pueden declarar usando val
(inmutable) o var
(mutable).
Ejemplos:
val inmutable: Int = 10 // No se puede cambiar var mutable: Int = 20 // Se puede cambiar mutable = 30 // Esto es válido // inmutable = 40 // Esto causará un error
- Operadores Básicos
Scala soporta los operadores aritméticos y lógicos comunes.
Operadores Aritméticos:
Operador | Descripción | Ejemplo |
---|---|---|
+ |
Suma | 1 + 2 |
- |
Resta | 5 - 3 |
* |
Multiplicación | 4 * 2 |
/ |
División | 8 / 2 |
% |
Módulo | 7 % 3 |
Operadores Lógicos:
Operador | Descripción | Ejemplo |
---|---|---|
&& |
AND lógico | true && false |
` | ` | |
! |
NOT lógico | !true |
Ejemplos:
val suma = 1 + 2 val resta = 5 - 3 val multiplicacion = 4 * 2 val division = 8 / 2 val modulo = 7 % 3 val andLogico = true && false val orLogico = true || false val notLogico = !true
- Control de Flujo Básico
Scala soporta las estructuras de control de flujo comunes como if
, else
, y while
.
Ejemplos:
val x = 10 // Estructura if-else if (x > 0) { println("x es positivo") } else { println("x es negativo o cero") } // Bucle while var y = 0 while (y < 5) { println(y) y += 1 }
Ejercicio Práctico
Ejercicio 1:
Escribe un programa en Scala que defina una variable edad
y determine si la persona es mayor de edad (18 años o más).
Solución:
object MayorDeEdad { def main(args: Array[String]): Unit = { val edad: Int = 20 if (edad >= 18) { println("La persona es mayor de edad.") } else { println("La persona es menor de edad.") } } }
Ejercicio 2:
Escribe un programa en Scala que imprima los números del 1 al 10 usando un bucle while
.
Solución:
object ImprimirNumeros { def main(args: Array[String]): Unit = { var numero: Int = 1 while (numero <= 10) { println(numero) numero += 1 } } }
Conclusión
En esta lección, hemos cubierto los conceptos básicos de la sintaxis y la estructura de Scala, incluyendo la estructura de un programa, comentarios, tipos de datos básicos, declaración de variables, operadores básicos y control de flujo. Estos fundamentos son esenciales para cualquier programador que desee aprender Scala. En la próxima lección, profundizaremos en las variables y los tipos de datos en Scala.
Curso de Programación en Scala
Módulo 1: Introducción a Scala
- Introducción a Scala
- Configuración del Entorno de Desarrollo
- Conceptos Básicos de Scala: Sintaxis y Estructura
- Variables y Tipos de Datos
- Operaciones Básicas y Expresiones
Módulo 2: Estructuras de Control y Funciones
- Sentencias Condicionales
- Bucles e Iteraciones
- Funciones y Métodos
- Funciones de Orden Superior
- Funciones Anónimas
Módulo 3: Colecciones y Estructuras de Datos
- Introducción a las Colecciones
- Listas y Arreglos
- Conjuntos y Mapas
- Tuplas y Opciones
- Coincidencia de Patrones
Módulo 4: Programación Orientada a Objetos en Scala
- Clases y Objetos
- Herencia y Rasgos
- Clases Abstractas y Clases Caso
- Objetos Compañeros
- Objetos Singleton
Módulo 5: Programación Funcional en Scala
- Inmutabilidad y Funciones Puras
- Estructuras de Datos Funcionales
- Mónadas y Funtores
- Comprensiones For
- Manejo de Errores en Programación Funcional
Módulo 6: Conceptos Avanzados de Scala
- Conversiones y Parámetros Implícitos
- Clases de Tipo y Polimorfismo
- Macros y Reflexión
- Concurrencia en Scala
- Introducción a Akka