Entradas

Mostrando entradas de julio, 2020

Conversión de tipos

Imagen
Compatibilidad y conversión de tipos • En la asignación v = e; la variable v y la expresión e deben ser del mismo tipo de datos o de tipos compatibles: el tipo de e ha de ser menor que el tipo de v, según la siguiente ordenación • Ejemplos: double x = 5.0; x = 5; int n = 5.0; // Error de compilación

Desbordamiento

Realizar operaciones numéricas puede producir desbordamiento: Resultado que excede la capacidad de representación del tipo. • En la aritmética de los enteros cuando se sobrepasa el valor máximo representable se obtiene un resultado incorrecto (error lógico) . Ejemplos: • En la aritmética real se producen desbordamientos hacia infinito (overflow) o hacia cero (underflow). Ejemplos: int n = 1000000 * 1000000;  //Error lógico, n vale -727379968; long nL = 1000000 * 1000000;  //nL vale 10 elevado a 12 double x = 1e308 * 10;  //x vale Infinity x = x/2.0; // x vale Infinity x = -1e308*10; //x vale -Infinity x = 1e-323;  x = x/10.0; // x vale 0.0

Sintaxis de identificadores

Los identificadores son los nombres que el programador puede dar a variables, clases y otros elementos del lenguaje. • Sintaxis: Han de empezar por una letra y, a continuación cualquier combinación de letras, dígitos, el carácter subrayado _ y el signo de dólar $. • Java distingue mayúsculas de minúsculas. Por ejemplo PI, Pi, son identificadores diferentes. • Las palabras reservadas tienen un significado preestablecido y no pueden usarse como identificadores. Ejemplos: class, double, int, final, new, public, static, while, .... Tampoco pueden usarse como identificadores null, true y false. Existen convenciones de escritura de código en Java, no obligatorias, pero que facilitan la lectura del código: • Es conveniente utilizar identificadores descriptivos de manera que la lectura del código permita conocer su significado, evitando nombres demasiado largos. • Los identificadores de variables suelen ir en minúsculas. Si el identificador proviene de diversas palabras, la primera va en minús...

Variable FINAL

 Cuando una variable se declara con el calificador o modificador final , solamente se le puede dar valor inicialmente. • Una vez iniciada, su valor no puede modificarse, de ahí que a las variables final se les llame constantes . • Ejemplo: final tipo variable = expresión; final double PI = 3.141592653589793;

Iniciar o inicializar una variable.

Es simplemente asignarle un primer valor después de declarada.

Diferencia entre datos y valores.

En principio no hay ninguna, pero se suele decir tipos de datos para referirse a los tipos de datos primitivos, y valores para referirse a los literales que damos a las variables.

Estado de una variable

 Se llama estado de una variable a su valor en un determinado momento de la ejecución del programa. • La ejecución de un programa se puede ver como una sucesión de cambios de estado, que transforman un cierto estado inicial (datos) en un determinado estado final (solución). • El estado de un programa es el estado de sus variables en un momento de la ejecución. • La traza de la ejecución de un programa es el seguimiento de la evolución del  estado de las variables a lo largo de la ejecución.

Asignación de un valor a una variable

A una variable ya declarada se le puede asignar un valor compatible. Ej.  edad = 30; Con el operador de asignación " =" se le puede dar un valor, directamente o a través de una expresión compatible. Éste operador "=" es muy diferente al operador matemático "=" , éste sí es semejante al operador numérico "==". Éste significa la igualdad entre dos términos. Aquel nos dice el valor almacenado, en éste momento, en el espacio de memoria referenciado por una determinada variable.

Declaración de una variable

Una variable se declara al darle un nombre adecuado y un Tipo o Clase de valores con los que puede operar. Ej:     int edad; En el que el nombre de la variable es edad, y el Tipo de valores es int. Con esto, el ordenador guarda un espacio de memoria, del tamaño int en binario, representado por el nombre edad, con el que trabajamos en el código fuente.

Variable

Una variable es un elemento de un programa que puede tomar valores de un tipo determinado. – Las variables deben tener un nombre, deben ser de un Tipo o Clase determinado, y pueden tomar valores compatibles con ese Tipo.

Operadores de los tipos primitivos.

Imagen
Hemos visto que un programa es una secuencia de instrucciones y datos, también se puede decir que las instrucciones son operaciones.  Grupo Clasificación Operadores  0 Paréntesis ()  1 Unarios postfijos expr++ expr--  2 Unarios prefijos ++expr --expr +expr !expr  3 Creación, conversión new (tipo) expr  4 Producto * / %  5 Suma + -  6 Relacionales > >= < <=  7 Igualdad == !=  8 Conjunción &  9 Disyunción exclusiva ^  10 Disyunción lógica |  11 Conjunción cortocircuitada &&  12 Disyunción cortocircuitada || 

