buscador

Visita

martes, 5 de julio de 2016

📍 Actividad 4: 🚀Declaración, inicialización y uso de variables en ☕ Java

Bienvenido al Blog, en esta oportunidad desarrollaremos un tema de introducción al desarrollo de programación orientado a objetos, para entender sobre cómo desarrollar un sistema con el lenguaje java veremos acerca de declaración, inicialización y uso de variables en Java.

 Sobre el contenido …

  • El contenido de este blog tiene como fuente el curso Fundamentos de programación de Oracle.
  • Con algunos agregados del autor "EL INFORMATICO IBERO"

 Identificación de la sintaxis y el uso de las variables

Ø  Las variables se utilizan para almacenar y recuperar datos utilizados por los programas.

Ø  Las variables de atributo (variables declaradas fuera de un método y sin la palabra clave static) también se denominan variables miembro o variables de instancia (por ejemplo, price, shirtID y colorCode en la clase Shirt).

Ø  Cuando se instancia un objeto a partir de una clase, estas variables contienen datos específicos de la instancia.

Ø  Cuando se instancia un objeto de una clase, estas variables se  denominan variables de instancia porque pueden contener datos específicos de una determinada instancia de la clase.

Ø  Por ejemplo, una instancia de la clase Shirt puede tener el valor 7 asignado a la variable de atributo quantityInStock, mientras que otra instancia de la clase Shirt puede tener el valor 100 asignado a la variable de atributo quantityInStock.

Ø  También es posible definir variables dentro de los métodos. Estas variables se denominan locales porque sólo están disponibles en el interior del método en el que se han declarado.

Ø  No se han declarado variables locales en la clase Shirt. No obstante, si se utilizasen variables locales, se declararían en el método displayInformation.

 Uso de las Variables

El lenguaje Java hace amplio uso de las variables para tareas tales como:

  • Almacenar datos de atributo exclusivos de una instancia de objeto (como hemos visto en el caso de las variables price e ID).
  • Asignar el valor de una variable a otra.
  • Representar valores dentro de una expresión matemática.
  • Imprimir los valores en la pantalla. Por ejemplo, la clase Shirt utiliza las variables price e ID para mostrar en la pantalla el precio y el ID de la camisa:

ü  System.out.println("Precio de la camisa: " + price);

