{"id":345,"date":"2023-08-29T10:21:04","date_gmt":"2023-08-29T10:21:04","guid":{"rendered":"https:\/\/javigomez.org\/?p=345"},"modified":"2025-09-29T20:34:09","modified_gmt":"2025-09-29T20:34:09","slug":"01-kotlin-instalacion-de-android-studio-y-variables","status":"publish","type":"post","link":"https:\/\/javigomez.org\/index.php\/2023\/08\/29\/01-kotlin-instalacion-de-android-studio-y-variables\/","title":{"rendered":"01. Kotlin &#8211; Instalaci\u00f3n de Android Studio y Variables"},"content":{"rendered":"\n<p>A continuaci\u00f3n, publico una serie de videos en donde se ve la instalaci\u00f3n de Android Studio, la creaci\u00f3n de un primer proyecto y como se definen las variables en Kotlin<\/p>\n\n\n\n<p><strong>01 &#8211; Instalaci\u00f3n de Android Studio<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U01 01 Instalaci\u00f3n Android Studio\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/XzLcGhFgbSM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>02 &#8211; Tipos de definici\u00f3n de variables<\/strong><\/p>\n\n\n\n<p><strong>var<\/strong><strong>:<\/strong><\/p>\n\n\n\n<p>La palabra clave var se utiliza para declarar variables mutables, lo que significa que su valor se puede cambiar despu\u00e9s de su inicializaci\u00f3n.<\/p>\n\n\n\n<p>var nombre = &#8220;Juan&#8221;<\/p>\n\n\n\n<p>nombre = &#8220;Pedro\u201c<\/p>\n\n\n\n<p>En el ejemplo anterior, se declara una variable llamada nombre y se le asigna el valor &#8220;Juan&#8221;. Luego, se cambia el valor de la variable a &#8220;Pedro&#8221; utilizando la asignaci\u00f3n (=).<\/p>\n\n\n\n<p><strong>val:<\/strong><\/p>\n\n\n\n<p>La palabra clave val se utiliza para declarar variables inmutables, lo que significa que su valor no puede cambiar despu\u00e9s de su inicializaci\u00f3n.<\/p>\n\n\n\n<p>val pi = 3.1416<\/p>\n\n\n\n<p>En el ejemplo anterior, se declara una variable llamada pi y se le asigna el valor de 3.1416. Como se utiliza val, no se puede cambiar el valor de pi posteriormente en el c\u00f3digo.<\/p>\n\n\n\n<p><strong>const<\/strong><strong>:<\/strong><\/p>\n\n\n\n<p>La palabra clave const se utiliza para declarar variables constantes en tiempo de compilaci\u00f3n. Estas variables son siempre inmutables y deben ser inicializadas con un valor constante conocido en tiempo de compilaci\u00f3n.<\/p>\n\n\n\n<p>No pueden declararse dentro de una funci\u00f3n, siempre deben ser globales<\/p>\n\n\n\n<p>const val nombre = &#8220;Juan\u201c<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U01 02 Tipos de definici\u00f3n de Variables\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/SZi-ENSRhjY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>03- Tipos de variables<\/strong><\/p>\n\n\n\n<p>\u2022<strong>Integer<\/strong><\/p>\n\n\n\n<p>Dentro de las enteras encontramos las variables&nbsp;<strong>Int<\/strong>, que es la m\u00e1s b\u00e1sica que usaremos, en la cual podremos insertar n\u00fameros naturales, pero hay una limitaci\u00f3n. Con una variable de tipo&nbsp;<strong>Int<\/strong>&nbsp;no podemos pasar de<strong>&nbsp;-2,147,483,647 a<\/strong>&nbsp;<strong>2,147,483,647<\/strong>. Este ser\u00e1 el n\u00famero m\u00e1ximo y m\u00ednimo que soportar\u00e1.<\/p>\n\n\n\n<p><strong>var<\/strong> numeroFavorito: Int = -231<\/p>\n\n\n\n<p>\u2022<strong>Long<\/strong><\/p>\n\n\n\n<p>B\u00e1sicamente es igual que&nbsp;<strong>Int<\/strong>, a diferencia de que soporta un rango mayor de n\u00fameros, de<strong>&nbsp;-9,223,372,036,854,775,807 a 9,223,372,036,854,775,807<\/strong>.<\/p>\n\n\n\n<p><strong>var<\/strong> numeroFavorito: Long = 47483647<\/p>\n\n\n\n<p>\u2022<strong>Float<\/strong><\/p>\n\n\n\n<p>Llegamos a las variables reales. A diferencia de las anteriores, estas pueden almacenar decimales. Float soporta hasta 6 decimales, pero tambi\u00e9n puede trabajar con n\u00fameros enteros. Esta variable cambia un poco respecto a las dem\u00e1s, pues habr\u00e1 que meter una \u00abf\u00bb al final del valor.<\/p>\n\n\n\n<p><strong>var<\/strong> numeroFavorito: Float = 1.93f<\/p>\n\n\n\n<p>\u2022<strong>Double<\/strong><\/p>\n\n\n\n<p>Terminamos con las variables num\u00e9ricas con los\u00a0<strong>Double<\/strong>. Muy similar a float pero soporta hasta 14 decimales, pero tambi\u00e9n ocupa m\u00e1s memoria as\u00ed que para un c\u00f3digo \u00f3ptimo deberemos pensar que tipo ser\u00e1 el que m\u00e1s se adapte a nuestro proyecto. \u00a0Tampoco habr\u00e1 que a\u00f1adir ning\u00fan tipo de letra al final del valor.<\/p>\n\n\n\n<p><strong>var<\/strong> numeroFavorito: Double= 1.932214124<\/p>\n\n\n\n<p>\u2022<strong>Char<\/strong><\/p>\n\n\n\n<p>La variable Char nos permitir\u00e1 guardar un car\u00e1cter de cualquier tipo, lo \u00fanico que debemos tener en cuenta es que va entre comillas simples.<\/p>\n\n\n\n<p><strong>var<\/strong> numeroFavorito: Char = &#8216;1&#8217;<\/p>\n\n\n\n<p><strong>var<\/strong> letraFavorita: Char = \u2018q\u2019<\/p>\n\n\n\n<p><strong>var<\/strong> caracterFavorito: Char = \u2018@\u2019<\/p>\n\n\n\n<p>Como pod\u00e9is ver dentro de una variable&nbsp;<strong>Char<\/strong>&nbsp;podemos almacenar cualquier cosa.<\/p>\n\n\n\n<p>\u2022<strong>String<\/strong><\/p>\n\n\n\n<p>La variable&nbsp;<strong>String<\/strong>&nbsp;ser\u00e1 la que m\u00e1s usemos como norma general, nos permite almacenar cualquier tipo de caracteres, pero a diferencia del&nbsp;<strong>Char<\/strong>, podemos a\u00f1adir la cantidad que queramos. Para ser exactos, una&nbsp;<strong>String<\/strong>&nbsp;no es m\u00e1s que una cadena de&nbsp;<strong>Char<\/strong>. Las cadenas deber\u00e1n ir entre comillas dobles.<\/p>\n\n\n\n<p><strong>var<\/strong> numeroFavorito: String = &#8220;Mi n\u00famero favorito es el 3&#8221;<\/p>\n\n\n\n<p><strong>var<\/strong> test: String = &#8220;Test. 12345!\u00b7$%&amp;\/\u201c<\/p>\n\n\n\n<p><strong>VARIABLES&nbsp;Booleanas<\/strong><\/p>\n\n\n\n<p>Nos queda una \u00faltima variable muy sencilla, pero a la vez muy pr\u00e1ctica. Se tratan de los&nbsp;<strong>Booleanos<\/strong>.<\/p>\n\n\n\n<p>\u2022<strong>Boolean<\/strong><\/p>\n\n\n\n<p>Los Booleanos son variables que solo pueden ser verdaderas o falsas (true o false). Su uso es muy amplio, cuando trabajemos con las condiciones veremos m\u00e1s a fondo este tema. Para asignar un valor basta con a\u00f1adir true o false sin comillas.<\/p>\n\n\n\n<p><strong>var<\/strong> estoyTriste: Boolean = <strong>false<\/strong><\/p>\n\n\n\n<p><strong>var<\/strong> estoyFeliz: Boolean = <strong>true<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U01 03 Tipos de Variables\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/0lxf225TdVc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>04- Nullables<\/strong><\/p>\n\n\n\n<p>Para declarar un tipo nullable en Kotlin, se utiliza el operador ? despu\u00e9s del tipo. Por ejemplo:<\/p>\n\n\n\n<p>var nombre: String? = &#8220;John&#8221;<\/p>\n\n\n\n<p>var edad: Int? = null<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fun main() {\n    var texto:String? = null\n    var longitud:Int? = texto?.length\n    print(longitud)\n}<\/code><\/pre>\n\n\n\n<p>El operador elvis permite dar devolver un valor si el la variable es nula y realizar una operaci\u00f3n si no es nula<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fun main() {\n    var nombre:String? =null\n    val nombreEnMayusculas: String = nombre?.uppercase() ?: \u201ces null\"\n    print(nombreEnMayusculas)\n}\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U01 04 Nullables\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/ikuQGGP5owk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>A continuaci\u00f3n, publico una serie de videos en donde se ve la instalaci\u00f3n de Android Studio, la creaci\u00f3n de un primer proyecto y como se &hellip; <\/p>\n","protected":false},"author":1,"featured_media":347,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-345","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kotlin"],"_links":{"self":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/comments?post=345"}],"version-history":[{"count":1,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/345\/revisions"}],"predecessor-version":[{"id":946,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/345\/revisions\/946"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media\/347"}],"wp:attachment":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media?parent=345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/categories?post=345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/tags?post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}