elementos básicos del lenguaje java alumno

7

Click here to load reader

Upload: mtemarialuisa

Post on 08-Jul-2015

4.879 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Elementos BáSicos Del Lenguaje Java Alumno

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

Page 2: Elementos BáSicos Del Lenguaje Java Alumno

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

Page 3: Elementos BáSicos Del Lenguaje Java Alumno

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

Page 4: Elementos BáSicos Del Lenguaje Java Alumno

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

Page 5: Elementos BáSicos Del Lenguaje Java Alumno

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

Page 6: Elementos BáSicos Del Lenguaje Java Alumno

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

Page 7: Elementos BáSicos Del Lenguaje Java Alumno

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