hola que tal bienvenidos a todos a una nueva entrega de este curso de programación en java desde cero estamos en los comienzos del curso y nos encontrábamos viendo en el vídeo anterior las estructuras principales del lenguaje vimos la anatomía de un programa java vimos que un programa pues está compuesto de una clase abordaremos en un futuro en profundidad el concepto de clase y vamos a continuar en este vídeo tratando pues más estructuras principales del lenguaje concretamente vamos a abordar en este vídeo el tema del almacenamiento de información a la hora de programar en java porque hay que almacenar información y cómo se almacena esta información en el lenguaje java mira yo aprender a programar lo comparo siempre pues con sacarse el carnet de conducir da igual el lenguaje de programación que estés aprendiendo la comparación a mí me parece válida en cualquier lenguaje sé que me escucháis desde muchos sitios diferentes del globo y bueno pues sacarse el carnet de conducir para poder conducir un coche o manejar un carro como decís en latinoamérica pues no es igual en todos los países pero aquí en españa desde donde os hablo para poder conducir un coche primero tienes que aprobar un examen teórico y sólo cuando apruebas examen teórico pues puedes ponerte a los mandos de un volante y examinar te entonces que otro examen más el práctico y cuando apruebas los dos pues entonces ya puedes conducir qué es lo que vas persiguiendo pero el orden es ese primero tienes que aprobar el examen teórico y después tienes que aprobar el examen práctico bueno por lo menos así era hace un porrón de años cuando yo lo hice no pues aprender a programar es igual y crear un programa funcional para crear una aplicación en este caso en java que es lo que perseguimos todos pues primero tienes que conocer una serie de términos tienes que conocer la sintaxis del lenguaje de programación y esto yo lo comparo como el examen teórico de conducir a nadie le gusta por lo menos a nadie que yo conozca toda la teoría que te enseñan en las autoescuelas antes de ponerte a los mandos de un volante no tienes que aprender el significado de todas las señales que señales tienen prioridad o preferencia respecto a otras las reglas de circulación en fin una serie de conceptos teóricos que son tremendamente aburridos o por lo menos a mí así me lo parecieron pero todo con el objetivo final de poder conducir un coche no se concibe que una persona que no se sepa las reglas de circulación las señales y todo este tipo de cosas se pongan los mandos de un volante luego cuando conduces descubres que sí que los hay no son en principio no se concibe bueno pues el programar es exactamente igual no puedes crear un programa funcional sin antes conocer pues toda la teoría en los lenguajes de programación esta teoría pues son las reglas de sintaxis tipos de datos del lenguaje de programación declaración de variables construcción de condicionales construcción de bucles tratar los arrays matrices o arreglos todo este tipo de cosas pues es imprescindible conocerlas antes de hacer nada útil y esto en java se ve de manera muy clara vamos a tener en estos primeros vídeos que pasar una especie de travesía por el desierto donde tendremos que aprender toda la sintaxis de este lenguaje de programación y no vamos a hacer nada útil por desgracia porque no podemos hasta que hayan transcurrido unos cuantos sueños pero bueno yo intentaré hacerlo lo más ameno posible por donde tenemos que empezar a la hora de aprender a programar en java a la hora de ver cómo se almacena la información bueno pues tenemos que empezar por ver los tipos de datos en el lenguaje de programación java lo que se conoce como tipos primitivos en programación los tipos primitivos de los diferentes lenguajes de programación no son los mismos es decir por ejemplo visual basic tiene unos tipos primitivos temas más césar tiene otros tipos primitivos y java pues tiene sus tipos primitivos y estos varían dependiendo del lenguaje cuáles son los tipos de datos primitivos es decir los tipos de datos que manejamos a la hora de programar en java son 8 y se dividen de la siguiente forma en java podemos manejar tipos de datos enteros es decir números enteros como por ejemplo número siete el número 17.000 el 35.528 todo esto serían datos de tipo entero ahora bien en java estos datos de tipo entero se subdividen a su vez en los siguientes tipos dependiendo de lo grande o pequeño que sea ese número por ejemplo tenemos lo que se conocen como datos de tipo int los datos de tipo int en java son aquellos que pues van desde este número que veis aquí 2.147 millones etcétera etcétera negativo hasta el 2000 2000 millones 147 mil etcétera pues por ejemplo el número 7 está comprendido entre estos dos números luego entonces el 7 podría ser un dato de tipo int pero también por ejemplo el número pues yo que sé un millón quinientos mil 569 por poner un ejemplo también está entre esos dos números luego entonces este número también es un dato de tipo y no además de estos datos de tipo in por cierto no he mencionado aunque lo veis en la presentación cuando nosotros manejamos un dato de tipo int estamos reservando ahora hablaremos de esto que es muy importante 4 bits de espacio en la memoria del pp para almacenar ese dato pero este concepto que es muy importante lo veremos ahora después también tenemos los enteros sort que son aquellos números que están comprendidos entre el menos 32 mil 768 hasta el 32 mil 767 positivos por ejemplo pues igualmente el 7 también puede ser considerado un dato de tipo short podemos considerar también un short pues por ejemplo el número 500 sin embargo el número que puesto anteriormente un millón quinientos mil 569 hoy que fuera esto ya no es un dato del tipo short porque este número no está entre los dos que corresponde a un dato de tipo short se sale de rango este dato sí que podría ser un dato de tipo pero no puede ser un dato de tipo son también tenemos los datos de tipo long bueno pues estos son unos en números muy grandes desde un número muy grande negativo que ni siquiera me tomado la molestia de ponerlo lo podéis buscar en google si queréis a una barbaridad de número positivo y tienen la particularidad en java de que cuando vas a especificar que un dato es de tipo long tienes que poner un sufijo l para indicar además que ese dato es de tipo log por ejemplo se me ocurre 5000 millones bueno pues a continuación tienes que poner una l tal y como veis en pantalla para especificar que este dato es de tipo long y luego tenemos otro tipo más es el tiempo aid que es para representar números desde el menos 128 hasta el 127 por ejemplo el número 35 pues podría ser considerado un byte aunque también podría ser considerado un long porque también se encuentra entre los valores del log también podría ser considerado un short y también podría ser considerado un in este número en concreto el 35 cumple pues con el rango de todos los tipos de datos enteros sin embargo pues otro número como por ejemplo en el 500 pues esto no es un dato de tipo byte sí que puede serlo sí que puede ser sort y también puede ser en eurobike no porque se sale de rango y en principio pues estos son los tipos de datos enteros que podemos manejar en java and short blog y bike en cuanto al espacio que utiliza java a la hora de almacenar estos datos pues no ves en pantalla cuatro bases para el ir dos bytes para él son ocho bytes para el long hyundai para el baile también podemos manejar números decimales en java por supuesto porque esto es para enteros entonces los números decimales denominados en programación coma flotante aquí vemos un poquito de jerga de programación cuando veáis en un libro pues este término de coma flotante están haciendo referencia a números decimales bueno pues podemos manejar en java principalmente dos los datos de tipo float que son aquellos decimales que tienen la parte flotante es decir la parte decimal pues más o menos corta y digo más o menos porque fijaos que aproximadamente un float tiene de seis a siete cifras decimales significativas no he puesto el número en concreto pues porque es un número imposible de memorizar y lo veo absurdo si queréis ver y horquilla de números decimales abarca un dato de tipo floja pues podéis consultar en google si queréis no la característica que tienen estos números es que al igual que ocurría con los long que teníamos que ponerle el sufijo l podríamos con estos tenemos que poner el sufijo efe por ejemplo un número float podría ser el 3,25 pero sí va a ser float le tienes que poner a continuación una f de esta forma representamos en java un dato de tipo global y luego tenemos los abel que es exactamente lo mismo para representar datos de tipo decimal números del tipo decimal pero con una parte decimal muy larga es decir estos permiten pues tener hasta 15 cifras decimales significativas por poner un ejemplo bueno pues vamos a ver si me cabe aquí debajo este número pues podría ser perfectamente un double este no lleva sufijo de ningún tipo dependiendo del dato que vayas a manejar y si lo quieres representar con mayor o menor precisión utilizarás un dato o utilizarás otro siguiente tipo de datos pues el char que es para representar caracteres por ejemplo si nosotros queremos representar pues la a sería representada de la siguiente forma y hay que señalar que los datos de tipo char tienen que ir entre comillas simple tal y como he representado yo ahora mismo pues este carácter otro ejemplo pues podría ser pues la zeta este sería otro dato de tipo char y aquí para hablar de los chares entraríamos en un universo nuevo porque el el tipo de dato char sirve para representar cualquier carácter único de y digo que entramos en un universo nuevo en el que no voy a entrar yo porque si nos ponemos a hablar único de necesitamos un curso sólo para hablar de eso es un tema denso largo y queda pues mucho para hablar lo mismo si alguien tiene interés pues que busque información en la red acerca de los datos de tipo char acerca de los caracteres único de y descubrirá una historia apasionante con el tema de los caracteres al menos a mí me lo parece pero no vamos a comentar en este curso y para finalizar pues tenemos en java los datos de tipo lean los datos llamados lógicos que solamente pueden tener dos valores un dato de tipo william puede ser un club o falso es decir lo verdadero de lo falso falso y estos tipos de datos normalmente se suelen utilizar para evaluar condiciones normalmente y con esto pues hemos terminado de ver los tipos primitivos en java aquellos que vengáis de otros lenguajes de programación seguramente os estaréis preguntando y los datos de tipo fecha y los datos de tipo texto no los hay que son caracteres sino una cadena de texto bueno pues eso en java no es considerado tipo primitivo sino que es considerado objeto es otra cosa diferente y que abordaremos en su momento por ejemplo la fecha de nacimiento de una persona se considera un objeto de tipo day y una cadena de texto como por ejemplo hola alumnos el texto que pusimos en el vídeo anterior dentro de nuestro primer programa en java se considera uno objeto de tipo string pero como digo esto pues hablaremos de ello más adelante aquellos que estáis comenzando a programar no intentéis aprenderlos esto de memoria porque esto uno lo va aprendiendo con el uso si me intentáis aprender de memoria pues os vais a aburrir enseguida siguiente concepto fundamental a la hora de poder almacenar información en java una vez que hemos visto los tipos de datos tenemos que ver el concepto de variable qué es una variable para qué sirve cómo se construyen en java bueno la definición de variable es la misma para cualquier lenguaje de programación la definición de variable es espacio en la memoria del ordenador donde se almacenará un valor que podrá cambiar durante la ejecución de un programa es decir el valor que se almacena en una variable puede cambiar durante la ejecución de ahí el nombre variable porque puede variar cuál es el significado de esto bueno pues una variable yo pongo el siguiente ejemplo para que haya gente que está comenzando a programar es como una especie de cajón donde tú vas guardando valores por ejemplo el número 7 no es decir si tú vas a manejar un dato de tipo entero como por ejemplo número 7 es probable que necesites almacenarlos lo almacenará en una variable una especie de cajón para almacenar valores no bueno porque hay que utilizar variables a la hora de crear un programa da igual el lenguaje de programación que utilices y java pues ocurre esto por supuesto surge la necesidad de guardar datos temporalmente y utilizarás en el futuro en ese mismo programa ya lo verás esto los que sabéis programar lo tenéis más que sabido cómo se crea una variable en java bueno pues aquí ya entramos en las características de cada lenguaje de programación en java hay que especificar el tipo de dato que almacenará esa variable en su interior más el nombre de la variable y aquí tenéis un primer ejemplo de lo que sería una declaración de variable en java int salario el tipo de dato que va a almacenar esa variable es decir ese espacio en la memoria del ordenador ese cajón va a ser un dato de tipo en un pero y el nombre de esa variable es decir como la identificamos es salario y así es como se declaran estaba veremos que hay más formas de declarar una variable es iniciar una variable iniciar una variable es darle un valor porque con la instrucción anterior con lo que hemos hecho antes tan sólo la hemos declarado es decir al poner en java instalar yo lo que estamos haciendo es reservar un espacio en la memoria pero no hay nada dentro de ese espacio iniciar una variable es una vez que está el espacio creado meter dentro el valor correspondiente eso es iniciar una variable y en java para iniciar una variable bueno pues lo que hay que hacer es poner el nombre de la variable y un igual y el valor que vas a almacenar en su interior el lenguaje de programación java al contrario que otros lenguajes no permite utilizar variables que no se hayan iniciado java es un lenguaje de programación tremendamente estricto con los tipos de datos y con la declaración de variables así como hay otros lenguajes como por ejemplo bbva que son muchísimos más permisivos java no lo es entonces no puedes utilizar una variable que no hayas iniciado es decir que no le hayas dado valor y para explicar todo esto de las variables declaración de variables iniciación de variables bueno pues he preparado una pequeña animación muy breve porque considero que esto a la hora de empezar a programar es fundamental el conocerlo bueno pues imaginaos que nosotros estamos programando en java por poner un ejemplo en un ordenador no es una variable una variable como he dicho anteriormente es un espacio en la memoria del ordenador donde se almacenará un valor y ese valor podrá cambiarlo cuando hablamos de la memoria del ordenador estamos hablando de la memoria ram no estamos hablando no lo confundáis con el espacio en el disco duro en el disco duro no almacenamos la declaración de las variables las variables se almacenan siempre en la ram del ordenador la memoria ram del ordenador algunos ordenadores tienen más otros tienen menos os he puesto un ejemplo en pantalla pues de un ordenador que tiene 4 gigabytes no es una memoria volátil qué quiere decir eso bueno pues quiere decir que lo que se almacene en esta memoria se borra automáticamente cuando apagas el ordenador o si accidentalmente se corta la corriente para que utiliza un ordenador la memoria ram y esto es importante saberlo a la hora de empezar a programar podéis pensar que quizás esto tiene poco que ver con la programación en java los que queráis ir al grano pero tienen mucho que ver porque hay muchos programadores por ahí declarando variables y no saben lo que están haciendo luego tienen problemas de desbordamientos de corrupción de memoria o de lentitud y no saben por qué la ram un ordenador la utiliza para procesos internos es decir nosotros cuando arrancamos un ordenador simplemente por el hecho de arrancar el ordenador ya estamos ocupando mientras va arrancando un espacio en esa memoria ram y nosotros mientras vamos abriendo aplicaciones para empezar a trabajar uno abre pues yo que sé por ejemplo el gestor de correo uno abre un procesador de textos mientras vas abriendo programas esa memoria ram se va ocupando porque el ordenador la utiliza para procesos internos de manejo de aplicaciones fundamentalmente y de procesos en segundo plano con lo cual cuando tú te pones a programar realmente no tienes disponible toda la rama de tu ordenador sino que tendrás algo menos que no sabemos muy bien cuánto es por qué parte de esa memoria pues está ocupada por procesos del ordenador centrémonos en una pequeña porción y hagamos un zoom de esa memoria imaginaos que pues entramos aumentando el zoom en parte de la memoria del ordenador y bueno pues descubrimos aquí que tenemos disponible pues entre otras cosas este trozo de memoria es lo que ocurre cuando nosotros declaramos e iniciamos una variable mirar esto es lo que se llama una declaración de iniciación en la misma línea podemos declarar una variable en java poniendo el tipo de dato y el nombre de la variable y después más adelante tal y como hemos visto la presentación iniciando la esto sería una forma de declarar el iniciar variables en java y podemos acceder lo mismo en una única línea lo cual simplifica el código siempre que tengas claro cuál es el valor de iniciación con lo cual podemos declarar variables de una forma o de otra el caso es que cuando nosotros declaramos una variable como por ejemplo int num lo que estamos haciendo es reservar un espacio la memoria del ordenador y cuando la iniciamos un igual a 5 lo que estamos haciendo es almacenar el valor en el interior de ese espacio en la memoria si lo hacemos todo en una línea pues estamos haciéndolo todo a la vez no estamos reservando un espacio y almacenando el valor en el ínter esta es una variable de tipo entero recordamos que los datos de tipo entero en java pueden ir del menos 2 mil millones y pico hasta el 2000 millones positivos qué ocurre cuando nosotros declaramos una variable de tipo log bueno pues cuando nosotros declaramos una variable de tipo long lo que ocurre es lo mismo sin embargo estamos reservando dentro de la memoria del ordenador un espacio mayor como podéis ver en pantalla y si además de declarar la variable de tipo long la iniciamos en la misma línea pues estamos descubriendo que estamos desperdiciando demasiado espacio para almacenar un número el 5 que quizás no necesita tanto espacio esto el lenguaje de programación lo permite si no hay ningún problema ahora bien estamos optimizando los recursos del ordenador cuando programamos de esta forma no es decir si yo voy a manejar datos pequeños el número 5 el 7 15 lo suyo es que utilices el tipo de dato más ajustado al valor que estás escribiendo y long pues no serían los más adecuados quizás para almacenar un 5 el más adecuado sería el bike bike y un igual a 5 esto sería lo más apropiado en este caso ahora bien a la hora de programar pues uno posee si tiene que intentar ser lo más estricto posible pues con el tamaño de los datos pero para no estar constantemente preocupado de estas cosas como los ordenadores de hoy en día son potentes y traen bastante ram con lo cual bueno pues vamos a tener mucho espacio para nuestros programas se suele utilizar un tipo de dato comodín cuando hablamos de números enteros que es el kin es decir a pesar de que vas a manejar el número 5 bueno pues lo declaras como en en los suyos declararlo como bytes o como sort sí pero bueno es cierto que estás consumiendo más recursos de los necesarios pero quizás si tu programa no es extremadamente complejo el ordenador no lo va a notar pero qué ocurre si todos todas las variables que tú vayas a crear en un lenguaje en un programa perdón las declaras como long es decir imagínate que haces una aplicación muy compleja y te da por declarar todas las variables como lo que ocurre en este caso bueno pues en ese caso lo que usted es que si volvemos otra vez a la pantalla de la ram si tú declaras una variable o todas las variables como enteros es decir imagínate que es un programa y tienes mil variables y las declaras todas como enteras estás consumiendo x recursos como podéis ver de tu memoria ram con lo cual lo que nos queda disponible es todo lo que ves a continuación sin embargo en ese mismo programa si en vez de declarar todas las variables como en las de claras como long lo que estás haciendo es reservar más espacio del necesario para almacenar la información que necesitas o no puedan lo que estás haciendo es consumir pues muchos más recursos en la memoria del ordenador con lo cual te queda menos espacio disponible esto en que se traduce se traduce en que tu ordenador va a ir más lento tu aplicación java va a ir más lenta porque estás consumiendo muchos recursos de la rama y le dejas a tu ordenador o carral libre para que funcione el sistema operativo aplicaciones abiertas procesos en segundo plano etc y aquí viene la explicación de por qué hay que optimizar lo más posible el tamaño de las variables y a pesar de que esto es así como he comentado hace un instante bueno pues se utilizan una especie de comodines por ejemplo para datos de tipo entero a no ser que vayas a representar un dato superior a los dos mil millones y pico o inferior a 2.000 millones negativo utilizas el int como comodín no para datos decimales se utiliza el double como comodín y luego bueno pues para datos de tipo se utiliza el sar porque solamente uno y luego está el julián y básicamente pues esto es así y una vez que ya hemos visto qué son los tipos de datos que son las variables cómo se declaran porque hay que ajustar el tipo de variable a la información que va a guardar en su interior como traducimos está en eclipse es decir como declaramos variables en eclipse como trabajamos con tipos de datos como almacenamos información en definitiva bueno pues eso ya lo vamos a dejar para el próximo vídeo que saldrá inmediatamente después de este así que os invito como siempre a que permanezcas atentos a la próxima entrega hasta entonces que os vaya bien