Variables... no lo entiendo.

Iniciado por Ori-chan, 25 Febrero 2013, 21:27 PM

0 Miembros y 1 Visitante están viendo este tema.

Ori-chan

El caso es que por mucho que busque en google no lo pillo.

Se que hay muchos tipos de variables, pero no se qie diferencia tienen unas de otras. Y tampoco he encontrado cuales son fijas (las que permanecen en la memoria del ordenador) y cuales no (las que desaparecen cuando cierras el programa o le das la orden de desaparecer).




Un saludo y gracias por leer!!  ;D





jdc

Las fijas serían constantes y son valores que no cambian.

Las variables se llaman así porque son datos que cambian.

Supongamos que quieres que se sumen 2 valores, necesitarias 3 variables para hacerlo, los sumándos y el resultado, por ejemplo a+b=x te fijas? Con eso asignas distintos datos a a y b y la suma se guardará en x.

Respecto al tipo necesitas para este caso numeros (enteros, dobles, etc), la gracia de esto es que al asignarlo como entero por ejemplo tendrás funciones propias del lenguaje para enteros, piénsalo de la siguiente forma, cuando a ti te dicen cuanto es 2+2 inconscientemente sabes que son numeros y se pueden sumar y dar 4, al pc tienes que decirle que son enteros y no cadenas de texto por ejemplo ya que si sumas 2 cadenas de texto en ves de 4 el computador te diría que es 22 ya que sólo concatenaria en vez de sumar.

Ori-chan

Gracias por la explicacion! Ahora lo tengo mas claro. Pero sigen habiendo muchas variables que sirven para lo mismo, entonces, ¿Por que hay tantas que hacen lo mismo?.


jdc

Nombra algunas y te respondo, por ejemplo puedes tener 2 variables numéricas, pero una soporta decimales y la otra no, una puede soportar 20 caracteres y la otra 40, todo dependerá de que quieras o necesites almacenar en ella o lo exacta que necesites que sea.

Oblivi0n

Las constantes son valores , que como bien dicen arriba, no van a cambiar durante la ejecución del programa, por ejemplo, tamaños de arrays (arrays que van a ser fijo durante todo el programa). Constantes como PI (3.1415....), etc etc.

las constantes en java suelen declararse : public static final <tipoDato> <nombreVariable> = <valor>

Suelen declararse como un atributo de clase, y públicas, por si necesitas usarlas en otras clases. El static es por el mismo tema, para poder usar la constante sin tener que instanciar la clase. El final es el operador que le dice al compilador que ese valor no va a cambiar nunca.

El resto de variables son de la forma <declarador de acceso> <static (opcional)> <tipoDato> <nombreVariable> = <valor>

Los tipos de datos mas usados en Java para variables son, String, char, int, double y float (o sus clases Wrapper -> (Char, Integer, Double y Float)). Cada una almacena un tipo de datos diferente, sus nombres son bastante descriptivos xD.

Cuano no sepas que tipo de variable usar puedes preguntart e : 1) es una variable de clase?, es decir, voy a usar esta variable en múltiples metodos? Entonces esta variable irá al inicio de la clase, en la declaracion de atributos. Una vez tengas declarada la variable piensa. ¿ Quien necesita ver esta variable ?. En un principio, los patrones de diseño de java dicen que ningún atributo de clase ha de ser publico, sino que has de programar sus " setters ", y " getters ", es decir, metodos que establezcan valores, o devuelvan valores de esa variable.

En algunos casos, puedes poner su declarador de acceso como "protected", esto hace que puedan trabajar con esa variable todas las clases que están en el mismo paquete.

En caso de que la variable solo vaya a ser usada dentro de un metodo, esta no lleva declaradores de acceso (es decir, nu public, ni private ni protected). Esto es porque las variables de metodo, mueren según acaba el metodo, y no se pueden usar desde ningún otro.

Suelen ser variables auxiliares, que sirven para almacenar datos temporalmente hasta llegar al resultad final

1mpuls0

Cita de: jdc en 26 Febrero 2013, 08:54 AM
Nombra algunas y te respondo, por ejemplo puedes tener 2 variables numéricas, pero una soporta decimales y la otra no, una puede soportar 20 caracteres y la otra 40, todo dependerá de que quieras o necesites almacenar en ella o lo exacta que necesites que sea.

Perdón que te corrija pero estas equivocado no es por la cantidad de caracteres sino por el espacio (bits) de memoria que el número o cantidad (tipo de variable o dato primitivo) ocupa en memoria.

http://www.codexion.com/tutorialesjava/java/nutsandbolts/datatypes.html

Saludos.
abc

Ori-chan

No tengo mas dudas. Gracias por la ayuda!