Oath Mind

Weblog de ciencia

Anexos Java: Variables

Tipos de variables:

Existen varios tipos de variables en java, y cada uno sirve para almacenar diferente tipo y cantidad de información:

NUMÉRICAS:
Byte(byte): variable que almacena números enteros entre -128 y 127

Short(short): variable que almacena números enteros entre -32768 y 32767

Integer(int): variable que almacena números enteros entre -2147483648 y 2147483647

Long ( long): variable que almacena números enteros entre -9223372036854775808 y 9223372036854775807

Float(float): variable que almacena números en coma flotante(vamos, con decimales) entre 1.4 * 10 ^ -45 y 3.4028235 * 10 ^ 38

Double(double): variable que almacena números en coma flotante(vamos, con decimales) entre 4.9 * 10 ^ -324 y 1.7976931348623157 * 10 ^ 308

IMPORTANTE: tanto los float como los double, los valores indicados es el máximo y el mínimo en el caso de que sea un numero entero, si es un numero decimal, la cosa se complica, Todo esto estará mas especificado los anexos para float y double.

Estos son los tipos numéricos, y a la practica, solo usaremos los integer, y los double, para enteros y para decimales, y en algunos casos, los long.
Destacar que es importante no usar double o float a no ser que necesitemos decimales, si no los requerimos, es mucho mas recomendable usar integers, el motivo es debido a que los calculos con decimales en binario son muy complejos y en grandes cantidades puede producir errores.

También cabe destacar, una característica de las variables numéricas que seguramente os estaréis preguntando, que pasa si…. tengo un integer de valor 2147483647 y decido sumarle 1. Pues los ingenieros de Sun, decidieron que, en lugar de dar error o simplemente k la suma no se efectuara etc… pues eligieron que el principio i el fin estuvieran.. “conectados” es decir, si hacemos lo de antes, 2147483647 + 1, nos dará -2147483648, es decir, el mínimo, así mismo, si sumáramos dos seria 2147483647 + 2 = -2147483647, y así sucesivamente.

CONDICIONALES:
Boolean(boolean): es un operador lógico, su valor puede ser o true, o false.

TEXTO:
character(char): puede almacenar un carácter. Se puede interpretar como un int, dando el valor numérico en base 10 del carácter según la tabla ASCII.


Creative Commons License
This obra by
Oathmind is licensed under a
Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 España License

Comments

  1. Abril 3rd, 2009 | 14:48

    El motivo para no usar float o double no es sólo operaciones. Simplemente al almacenar un número se está perdiendo precisión. Y esto es inherente al sistema.

    http://www.scribd.com/doc/5836/What-Every-Computer-Scientist-Should-Know-About-FloatingPoint-Arithmetic

    Por otra parte, las variables booleanas no son operadores lógicos.

    Un saludo.

  2. Abril 3rd, 2009 | 17:30

    Primero de todo, gracias Serabe por comentar y ampliar mi información.

    Y ya de paso, comento que el propósito de este post es que voy a realizar un manual de iniciación a Java. Es por eso que todos los temas más técnicos y detallistas de las variables y operadores, etc. serán comentados en sus propios anexos.

    Respecto a lo comentado que los booleanos no son operadores lógicos, te doy la razón; el hecho de que lo haya expuesto así es que el curso estará dirigido a personas que empiecen de cero en el campo de la programación. Este post es sólo un anexo del manual que será usado para referencia rápida, y por eso he decidido llamarlo “operador lógico”; es más, el siguiente anexo que voy a publicar trata sobre operadores, y ahí sí que apareceran los verdaderos operadores lógicos. (Sí, ya se que es raro empezar el manual por lo anexos :P )

    De nuevo, gracias, y espero tus futuras críticas y aportaciones, que siempre son de ayuda :)

    Un saludo

  3. Spin
    Abril 3rd, 2009 | 18:28

    Mmm, lo de los fallos cuando trabajas con coma flotante no es que de errores con muchos cálculos… con pocos también los da >.

  4. Abril 3rd, 2009 | 21:10

    Correcto :p
    Pero como he dicho, “Todo esto estará más especificado en los anexos para float y double.” xDD
    El problema realmente, como bien ha dicho Serabe, reside en la forma de almacenar los coma flotantes, así que sí, con una simple suma el resultado puede ser erroneo; es más, hay varios ejemplos de sumas de nivel de sexto de primaria que las hace mal. Ya tengo algunos ejemplos preparados que expondré en el anexo de double.

Leave a reply