elementos básicos del lenguaje java alumno
Post on 08-Jul-2015
4.880 Views
Preview:
TRANSCRIPT
ProgramaciónSección 302
Elementos básicos del lenguaje JAVA
Tipos primitivos de datos
Todo lenguaje computacional debe soportar la existencia de variables de tipos numérico, lógico y de carácter para la construcción de un programa
Java cuenta con ocho tipos de datos primitivos para almacenar distintos rangos de valores
Tipo Lo que almacena Rango
byte entero de 1 byte (8 bits) de -128 a 127
short entero de 2 byte (16 bits) de -32768 a 32767
int entero de 4 byte (32 bits) de -2147483648 a 2147483647
long entero de 8 byte (64 bits) de -2-63 a 263 - 1
float entero de 4 byte (32 bits) 6 dígitos significativos (10-46 , 1038)
double entero de 8 byte (64 bits) 15 dígitos significativos (10-324 , 10308)
char carácter UNICODE 2 bytes (16 bits) Comprende el código ASCII
boolean variable booleana de 1 byte (8 bits) false y true
En la construcción de programas los tipos primitivos más usados son: int, double, char y boolean.
Más adelante se verá el uso del tipo String para el manejo de variables alfabéticas o alfanuméricas.
Declaración e inicialización de variables de tipo primitivo
Cualquier variable, se declara proporcionando su tipo, su nombre, y opcionalmente su valor inicial. Además toda declaración debe finalizar con un punto y coma.
int a; /* declara una variable entera de 32 bits */ double b; /* declara una variable de punto flotante de 64
bits */
Ahora bien, si se quiere declarar una lista de variables, se debe usar el separador coma.
int x, y, z; /* declara tres variables enteras */ boolean est, wq; /* declara dos variables lógicas */
1
ProgramaciónSección 302
No necesariamente en una línea, sólo se pueden declarar variables de tipo único. Para declarar variables de distinto tipo, éstas deben estar separadas por el carácter punto y coma.
int contador, sum; double tiempo, radio; char opcion; boolean encendido; int mult, resto; char entrada, salida;
Para dar un valor inicial a la variable, se debe usar el operador asignación =.
int contador = 0,sum = 0; double tiempo, radio = 1.0; boolean encendido = false; char entrada = 's', salida = 'w';
*nota : Las variable primitivas se inicializan en cero (salvo boolean y char, que se inicializan a false y '\0' respectivamente) si no se especifica un valor en su declaración.
int s, t = 100; /* s tiene un valor inicial cero y t un valor cien */ double k = 3.6, u; /* k vale 3.6 y u vale 0.0 */ boolean par; /* par vale false */ char c, f = 'x'; /* c vale '\0' y f vale 'x' */
Operadores Aritméticos
El lenguaje cuenta con los operadores aritmeticos básicos, más los operadores paréntesis () para dar cierta prioridad a operaciones que lo requieran.
( + , - , * , / ) = (adición , sustracción , multiplicación , división)
*nota : % = operador módulo o resto de la división.
( en algoritmos puede aparecer como MOD() o como RESTO() ) int result, a = 8, b = 2;
result = a % b; /* result = 0 */ result = a - b; /* result = 6 */ b = 3; result = a % b; /* 8 % 3 --> result = 2 */ result = a / 5; /* 8 / 5 --> result = 1 */
* Notar que la sentencia de asignación, termina con un punto y coma, y las variables se declaran sólo una vez (caso de la variable b).
Diferencias de la división según el tipo de los operandos
a) Si uno o más de los operandos es una variable de tipo punto flotante (double, float), entonces la división es real.
b) Si los dos operandos son variables enteras (int, long,short,byte), entonces la división es entera.
2
ProgramaciónSección 302
Tipo de División Resultado Ejemplo
int / int int 3 / 2 = 1
int / double double 3.0 / 2.0 = 1.5
double / int double 1.0 / 2 = 0.5
double / double double 6.0 / 5.0 = 1.2
Ejercicio: ¿ Cual es el valor final de a y de b
int a = 3; double b = 2.0;
a = 3 / b; /* ¿ a vale 1 o 1.5 ? */ b = 3 / 2; /* ¿ ? */
Operador de post y pre incremento
Generalmente en un programa, se tienen que hacer incrementos o decrementos de una unidad para variables enteras de la manera : var = var + 1; o var = var - 1; En Java como también en otros lenguajes de programación, se ha incluido el operador ++ y -- para realizar estas asignaciones de manera más corta.
variable++ , ++variable : variable = variable + 1
variable-- , --variable : variable = variable - 1
La mayor diferencia de estos métodos, se encuentra en la asignación de variables. En primer lugar, veremos este tipo de asignación cuando en la sentencia no existe otra variable involucrada.
Ej : int a = 5; /* la variable a, toma como valor 5*/ a++; /* la variable se post incrementa y toma el valor 6 */ ++a; /* la variable se pre incrementa y toma el valor 7*/
El post y pre incremento en estas condiciones, producen el mismo efecto.También es válido para var-- y --var y sólo es válido para variables de tipo entero.
Ahora bien, cuando este tipo de incrementos no son independientes, o sea hay otra(s) variable(s) involucrada(s) se deben seguir ciertas reglas, que se ejemplifican a continuación:
3
ProgramaciónSección 302
post-incremento
int a = 7, b; /* a = 7 y b = 0 */ b = a++; /* primero b = 7 y luego a = a + 1 --> 8 */
La variable b toma el valor de a (o sea b = 7). Luego de la asignación, la variable a se incrementa, tomando un valor final de 8.
pre-incremento
a = 8; b = ++a;
En este caso , lo primero que se hace es incrementar la variable a (a = 8) , para luego asignar ese valor, a la variable b (o sea b = 9 ).
* Todo lo anterior es válido para variables enteras y para el operador de decremento
Ejercicios
Hacer la traza de los siguientes segmentos de código
a) int a = 3, b = 4, c; a++; b = ++a; c = b / 2; c--; b = c++; --b;
b) int x, y = 3, z = 6; --z; x = z + y++; x++; z = --y + z;
Operadores de asignación aritmética
Continuando con la idea de contraer ciertas operaciones aritméticas, se usan abreviaciones para la asignación de una variable,cuando está involucrada como operador.
Expresión Equivalente
a += b; a = a + b;
4
ProgramaciónSección 302
a -= b; a = a - b;
a *= b; a = a * b;
a /= b; a = a / b;
a %= b; a = a * b;
Ejemplo: int a = 2, b = 3; /* Se declaran dos variables enteras a = 2, b = 3 */
a += b; /* a = a + b = 2 + 3 = 5 */
*nota : Para mayor orden en el seguimiento de los valores, se escribela expresión equivalente y a continuación se evalúan los valores. b *= 5; /* b = b * 5 = 3 * 5 = 15 */
a = ++b; /* b = b + 1 = 15 + 1 = 16 ; a = b = 16 */Como existe una variable que se está pre-incrementando, lo primero que se hace es modificar el valor de esa variable. Después de haber hecho esto, se evalúan los valores. b += --a + 5; /* a = a - 1 = 16 - 1 = 15 ; b = b + a + 5 = 16 + 15 + 5 = 36 */Después de incrementar la variable a, se escribe y evalúa la expresión equivalente. a += b--; /* a = a + b = 15 + 36 = 51; b = b - 1 = 36 - 1 = 35 */
Como ahora b, se está post-incrementando, lo primero que se hace es evaluar la expresión equivalente, y después finalmente incrementar la variable b. Valores finales : a = 51 , b = 35.
Ejercicios
Determinar los valores finales para los siguientes segmentos de código
a) int a = 2, b = 3, c = 5; a++; b += a; c *= b; b -= 3; a %= 2; c /= 5;
b) int a = 1; int b = 2; b++; b = ++a; a *= 2; b += a; a = ++b + 2;
5
ProgramaciónSección 302
Operadores Relaciónales
Los siguientes operadores son fundamentales para implementar las condiciones de las sentencias de control.El resultado de una comparación es un valor true o false.
Operador Descripción Ejemplo
< menor a < b
<= menor o igual a++ <= 122
> mayor x > 5 * b++
>= mayor o igual p >= 0.01
== igual a%2 == 0
!= distinto t != true
Ejemplo : 5 > 1 /* true */ 1 >= 5 /* false */ 2 == 2 /* true */ 2 != 2 /* false */
Ejercicio : determinar si las siguientes relaciones son true o false. a) 7 <= 5 b) 2 > 6 c) 3 != 5 d) a == a + 1 e) b++ != b++
Operadores Lógicos
Java proporciona operadores lógicos que se usan para simular los conceptos Y, O y NO del álgebra de Boole.
Estos se conocen con el nombre de conjunción, disyunción y negación respectivamente, y los operadores correspondientes son &&, || y!.La precedencia de la conjunción y la disyunción es lo suficientemente baja como para que no sea necesario utilizar paréntesis. El operador && tiene mayor precedencia que el operador ||, mientras que ! se agrupa con los demás operadores.Los argumentos y resultados de estos operadores lógicos son valores de tipo boolean.
6
ProgramaciónSección 302
Operador Descripción Ejemplo
&& AND (y) f > 0.0 && f <= 1.0
| | OR (o) e == 1 | | d == 2
! NOT (no) !encendido
En la siguiente tabla se muestran los resultados de aplicar los operadores lógicos para todos los posibles valores de entrada.
X Y X && Y X | | Y !X
false false false false true
false true false true true
true false false true false
true true true true false
Ejercicio: Determinar el resultado de las siguientes operaciones o sentencias. a) true || false && true b) (false || false) && (!true) c) !true && !false d) !(5 > 7 || 8 > 0 && 1 == 2)
7
top related