Tipos de datos primitivos: tipo lógico.

Nombre/Tamaño en bits/Valores/Signific boolean/1 bit/true false/Verdadero Falso Tipo lógico: • El tipo boolean se utiliza para manipular valores lógicos. • Sólo existen dos literales lógicos: true y false. • Una expresión lógica o de tipo boolean es cualquier expresión que al evaluarse tiene uno de los dos valores true o false. Se construyen a partir de : – expresiones numéricas con operadores relacionales (>,

Tipos de datos primitivos: char

Imagen
Nombre Tamaño en bits Codificación char 16 bits Unicode Tipo carácter: El tipo char permite representar valores consistentes en un único carácter (letras, dígitos y caracteres especiales). • Un literal de tipo carácter se representa internamente como un valor entero positivo (sin la representación en complemento a dos). • Java usa el estándar de codificación de caracteres Unicode para asociar a cada carácter un código numérico. Mediante Unicode es posible representar millones de caracteres diferentes. • Los 256 primeros caracteres del Unicode coinciden con los del estándar de 8 bits ASCII/ANSI (American Standard Code for Information Interchange / American National Standards Institute).

Tipos de datos primitivos numéricos reales

Nombre Tamaño en bits Valor m Valor M Precis float 32 bits 1.4*10^-45 3.4*10^38 7 dí double 64 bits 4.9*10^-324 1.8*10^308 15 La precisión es el número de decimales.

Tipos de datos primitivos numéricos enteros

Nombre Tamaño en bits Valor min. Valor Máx. byte 8 -128 127 short 16 -32768 32767 int 32 -2147483648 2147483647 long 64 -2^63 2^63-1

Expresión.

Una expresión es una secuencia de valores, datos, operaciones, variables, métodos,... , cuyo resultado es un valor de un tipo. Se puede asignar a una variable de ese tipo. Ej.        double y = Math.sqrt(47)*Math.PI;       double x = 34.54 *Math.random()/y; Se puede inicializar una variable con una expresión?. En principio sí, Java calcula el valor de la expresión, de izquierda a derecha y asigna el valor obtenido a la variable: lo deposita en el "apartado de correos" representado por la VARIABLE. Se puede decir que es una instrucción compleja o conjento de instrucciones. La expresión produce un valor que es una instrucción. Al valor de esa instrucción se le llama valor de retorno, este puede ser un valor numérico, char, boolean o un objeto Java.

Variables. Asignación.

Con la inicialización ya hemos hecho la primera asignación. En ambos casos podemos darle directamente un valor, o indirectamente a través de una expresión que dé un valor del tipo de la variable. Es como dejar en el buzón del apartado de correos un paquete del tipo compatible. Ése paquete -dato- podemos dejarlo, quitarlo, sustituirlo, operar con él dentro del apartado de correos, fuera,... siempre que quede en un apartado de correos del tipo de su valor último.

Variables: inicialización.

Toda variable, para que pueda utilizarse, requiere que tenga un valor, es decir, que los apartados de correos no estén vacíos.  Inicializar una variable es darle su valor primero o inicial. Sólo así la variable está dispuesta a utilizarse.          int a = 0;          double b = 0.0;          char  c = "g"; El símbolo = de asignación, no es equivalente al símbolo matemático igual; nos viene a decir que introducimos ese valor en el "apartado de correos". A lo largo de la programación y de la ejecución del programa, puede ir cambiando su valor. El

Variables: declaración.

Los datos en Java, tanto sean elementales o compuestos, se guardan en la memoria del ordenador en espacios que se pueden comparar a apartados de correo. Suponiendo que hay diversos tipos de apartados de correo para cada tipo de datos. Las VARIABLES son las direcciones de memoria de esos apartados de correo. Las VARIABLES se tienen que DECLARAR, que es especificar de que tipo son y su nombre. Ej.              int  a;              char b;              boolean h; Aquí se declara la variable a como int. la variable b como char, la variable h como boolean. Java se encarga de reservar, para cada variable, un lugar de la memoria adecuado a su tipo, al que se accede mediante el nombre de la variable: a, b o h; que representan la dirección de memoria en que se encuentran los "apartados de correos".  De momento tenemos "los apartados de correos" definidos, con un nombre concreto, que...