An open API service indexing awesome lists of open source software.

https://github.com/jaennova/kotlin

Guia para iniciar en la programacion, con el lenguaje de programacion Kotlin, llena de ejemplos, con ejercicios practicos y mas enunciados para seguir practicando.
https://github.com/jaennova/kotlin

aprende-a-programar aprende-kotlin aprender-a-codificar aprender-kotlin fundamentos-de-programacion java kotlin learn-kotlin learn-kotlin-lang learn-kotlin-language learn-to-code

Last synced: about 1 month ago
JSON representation

Guia para iniciar en la programacion, con el lenguaje de programacion Kotlin, llena de ejemplos, con ejercicios practicos y mas enunciados para seguir practicando.

Awesome Lists containing this project

README

        

# Aprende Kotlin con ejercicios

![kotlin](https://socialify.git.ci/jaennova/kotlin/image?font=Source%20Code%20Pro&forks=1&language=1&logo=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F7%2F74%2FKotlin_Icon.png%2F900px-Kotlin_Icon.png&name=1&owner=1&pattern=Solid&stargazers=1&theme=Auto)
----

## Indice

- [Aprende Kotlin con ejercicios](#aprende-kotlin-con-ejercicios)
- [Indice](#indice)
- [Tabla de contenido](#tabla-de-contenido)
- [1. Declaración de variables](#1-declaración-de-variables)
- [2. Funciones](#2-funciones)
- [3. Estructuras condicionales](#3-estructuras-condicionales)
- [4. Bucles](#4-bucles)
- [Recursos adicionales](#recursos-adicionales)
- [Repositorios](#repositorios)
- [Usuarios en GitHub](#usuarios-en-github)
- [Sitios web](#sitios-web)
- [Canales de YouTube](#canales-de-youtube)
- [Comunidades](#comunidades)
- [Colabora](#colabora)

## Tabla de contenido

### 1. Declaración de variables

* Declaración de variables con "var" y "val": [[uso]](/1_declaracion_variables/1_declaracion_variables_val_var.md)
[[enunciados]](/1_declaracion_variables/1_enunciados/1_declaracion_variables_val_var.md) [[mis soluciones]](/soluciones/1_declaracion_variables/1_declaracion_variables_val_var.md)
* Asignación de valores a variables: [[uso]](/1_declaracion_variables/2_asignacion_variables.md) [[enunciados]](/1_declaracion_variables/1_enunciados/1_declaracion_variables_val_var.md) [[mis soluciones]](/soluciones/1_declaracion_variables/2_asignacion_variables.md)
* Inicialización de variables: [[uso]](/1_declaracion_variables/3_inicializacion_variables.md) [[enunciados]](/1_declaracion_variables/1_enunciados/3_inicializacion_variables.md) [[mis soluciones]](/soluciones/1_declaracion_variables/3_inicializacion_variables.md)
* Tipos de datos (enteros, flotantes, booleanos, cadenas, etc.)[[uso]](/1_declaracion_variables/4_tipos_de_datos.md) [[enunciados]](/1_declaracion_variables/1_enunciados/4_tipos_de_datos.md) [[mis soluciones]](/soluciones/1_declaracion_variables/4_tipos_de_datos.md)
* Conversión de tipos de datos (toInt(), toDouble(), etc.): [[uso]](/1_declaracion_variables/5_conversion_tipos.md) [[enunciados]](/1_declaracion_variables/1_enunciados/5_conversion_tipos.md) [[mis soluciones]](/soluciones/1_declaracion_variables/5_conversion_tipos.md)
* Operadores: [[uso]](/1_declaracion_variables/6_operadores.md) [[enunciados]](/1_declaracion_variables/1_enunciados/6_operadores.md) [[mis soluciones]](/soluciones/1_declaracion_variables/6_operadores.md)
* Concatenación de cadenas (con "+" y con "$") [[uso]](/1_declaracion_variables/7_concatenacion.md) [[enunciados]](/1_declaracion_variables/1_enunciados/7_concatenacion.md) [[mis soluciones]](/soluciones/1_declaracion_variables/7_concatenacion.md)
* Interpolación de cadenas (con "\${ }" y con "$"): [[uso]](/1_declaracion_variables/8_interpolacion.md) [[enunciados]](/1_declaracion_variables/1_enunciados/8_interpolacion.md) [[mis soluciones]](/soluciones/1_declaracion_variables/8_interpolacion.md)
* Null Safety: [[uso]](/1_declaracion_variables/9_null_safety.md) [[enunciados]](/1_declaracion_variables/1_enunciados/9_null_safety.md) [[mis soluciones]](/soluciones/1_declaracion_variables/9_null_safety.md)
* Declaración de variables sin tipo (Any, Any?, Unit): [[uso]](/1_declaracion_variables/10_any.md) [[enunciados]](/1_declaracion_variables/1_enunciados/10_any.md) [[mis soluciones]](/soluciones/1_declaracion_variables/10_any.md)

### 2. Funciones

* Declaración de funciones: [[uso]](/2_funciones/1_declaracion.md) [[enunciados]](/2_funciones/1_declaracion.md)
* Parámetros y valores de retorno: [[uso]](/2_funciones/enunciados/2_parametros_retorno.md)[[enunciados]](/2_funciones/2_parametros_retorno.md)
* Funciones con valores por defecto: [[uso]](/2_funciones/3_valores_defecto.md) [[enunciados]](/2_funciones/enunciados/3_valores_defecto.md)
* Funciones Lambda: [[uso]](/2_funciones/4_lambda.md) [[enunciados]](/2_funciones/enunciados/4_labmda.md)

### 3. Estructuras condicionales

* Sentencia "if": [[uso]](/3_estructuras_condicionales/1_if.md) [[enunciados]](/3_estructuras_condicionales/enunciados/1_if.md) [[mis soluciones]](/soluciones/3_condicionales/1_if.md)
* Sentencia "when": [[uso]](/3_estructuras_condicionales/2_when.md) [[enunciados]](/3_estructuras_condicionales/enunciados/2_when.md) [[mis soluciones]](/soluciones/3_condicionales/2_when.md)

### 4. Bucles

* Bucles "for": [[uso]](/4_bucles/1_for.md) [[enunciados]](/4_bucles/enunciados/1_for.md) [[mis soluciones]](/soluciones/4_blucles/1_for.md)
* Bucles "for each": [[uso]](/4_bucles/2_for_each.md) [[enunciados]](/4_bucles/enunciados/2_for_each.md) [[mis soluciones]](/soluciones/4_blucles/2_for_each.md)
* Bucle "while": [[uso]](/4_bucles/3_while.md) [[enunciados]](/4_bucles/enunciados/3_while.md)
* Bucle "do-while": [[uso]](/4_bucles/4_do_while.md) [[enunciados]](/4_bucles/4_do_while.md)

---

## Recursos adicionales

Aquí encontrarás una lista de recursos adicionales para continuar aprendiendo sobre Kotlin:

### Repositorios

- [Kotlin en GitHub](https://github.com/JetBrains/kotlin)
- [Awesome Kotlin](https://github.com/KotlinBy/awesome-kotlin)
- [Weekly Challenge 2022](https://github.com/mouredev/Weekly-Challenge-2022-Kotlin)
- [Android Roadmap](https://github.com/mouredev/Android-Developer-Roadmap)
- [50 Android Projects](https://github.com/spkingr/50-android-kotlin-projects-in-100-days)
- [Android Expert](https://github.com/ArisGuimera/Android-Expert)
- [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform)
- [Kotlin Algorithms and Design Patterns](https://github.com/DmitryTsyvtsyn/Kotlin-Algorithms-and-Design-Patterns)

### Usuarios en GitHub

Usuarios en GitHub que crean y/o colaboran en proyectos usando Kotlin
- [@Aristidevs](https://github.com/arisguimera)
- [@Mouredev](https://github.com/mouredev)
- [@RajashekarRaju](https://github.com/RajashekarRaju)
- [@nisrulz](https://github.com/nisrulz)
- [@android10](https://github.com/android10)
- [@skydoves](https://github.com/skydoves)
- [@antoniolg](https://github.com/antoniolg)
- [@philipplackner](https://github.com/philipplackner)
- [@joreilly](https://github.com/joreilly)
- [@terrakok](https://github.com/terrakok)
- [@google-developer-training](https://github.com/google-developer-training)
- [@android](https://github.com/android)
- [@MohamedRejeb](https://github.com/MohamedRejeb)

### Sitios web

- [Documentación oficial](https://kotlinlang.org/docs/home.html)
- [Kotlin Playground](https://play.kotlinlang.org/)
- [Kotlin Weekly](https://mailchi.mp/kotlinweekly/kotlin-weekly)
- [Android Kotlin](https://developer.android.com/kotlin?hl=es-419)
- [Curso Kotlin por @AristiDevs](https://cursokotlin.com/)
- [Geek for geeks - Kotlin](https://www.geeksforgeeks.org/kotlin-programming-language/)

### Canales de YouTube

- [@AristiDevs](https://www.youtube.com/@AristiDevs)
- [@DevKiper](https://www.youtube.com/@DevKiper)
- [@DevExpert](https://www.youtube.com/@devexpert_io)
- [@Philipp Lackner](https://www.youtube.com/@PhilippLackner)
- [@Mouredev](https://www.youtube.com/@mouredev)
- [@SoyGabiMoreno](https://www.youtube.com/@soygabimoreno)
- [@Kotlin](https://www.youtube.com/@Kotlin)

### Comunidades

- [Kotlinlang Slack](https://kotlinlang.slack.com/)
- [Discord Aristidevs](https://discord.com/channels/807719549075980308/810773260399804417)
- [Discord Mouredev](https://discord.com/channels/729672926432985098/809390613539061770)
- [Discord DevKiper](https://discord.com/channels/952285508912943135/986469221825396747)
- [Discord Programadores y estudiantes](https://discord.com/channels/768278151435386900/1122390294973915176)
- [Android Dev](https://discord.com/channels/178391822186315777/502383800668389387)

## Colabora

¡Tú también puedes contribuir a este repositorio! Si conoces mas recursos que puedan aportar al aprendizaje del lenguaje, puedes agregarlos a la seccion de [Recursos adicionales.](#recursos-adicionales)

Adicionalmente, si tienes soluciones para los enunciados que se presentan o quieres agregar nuevos enunciados, sigue estos pasos:

1. **Fork el Repositorio:** Haz un fork de este repositorio a tu cuenta de GitHub haciendo clic en el botón "Fork" en la parte superior derecha de esta página.

2. **Clona el Repositorio:** Clona tu fork del repositorio a tu máquina local. Utiliza el siguiente comando en tu terminal:

```sh
git clone https://github.com/jaennova/kotlin.git
```

3. **Crea una Rama:** Crea una rama para trabajar en tus cambios. Es una buena práctica nombrar la rama de manera descriptiva, como "solucion-ejercicios-user" o "nuevo-enunciado".

```sh
git checkout -b tu-rama
```

4. **Haz tus Cambios:** Agrega tus soluciones a los enunciados existentes o crea nuevos enunciados según sea necesario. Coloca tu solución en la carpeta `/soluciones_comunidad/tuusuario`, donde `tuusuario` es tu nombre de usuario de GitHub. Esto ayudará a mantener un seguimiento claro de las contribuciones de cada colaborador.

5. **Haz Commit de tus Cambios:** Una vez que hayas realizado tus cambios, haz commit de ellos con un mensaje descriptivo.

```sh
git add .
git commit -m "solucion tuuser 1&1"
```

donde `1&1` significa que agregaste la solucion al enunciado 1 del tema 1 [declaracion de variables](#1-declaración-de-variables), en el caso de que quieras agregar la solucion al enunciado 2 del tema 3, [estructuras condicionales](#3-estructuras-condicionales), seria de la siguiente manera:

```sh
git add .
git commit -m "solucion tuuser 3&2"
```

1. **Haz Push de tus Cambios:** Sube tus cambios a tu repositorio en GitHub.

```sh
git push origin tu-rama
```

2. **Envía un Pull Request:** Dirígete a la página de tu fork en GitHub y haz clic en el botón "[Pull Request](https://github.com/jaennova/kotlin/pulls)". Describe tus cambios y envía el Pull Request para que podamos revisarlo.

¡Y eso es todo! Espero con interés ver tus contribuciones al repositorio.