ü  System.out.println(“ID de camisa: " + shirtID);

    • Almacenar referencias a otros objetos.

  • Declaración e Inicialización de variables

La declaración e inicialización de variables de atributo se ajusta a las mismas reglas generales. La declaración e inicialización de estas variables sigue esta sintaxis:

Las variables locales pueden declararse e inicializarse por separado (en líneas de código distintas) o en una misma línea de código. La sintaxis para declarar una variable en el interior de un método es:

La sintaxis para inicializar una variable en el interior de un método es: 

Identificación de la sintaxis y el uso de las variables

Ø  Declaración e Inicialización de variables

La sintaxis para declarar e inicializar una variable en el interior de un método es:

  • [modificadores] representa diferentes palabras clave de Java, como public y private, que determinan el modo en que otro código accede a una variable de atributo. Los modificadores son opcionales (como indican los corchetes). Por ahora, todas las variables que cree deberían tener el modificador public (público).
  • tipo representa la clase de información o datos que contiene la variable. Algunas variables contienen caracteres, otras contienen números y algunas son booleanas (boolean), con lo que sólo  pueden admitir uno de dos valores posibles. Es preciso asignar un tipo a cada variable para indicar la clase de información que pueden almacenar.

o   identificador es el nombre asignado a la variable que contiene ese tipo.

o   valor es el valor que se quiere asignar a la variable. Es un elemento opcional porque no es necesario asignar ningún valor a una variable en el momento de declararla.

o   A continuación figuran las declaraciones de las variables de atributo en la clase Shirt:

Descripción de los Tipos de Datos Primitivos

Ø  Muchos valores de los programas Java se almacenan como tipos de datos primitivos.

Ø  Éstos son los ocho tipos de datos primitivos incorporados al lenguaje de programación Java:

o   Tipos enteros: byte, short, int y long

o   Tipos en coma flotante: float y double

o   Tipo textual: char

o   Tipo lógico: boolean

Ø  Tipos primitivos enteros

o   Hay cuatro tipos primitivos enteros en el lenguaje Java y se identifican mediante las palabras clave byte, short, int y long. Las variables de este tipo almacenan números que no tienen separador decimal.

o   Por ejemplo, si necesita guardar edades de personas, una variable de tipo byte sería apropiada porque este tipo acepta valores dentro del rango adecuado.

o   En la tabla siguiente figuran todos los tipos enteros, sus tamaños y el rango de valores que pueden admitir.

o   Cuando especifique un valor literal para un tipo long, escriba una L en mayúscula a la derecha del valor para indicar explícitamente que se trata de un tipo long. El compilador considera los enteros como valores de tipo int, a menos que se especifique una L para indicar que se trata de un tipo long.

o   La clase Shirt contiene dos atributos de tipo int para almacenar los valores del ID de camisa y la cantidad disponible en el almacén, y se utilizan valores literales para proporcionar un valor inicial de cero (0) a cada atributo.

o   La única razón para utilizar tipos byte y short en los programas es ahorrar memoria. Dado que la mayoría de los equipos de sobremesa modernos contienen gran cantidad de memoria, hay muchos programadores de aplicaciones de escritorio que no utilizan ni tipos byte ni short. En los ejemplos de este curso se utilizan fundamentalmente tipos int y long.

Ø  Tipos primitivos en coma flotante

o   Hay dos tipos para expresar números en coma flotante, float y double. Estos tipos se utilizan para almacenar números que contienen valores a la derecha del separador decimal (en este caso, el punto), como 12.24 o 3.14159.

o   La tabla siguiente contiene información sobre los dos tipos en coma flotante.

  • Cuando especifique un valor literal para un tipo float, agregue una F mayúscula (float) a la derecha del número para indicar que se trata de un tipo float y no double. Los valores literales de los tipos en coma flotante se consideran automáticamente de tipo double, a menos que se especifique lo contrario mediante el uso de la F para indicar el tipo float.
  • La clase Shirt incluye el uso de un valor literal de tipo double para representar el valor predeterminado de precio (price):
  • Utilice el tipo double cuando necesite un rango de valores mayor o un grado de precisión más elevado.

Descripción de los Tipos de Datos Primitivos

Ø  Tipo primitivo Textual

o   Otro tipo de datos que se utiliza para almacenar y manipular la información es el que se expresa a través de un solo carácter. El tipo primitivo utilizado para almacenar caracteres aislados como, por ejemplo, ‘a’, se llama char y tiene un tamaño de 16 bits.

o   La clase Shirt incluye el uso de un valor literal de tipo textual para representar el valor predeterminado del color (colorCode):

  • Cuando se asigna un valor literal a una variable char, por ejemplo una t, es preciso escribir el carácter entre apóstrofes: ’t’. Esto permite al compilador reconocer esa t como un valor literal y no como una variable t que representa otro valor.

o   El tipo char no almacena el carácter escrito como tal, por ejemplo la t antes mencionada. La representación almacenada en char se transforma en una serie de bits que corresponden a un carácter. Las correspondencias entre cada carácter y el número que representa están establecidas en el juego de caracteres que utilice el lenguaje de programación.

o   Muchos lenguajes informáticos utilizan el código ASCII (American Standard Code for Information Interchange), un juego de caracteres de 8 bits que contiene un elemento por cada signo de puntuación, número, letra del alfabeto o carácter utilizados en inglés.

o   El lenguaje Java utiliza un juego de caracteres de 16 bits llamado Unicode que es capaz de almacenar todos los caracteres que sea necesario reproducir en la gran mayoría de los idiomas utilizados en el mundo moderno. Por tanto, puede escribir sus programas de forma que funcionen y presenten sus datos correctamente en el idioma de la mayoría de los países.

o   Unicode contiene un subconjunto del juego ASCII (los primeros 128 caracteres).

Ø  Tipo primitivo Lógico

o   Los programas informáticos a menudo deben tomar decisiones. El resultado de una decisión, por ejemplo, la evaluación de una sentencia de un programa como verdadera o falsa, puede guardarse en variables boolean (booleanas). Las variables de tipo boolean sólo pueden almacenar:

ü  Los literales true o false del lenguaje Java.

ü  El resultado de una expresión que sólo se evalúa como true o false. Por ejemplo, si la variable respuesta es igual a 42, la expresión “if respuesta < 42” dará como resultado el valor false.

Ø  Elección del tipo de dato

o   Una práctica habitual entre los programadores con experiencia es usar los tipos int, long o double para variables numéricas a menos que, por la clase de negocio, exista una razón para ahorrar memoria (por ejemplo, al programar para dispositivos de consumo tales como los teléfonos celulares) o para garantizar tiempos rápidos de ejecución.

Declaración de variables y asignación de sus valores

Ø  Las variables deben declararse antes de utilizarlas. En las secciones siguientes se explica cómo declarar las variables y asignarles valor.

Ø  Asignación de nombre a las variables

o   Al igual que ocurre con las clases o los métodos, es preciso asignar a cada variable de un programa un nombre o identificador.

o   Recuerde que el propósito de las variables es actuar como mecanismo para guardar y recuperar valores. Por tanto, es conveniente que sus identificadores sean sencillos pero descriptivos.  Por ejemplo, si almacena el valor de un ID de artículo, puede asignar a la variable el nombre miID, idArticulo, numeroArticulo, o alguna otra designación que deje claro el uso de la variable tanto para usted como para otras personas que lean el programa.

Ø  Reglas y directrices de asignación de nombre a los identificadores de las variables

Utilice las reglas siguientes como ayuda a la hora de asignar identificadores a las variables:

  • Los identificadores de las variables deben empezar por una letra en mayúscula o minúscula, un signo de subrayado (_) o un signo de dólar ($). Después del primer carácter, puede usar dígitos.
  • Los identificadores de las variables no pueden contener signos de puntuación, espacios ni guiones.
  • Las palabras clave de Java, que aparecen en la tabla siguiente, no pueden utilizarse como identificadores.

Debería utilizar las directrices siguientes como referencia a la hora de asignar identificadores a las variables:

  • Empiece cada variable con una letra en minúscula y el resto de las palabras con la inicial en mayúscula, como, por ejemplo, miVariable.
  • Elija nombres nemotécnicos que indiquen a cualquier posible lector el propósito de la variable.

El lenguaje Java considera que dos caracteres del código son distintos si uno se escribe en mayúscula y el otro en minúscula. Por ejemplo, una variable llamada pedido será distinta de otra llamada Pedido.

Ø  Asignación de valores a las variables

o   A una variable se le puede asignar su valor en el momento de declararla o más adelante.

o   Para asignarle el valor durante su declaración, agréguele el signo igual (=) después de declararla y escriba el valor que le quiera asignar. Por ejemplo, a la variable del atributo price en la clase Shirt podría asignarle el valor 12.99 como precio de un determinado objeto Shirt.

o   Un ejemplo de declaración y asignación de valores de variables boolean podría ser:

o   El operador = asigna el valor del término derecho de la igualdad al elemento del término izquierdo. El signo = debería leerse como está asignado a. Por ejemplo, el ejemplo anterior podría entenderse como: el valor “12.99 está asignado a price”. Los operadores, como el de asignación (=), se explican más adelante en el curso.

o   Las variables de atributo se inicializan automáticamente: los tipos enteros se definen como 0, los tipos en coma flotante se definen como 0.0, el tipo char recibe el valor de \u0000 y el tipo boolean se establece como false. No obstante, las variables de atributos deberían inicializarse de forma explícita para que otras personas puedan leer el código.

o   Las variables locales (las que se declaran dentro de un método) deben inicializarse explícitamente antes de su uso.

Ø  Declaración e inicialización de varias variables en una línea de Código

o   Es posible declarar una o más variables en la misma línea de código, pero sólo si son del mismo tipo. Las sintaxis para declarar varias variables en una misma línea de código son:

  • Por lo tanto, si hubiese un precio de venta al público y otro de venta al por mayor en la clase Shirt, se declararían de la forma siguiente:  
          

Ø  Otras formas de declarar variables y asignarles valor

Los valores de las variables se pueden asignar de diversas formas:

oAsignándoles directamente valores literales (como se ha explicado a lo largo del módulo):

oAsignando el valor de una variable a otra:

oSi el contenido de ID cambia más adelante, el contenido de saleID no cambia automáticamente. Aunque los dos enteros tienen el mismo valor en ese momento, pueden cambiarse de forma independiente en otra parte posterior del programa.

Ø  Otras formas de declarar variables y asignarles valor

oAsignando el resultado de una expresión a las variables de tipo entero, en coma flotante o booleanas.

En las líneas de código siguientes, el resultado de todos los términos situados a la derecha del operador = se asignan a la variable situada a la izquierda del operador.

oAsignando a una variable el valor de retorno de una llamada a un método. Esta forma de asignación se trata más adelante en el curso.

Ø  Constantes

oEn este módulo hemos hablado de variables cuyos valores puede cambiar el programador. En esta sección, aprenderá a usar constantes para representar valores que no pueden cambiar.

oImagine que está escribiendo parte del programa del catálogo de prendas de la empresa y necesita hacer referencia a la tasa del impuesto sobre la venta. Podría crear la siguiente variable en su clase:


oPotencialmente, este valor podría cambiar dentro del programa, aunque el impuesto debería definirse una vez y permanecer constante a lo largo de la aplicación. Por tanto, es preferible almacenar el valor en un lugar donde no pueda cambiar.

oUtilice la palabra clave final para convertir el valor en una constante, es decir, decirle al compilador que no quiere que el valor de la variable cambie una vez que haya sido inicializada.

oAsimismo, por convención, denomine los identificadores de las constantes con palabras en mayúsculas separadas por signos de subrayado. De esta forma, es más fácil saber que se trata de una constante.

oCualquier otra persona que necesite acceder al impuesto sobre la venta utilizará la constante SALES_TAX y no necesitará conocer la tasa del impuesto ni preocuparse ante la posibilidad de cambiarlo por error.

oSi alguien intenta cambiar el valor de una constante una vez que se le ha asignado un valor, el compilador presentará un error. Si se modifica el código a fin de proporcionar otro valor para la constante, será preciso recompilar el programa.

oEn caso de que se incrementase el impuesto sobre la venta, debería cambiar la constante en la ubicación del programa donde se haya definido. Todos los usos de la constante adoptarían el cambio automáticamente.

oLas constantes también resultan prácticas para valores que son extremadamente largos, como es el caso de la pi (3.14159...).

oDirectrices de asignación de nombres a las constantes

Ø  El nombre que se asigne a las constantes debería ser fácil de identificar. En general, deberían escribirse enteramente en mayúsculas y separar las distintas palabras mediante un signo de subrayado (_).

Ø  Almacenamiento de tipos primitivos y constantes en la memoria

oCuando se utiliza un valor literal o se crea una constante o una variable y se le asigna un valor, éste se almacena en la memoria del equipo.

oEn la figura siguiente puede observarse cómo, al almacenarse, las variables locales se separan (en la pila) de las variables de atributo situadas en el espacio de memoria dinámica (heap).

Ø  Almacenamiento de tipos primitivos y constantes en la memoria

oLos objetos, sus variables de atributo y sus métodos normalmente se almacenan en el espacio de memoria dinámica. A este espacio se le asignan de forma dinámica fragmentos de memoria que contienen la información utilizada para contener los objetos (incluidas sus variables de atributo y métodos) mientras el programa los necesita.

oOtras variables suelen almacenarse en la pila de memoria. Esta memoria guarda elementos que sólo se utilizan durante un breve periodo de tiempo (más breve que la vida de un objeto), como es el caso de las variables declaradas en el interior de un método.

Uso de operadores aritméticos para modificar valores

Ø  Los programas realizan gran cantidad de cálculos matemáticos, desde los más simples hasta algunos muy complejos. Los operadores aritméticos permiten especificar la forma en que deben evaluarse o combinarse los valores numéricos contenidos en las variables.

Ø  Operadores matemáticos estándar

oEn la tabla siguiente se muestran los operadores matemáticos estándar (a menudo denominados operadores binarios) utilizados en el lenguaje Java.

Uso de operadores aritméticos para modificar valores

          Operadores de incremento y decremento (++ y --)

oUn requisito común en los programas es sumar o restar 1 al valor de una variable. Esto se hace utilizando el operador + de la manera siguiente:

oNo obstante, aumentar o reducir un valor en incrementos o decrementos de 1 es una operación tan común que existen operadores unarios para realizarla: los operadores de incremento (++) y decremento (--). Estos operadores pueden aplicarse antes (preincremento y predecremento) o después (posincremento y posdecremento) de la variable.

Uso de operadores aritméticos para modificar valores

Operadores de incremento y decremento (++ y --)

oLa línea de código anterior, en la que la edad iba aumentando en incrementos de uno también puede escribirse de la forma siguiente:

oUtilice estos operadores con precaución en las expresiones. Si se utilizan como prefijo, la operación (incremento o decremento) se aplica antes de cualquier cálculo o asignación posterior. En su forma de sufijo, la operación se aplica después de los sucesivos cálculos u operaciones, de forma que en los cálculos o asignaciones posteriores se utiliza el valor original, no el valor actualizado. En la tabla siguiente se muestra el uso de los operadores de incremento y decremento.

Uso de operadores aritméticos para modificar valores

Ø  Operadores de incremento y decremento (++ y --)

Uso de operadores aritméticos para modificar valores

Ø  Operadores de incremento y decremento (++ y --)

oEn el ejemplo siguiente se muestra un uso básico de los operadores de incremento y decremento:

oEl resultado de este fragmento de código sería:

Uso de operadores aritméticos para modificar valores

Ø  Orden de precedencia de los operadores

oEn una sentencia matemática compleja que contenga varios operadores en la misma línea, ¿cómo determina el procesador qué operador debe utilizar primero?:

oReglas de precedencia

ü  Para que las operaciones matemáticas mantengan un comportamiento homogéneo, el lenguaje Java sigue las reglas matemáticas habituales para la precedencia de los operadores. Éstos se procesan en el orden siguiente:

v  Operadores incluidos entre paréntesis de apertura y cierre.

v  Operadores de incremento y decremento.

v  Operadores de multiplicación y división evaluados de izquierda a derecha.

v  Operadores de suma y resta evaluados de izquierda a derecha.

ü  Si en una sentencia aparecen sucesivamente varios operadores matemáticos estándar con el mismo orden precedencia, los operadores se evalúan de izquierda a derecha.

Ø  Orden de precedencia de los operadores

oEjemplo de la necesidad de utilizar reglas de precedencia

ü  En el ejemplo siguiente se demuestra la necesidad de utilizar un orden de precedencia de los operadores:

ü  En este ejemplo, no está clara la intención del autor. El resultado puede evaluarse de las formas siguientes:

v  Expresión resultante al evaluar estrictamente de izquierda a derecha: 34

v  Auténtica expresión resultante, evaluada según las reglas de precedencia que se indican mediante los paréntesis: 9

Ø  Orden de precedencia de los operadores

oUso de los paréntesis

ü  Las expresiones se evalúan automáticamente según las reglas de precedencia, no obstante debería utilizar paréntesis para dejar clara la estructura que pretende utilizar:

Uso de la promoción y conversión de tipos

Ø  Asignar una variable o una expresión a otra variable puede provocar discrepancias entre los tipos de datos de los cálculos y el lugar de almacenamiento utilizado para guardar el resultado.

Ø  En concreto, el compilador detectará que se va a perder precisión y no permitirá la compilación del programa o bien el resultado será incorrecto.

Ø  Para resolver este problema, es necesario:

oPromover los tipos de las variables a un tipo de tamaño superior, o

oRealizar la conversión a un tipo de tamaño inferior.

Ø  Por ejemplo, considere la siguiente asignación:

Ø  Este código debería funcionar porque un tipo byte, aunque es menor que un tipo int, es lo suficientemente grande como para almacenar un valor de 100.

Ø  Sin embargo, el compilador no realizará la asignación y, en su lugar, generará un error de “posible pérdida de precisión” porque un valor byte es menor en tamaño que un valor int.

Ø  Para corregir este problema, puede convertir los tipos de datos de la derecha en tipos más pequeños para que coincidan con los tipos de la izquierda, o bien declarar la variable de la izquierda (num3) de forma que contenga un tipo de datos más grande, por ejemplo int.

Ø  El problema se corrige cambiando num3 por el tipo int:

Ø  Promoción

oEn algunas circunstancias, el compilador cambia el tipo de una variable por otro tipo que admita un valor de mayor tamaño. Esta acción se conoce como promoción. El compilador realiza automáticamente algunas promociones si, al hacerlo, no se pierden datos. Esto ocurre en las siguientes situaciones:

ü  Si asigna un tipo más pequeño (a la derecha del signo =) a un tipo más grande (a la izquierda del signo =).

ü  Si asigna un tipo entero a un tipo en coma flotante (aunque podría perderse algo de precisión en los bits menos significativos del valor cuando asigne un valor int o long a un tipo float, o bien un valor long a un tipo double).

oEl ejemplo siguiente contiene un literal (un valor int) que se promoverá automáticamente a otro tipo (long) antes de asignar el valor (6) a la variable (big de tipo long). En los ejemplos siguientes se muestra qué tipos promoverá automáticamente el compilador y cuáles no.

oDado que el 6 es un tipo int, la promoción funciona porque el valor int se convierte en un valor long.

oAntes de asignarse a una variable, el resultado de una ecuación se coloca en una ubicación temporal o contenedor de la memoria. El tamaño de esta ubicación siempre es igual que el tamaño del tipo de datos más grande utilizado en la expresión o la sentencia. Por ejemplo, si la ecuación multiplica dos tipos int, el tamaño del contenedor tendrá el tamaño de un tipo int, o 32 bits.

oSi los dos valores multiplicados dan como resultado un valor que supera las dimensiones de un tipo int (por ejemplo, 55555*66666=3,703,629,630, que es demasiado grande para caber en un tipo entero), el valor int debe truncarse para que el resultado quepa en la ubicación temporal asignada en la memoria. Este cálculo al final produce una respuesta incorrecta porque la variable correspondiente recibe un valor truncado (con independencia del tipo usado para la respuesta).

oPara resolver este problema, defina al menos una de las variables de la ecuación con el tipo long a fin de garantizar el mayor tamaño posible para el espacio asignado en la memoria temporal.

Ø  Conversión de tipos

oLa conversión de tipos reduce el rango de un valor literalmente “cortándolo” para adaptarlo a un tipo de tamaño más pequeño. Se produce, por ejemplo, cuando se convierte un valor long en un valor int. Esto se hace para poder usar métodos que aceptan sólo ciertos tipos como argumentos, y poder asignar así valores a una variable de un tipo de menor tamaño, o para ahorrar memoria.

oColoque el tipo_destino (el tipo en el que se va a convertir el valor) entre paréntesis antes del elemento que vaya a convertir. La sintaxis para convertir el tipo de un valor es:

oDonde:

ü  El identificador es el nombre que se asigna a la variable.

ü  valor es el valor que se quiere asignar al identificador.

ü  (tipo_destino) es el tipo en el que se va a convertir el valor. Recuerde que tipo_destino debe escribirse entre paréntesis.

oPor ejemplo, considere la siguiente asignación:

oEl error de compilación se corrige convirtiendo el tipo del resultado en un tipo byte.

oUtilice la conversión de tipos con precaución. Por ejemplo, si se utilizasen números de mayor tamaño para num1 y num2, la conversión en un tipo byte truncaría parte de esos datos, con lo que el resultado sería incorrecto.

oOtros posibles problemas se indican a continuación:

oSi convierte un valor con decimales de tipo float o double en un tipo entero como int, se perderán todos los decimales. No  obstante, este método de conversión de tipos puede resultar útil a veces si se quiere redondear el número por defecto, por ejemplo 51.9 se convierte en 51.

Ø  Suposiciones del compilador con respecto a los tipos enteros y en coma flotante

oEl compilador de Java parte de algunos supuestos cuando evalúa expresiones. Debe comprender estos supuestos para realizar las conversiones de tipos apropiadas u otro tipo de adaptaciones.

oTipos de datos enteros y operaciones

ü  Cuando se utilizan valores con tipos de datos primitivos en una expresión con determinados operadores (*, /, -, +, %), los valores se convierten automáticamente en un valor int (o superior si es necesario) y luego se ejecuta la operación. Esta conversión puede provocar desbordamiento de datos o falta de precisión.

oEn el ejemplo siguiente, se produce un error porque dos de los tres operandos (a y b) se promueven automáticamente del tipo short a un tipo int antes de sumarse:

oEn la última línea, los valores de a y b se convierten en tipos int y se suman para proporcionar un resultado de tipo int. A continuación, el operador de asignación (=) trata de asignar el resultado int a la variable de tipo short (c). Pero esta asignación no es válida y provoca un error de compilación.

oEl código funcionará si realiza una de estas operaciones:

ü  Declarar c como un tipo int en la declaración original:

ü  Convertir el tipo del resultado de (a+b) en la línea de asignación:

oTipos de datos en coma flotante y forma de asignarlos

ü  Al igual que los tipos enteros adoptan automáticamente la forma int en algunas circunstancias, los valores asignados a los tipos en coma flotante siempre adoptan la forma double, a menos que se especifique expresamente que el valor es de tipo float.

ü  Por ejemplo, la línea siguiente provocaría un error de compilación. Dado que 27.9 se considera automáticamente del tipo double, se produce un error de compilación porque un valor double no cabe en una variable de tipo float.

ü  Las dos alternativas siguientes funcionarían correctamente:

v  La F indica al compilador que 27.9 es un valor float:

v  27.9 se convierte en un tipo float:

ü  En el ejemplo del código siguiente se utilizan los principios explicados en esta sección para calcular la edad de una persona expresada en días y segundos.

No hay comentarios.:

Publicar un comentario

Raul Tamani A. ©. Imágenes del tema de fpm. Con tecnología de Blogger.

Adblock Detectado

Apoya este sitio desactivando el Adblock para seguir navegando. ¡Gracias!

¡Ya Desactive el Adblock!