{"id":24559333,"url":"https://github.com/jaennova/kotlin","last_synced_at":"2025-07-18T01:36:23.741Z","repository":{"id":155660637,"uuid":"586357192","full_name":"jaennova/kotlin","owner":"jaennova","description":"Guia para iniciar en la programacion, con el lenguaje de programacion Kotlin, llena de ejemplos, con ejercicios practicos y mas enunciados para seguir practicando.","archived":false,"fork":false,"pushed_at":"2024-11-29T18:26:04.000Z","size":286,"stargazers_count":20,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-29T19:32:58.750Z","etag":null,"topics":["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"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaennova.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-01-07T21:01:06.000Z","updated_at":"2024-11-29T18:26:08.000Z","dependencies_parsed_at":"2023-10-11T07:28:38.894Z","dependency_job_id":"979ee7df-87ff-497e-a2d7-1406c11e7532","html_url":"https://github.com/jaennova/kotlin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaennova%2Fkotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaennova%2Fkotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaennova%2Fkotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaennova%2Fkotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaennova","download_url":"https://codeload.github.com/jaennova/kotlin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235233253,"owners_count":18957066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2025-01-23T06:16:20.981Z","updated_at":"2025-01-23T06:16:21.576Z","avatar_url":"https://github.com/jaennova.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aprende Kotlin con ejercicios\n\n![kotlin](https://socialify.git.ci/jaennova/kotlin/image?font=Source%20Code%20Pro\u0026forks=1\u0026language=1\u0026logo=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F7%2F74%2FKotlin_Icon.png%2F900px-Kotlin_Icon.png\u0026name=1\u0026owner=1\u0026pattern=Solid\u0026stargazers=1\u0026theme=Auto)\n  ----\n\n## Indice\n\n- [Aprende Kotlin con ejercicios](#aprende-kotlin-con-ejercicios)\n  - [Indice](#indice)\n  - [Tabla de contenido](#tabla-de-contenido)\n    - [1. Declaración de variables](#1-declaración-de-variables)\n    - [2. Funciones](#2-funciones)\n    - [3. Estructuras condicionales](#3-estructuras-condicionales)\n    - [4. Bucles](#4-bucles)\n  - [Recursos adicionales](#recursos-adicionales)\n    - [Repositorios](#repositorios)\n    - [Usuarios en GitHub](#usuarios-en-github)\n    - [Sitios web](#sitios-web)\n    - [Canales de YouTube](#canales-de-youtube)\n    - [Comunidades](#comunidades)\n  - [Colabora](#colabora)\n   \n\n## Tabla de contenido\n\n### 1. Declaración de variables\n\n\n* Declaración de variables con \"var\" y \"val\":  [[uso]](/1_declaracion_variables/1_declaracion_variables_val_var.md)\n[[enunciados]](/1_declaracion_variables/1_enunciados/1_declaracion_variables_val_var.md) [[mis soluciones]](/soluciones/1_declaracion_variables/1_declaracion_variables_val_var.md)\n* 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)\n* 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)\n* 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)\n* 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)\n* 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)\n* 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)\n* 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)\n* 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)\n* 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)\n\n### 2. Funciones\n\n* Declaración de funciones: [[uso]](/2_funciones/1_declaracion.md) [[enunciados]](/2_funciones/1_declaracion.md)\n* Parámetros y valores de retorno: [[uso]](/2_funciones/enunciados/2_parametros_retorno.md)[[enunciados]](/2_funciones/2_parametros_retorno.md)\n* Funciones con valores por defecto: [[uso]](/2_funciones/3_valores_defecto.md) [[enunciados]](/2_funciones/enunciados/3_valores_defecto.md)\n* Funciones Lambda: [[uso]](/2_funciones/4_lambda.md) [[enunciados]](/2_funciones/enunciados/4_labmda.md)\n\n### 3. Estructuras condicionales\n\n* 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)\n* 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)\n\n### 4. Bucles\n\n* Bucles \"for\": [[uso]](/4_bucles/1_for.md) [[enunciados]](/4_bucles/enunciados/1_for.md) [[mis soluciones]](/soluciones/4_blucles/1_for.md)\n* 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)\n* Bucle \"while\": [[uso]](/4_bucles/3_while.md) [[enunciados]](/4_bucles/enunciados/3_while.md)\n* Bucle \"do-while\": [[uso]](/4_bucles/4_do_while.md) [[enunciados]](/4_bucles/4_do_while.md)\n\n\n---\n\n## Recursos adicionales\n\nAquí encontrarás una lista de recursos adicionales para continuar aprendiendo sobre Kotlin:\n\n### Repositorios\n\n- [Kotlin en GitHub](https://github.com/JetBrains/kotlin)\n- [Awesome Kotlin](https://github.com/KotlinBy/awesome-kotlin)\n- [Weekly Challenge 2022](https://github.com/mouredev/Weekly-Challenge-2022-Kotlin)\n- [Android Roadmap](https://github.com/mouredev/Android-Developer-Roadmap)\n- [50 Android Projects](https://github.com/spkingr/50-android-kotlin-projects-in-100-days)\n- [Android Expert](https://github.com/ArisGuimera/Android-Expert)\n- [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform)\n- [Kotlin Algorithms and Design Patterns](https://github.com/DmitryTsyvtsyn/Kotlin-Algorithms-and-Design-Patterns)\n\n### Usuarios en GitHub\n\nUsuarios en GitHub que crean y/o colaboran en proyectos usando Kotlin\n- [@Aristidevs](https://github.com/arisguimera)\n- [@Mouredev](https://github.com/mouredev)\n- [@RajashekarRaju](https://github.com/RajashekarRaju)\n- [@nisrulz](https://github.com/nisrulz)\n- [@android10](https://github.com/android10)\n- [@skydoves](https://github.com/skydoves)\n- [@antoniolg](https://github.com/antoniolg)\n- [@philipplackner](https://github.com/philipplackner)\n- [@joreilly](https://github.com/joreilly)\n- [@terrakok](https://github.com/terrakok)\n- [@google-developer-training](https://github.com/google-developer-training)\n- [@android](https://github.com/android)\n- [@MohamedRejeb](https://github.com/MohamedRejeb)\n\n\n\n### Sitios web\n\n- [Documentación oficial](https://kotlinlang.org/docs/home.html)\n- [Kotlin Playground](https://play.kotlinlang.org/)\n- [Kotlin Weekly](https://mailchi.mp/kotlinweekly/kotlin-weekly)\n- [Android Kotlin](https://developer.android.com/kotlin?hl=es-419)\n- [Curso Kotlin por @AristiDevs](https://cursokotlin.com/)\n- [Geek for geeks - Kotlin](https://www.geeksforgeeks.org/kotlin-programming-language/)\n\n### Canales de YouTube\n\n- [@AristiDevs](https://www.youtube.com/@AristiDevs)\n- [@DevKiper](https://www.youtube.com/@DevKiper)\n- [@DevExpert](https://www.youtube.com/@devexpert_io)\n- [@Philipp Lackner](https://www.youtube.com/@PhilippLackner)\n- [@Mouredev](https://www.youtube.com/@mouredev)\n- [@SoyGabiMoreno](https://www.youtube.com/@soygabimoreno)\n- [@Kotlin](https://www.youtube.com/@Kotlin)\n\n\n### Comunidades\n\n- [Kotlinlang Slack](https://kotlinlang.slack.com/)\n- [Discord Aristidevs](https://discord.com/channels/807719549075980308/810773260399804417)\n- [Discord Mouredev](https://discord.com/channels/729672926432985098/809390613539061770)\n- [Discord DevKiper](https://discord.com/channels/952285508912943135/986469221825396747)\n- [Discord Programadores y estudiantes](https://discord.com/channels/768278151435386900/1122390294973915176)\n- [Android Dev](https://discord.com/channels/178391822186315777/502383800668389387)\n\n\n## Colabora\n\n¡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)\n\nAdicionalmente, si tienes soluciones para los enunciados que se presentan o quieres agregar nuevos enunciados, sigue estos pasos:\n\n1. **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.\n\n2. **Clona el Repositorio:** Clona tu fork del repositorio a tu máquina local. Utiliza el siguiente comando en tu terminal:\n\n   ```sh\n   git clone https://github.com/jaennova/kotlin.git\n   ```\n\n3. **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\".\n\n   ```sh\n   git checkout -b tu-rama\n   ```\n\n4. **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.\n\n5. **Haz Commit de tus Cambios:** Una vez que hayas realizado tus cambios, haz commit de ellos con un mensaje descriptivo.\n\n   ```sh\n   git add .\n   git commit -m \"solucion tuuser 1\u00261\"\n   ```\n\ndonde `1\u00261` 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:\n\n```sh\ngit add .\ngit commit -m \"solucion tuuser 3\u00262\"\n```\n\n1. **Haz Push de tus Cambios:** Sube tus cambios a tu repositorio en GitHub.\n\n   ```sh\n   git push origin tu-rama\n   ```\n\n2. **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.\n\n¡Y eso es todo! Espero con interés ver tus contribuciones al repositorio.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaennova%2Fkotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaennova%2Fkotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaennova%2Fkotlin/lists"}