Download elementos de lenguajes java

Document related concepts
no text concepts found
Transcript
Programación III
ELEMENTOS DE LENGUAJES JAVA
double
64 bits
CARACTERES DE JAVA
Se agrupan en letras, dígitos, espacios en blanco,
caracteres especiales, signos de puntuación y
secuencias de escape.
boolean
true o false
Letras, dígitos y otros.
Letras mayúsculas de los alfabetos internacionales:
A–Z
Las minúsculas de los alfabetos internacionales:
a–z
Dígitos del alfabeto internacional:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Caracteres: “_”, “$” y cualquier carácter Unicode.
El compilador de java trata las letras mayúsculas y
minúsculas como caracteres diferentes, Anio y anio
son diferentes.
Secuencias de Escape
Una secuencia de escape esta formado por el
carácter \ de una letra o combinación de dígitos. Se
utilizan para acciones como nueva línea, tabular o
para hacer referencia a caracteres no imprimibles.
Secuencia
\n
\t
\b
\r
\f
\’
\”
\\
\ddd
\udddd
\u0007
\u000B
Definición
Ir al principio de la siguiente línea
Tabulador horizontal
Retroceso (backspace)
Retorno de carro sin avance de línea
Alimentación de línea (impresoras)
Comilla simple
Comilla doble
Barra invertida (backslash)
Carácter ASCII (Octal)
Carácter ASCII (Unicode)
Alerta pitido
Tabulador Vertical (impresoras)
TIPOS DE DATOS
TIPO
byte
short
int
RANGO
-128 a +127 (8 bits)
-32768 a +32767 (16 bits)
-2147483648 a
+2147483647
(32 bits)
long
char
-9223372036854775808
a
9223372036854775807
(64 bits)
0 a 65535
float
32 bits
Lic. Omar Alavi
EJEMPLO
byte b=0;
short i=0, j=0;
int a = 200;
int b = -30;
int
c
=
0xF003;
long a = 200;
long b =125;
long c = 0x1F;
char car = ‘a’;
char car = 97;
float a = 3.23;
double a
3.14159;
=
PALABRAS CLAVE
Son identificadores predefinidos por el compilador
Java. Por lo tanto, un identificador definido por el
usuario no puede tener el mismo nombre que una
palabra clave.
abstract
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
COMENTARIOS
Comentario tradicional: Pueden ocupar más de una
línea.
/*
*/
Comentario de una sola línea:
//
Comentario de documentación:
/**
*
*/
CONSTANTES
final static int cte1 = 1;
final static String cte2 = “Pulse una tecla…”;
final double pi = 3.1415926;
DECLARACION DE VARIABLES
Una variable representa un espacio de memoria para
almacenar un valor de un determinado tipo. El valor
de una variable, a diferencia de una constante,
puede cambiar durante la ejecución de un programa.
short dia, mes, anio;
int contador = 0;
String Nombre=””, Apellidos=””;
Iniciación de variables:
1
Programación III
Las variables miembro de una clase son iniciadas
por omisión por el compilador de Java para cada
objeto que se declare de la misma: las variables
numérica con 0, y los caracteres con ‘\0’ y las
referencias a las cadenas de caracteres y el resto de
las referencias a otros objetos null.
En cambio las variables locales no son iniciadas por
el compilador Java. Por lo tanto es nuestra obligación
iniciarlas, de lo contrario el compilador visualizará un
mensaje de error en todas las sentencias que haga
referencia a esas variables.
EXPRESIONES NUMERICAS
Una expresión es un conjunto de operandos unidos
mediante operadores.
CONVERSION ENTRE TIPOS DE DATOS
Cuando Java tiene que evaluar una expresión en la
que intervienen operandos de diferentes tipos,
primero convierte, sólo para realizar las operaciones
solicitadas, los valores de los operandos al tipo de
operando cuya precisión sea más alta.
Java permite una conversión explícita (conversión
forzada) del tipo de una expresión mediante una
construcción denominada cast, que tiene la forma:
(tipo) expresión
Cualquier valor de un tipo entero o real puede ser
convertido a o desde cualquier tipo numérico. No se
puede realizar conversiones entre los tipos enteros o
reales y el tipo boolean.
resultado es entero, en el resto de
los casos el resultado es real.
%
Módulo: o resto de la división entera.
Los operandos deben ser enteros.
int a = 10, b=3, c;
float x = 2.0, y;
y = x + a;
// El resultado es 12.0
c = a / b;
//El resultado es 3 de tipo int.
c = a % b;
//El resultado es 1 de tipo int.
y = a / b;
//El resultado es 3 de tipo int. Se
// Convierte a float para asignar a y
c = (int)( x / y); // El resultado es 0.6666667 de tipo
//float se convierte a int y c = 0.
OPERADORES RELACIONALES
El resultado de una operación de relación es un valor
booleano true o false.
Operador
<
>
<=
>=
!=
==
Ejemplos:
int x = 10, y
boolean r;
r = x == y;
r = x > y;
r = x != y;
Operador
&& o &
float r;
r = (float)Math.sqrt(10); //El resultado se redondea
//ya que sqrt devuelve double
|| o |
Lic. Omar Alavi
= 0;
// r = false
// r = true
// r = true
OPERADORES LOGICOS
El resultado de una operación lógica (AND, OR, XOR
y NOT) es un valor booleano verdadero o falso (true
o false)
fDato = (float)dDato;
lDato = (long)fDato;
bDato = (byte)(dDato + fDato);
OPERADORES
OPERADORES ARITMETICOS
Operador
Operación
+
Suma. Operandos enteros o reales
Resta. Operandos enteros o reales
Multilicación: Operandos enteros o
*
reales
División: Operandos enteros o
/
reales. Si ambos son enteros el
Operación
¿Menor que?
¿Mayor que?
¿Menor o igual que?
¿Mayor o igual que?
¿Distinto que?
¿Igual que?
!
^
Operación
AND. Da como resultado true si al
evaluar cada uno de los operandos el
resultado es true. Si uno de ellos es
false, el resultado es false.
OR. El resultado es false si al evaluar
cada uno de los operandos el resultado
es false. Si uno de ellos es true el
resultado es true.
NOT. El resultado de aplicar este
operador es false si al evaluar su
operando es resultado es true, y true
en caso contrario
XOR. Da como resultado true si al
evaluar cada uno de los operandos el
resultado de uno es true y el del otro
false; en otro caso el resultado es
false.
2
Programación III
Ejemplos:
int p = 10, q = 0;
boolean r;
r = p != 0 && q != 0;
r = p != 0 || q > 0
r = q < p && p <= 10;
r = ! r;
if (a != 0 && b != 0)
x = i;
//Siguiente línea del programa
// r = false
// r = true
// r = true
// si r = true è r = false
OPERADORES DE ASIGNACION
Operador
++
-=
*=
/=
%=
+=
-=
Operación
Incremento
Decremento
Asignación simple
Multiplicación más asignación
División mas asignación
Módulo mas asignación
Suma más asignación
Resta más asignación
Ejemplos:
int x = 0, n = 10, i = 1;
n++;
//Incrementa el valor de n en 1.
++n;
//Incrementa el valor de n en 1.
x = ++n;
//Incrementa n en 1 y asigna el
//resultado a x.
x = n++;
//Asigna el valor de n a x y después
// y después incrementa en 1.
i += 2;
//Realizar la operación i = i + 2;
x *=n – 3;
//Realizar la operación x = x *(n-3) y
//no x = x * n – 3.
SENTENCIAS DE CONTROL
SENTENCIA if
if (condición)
sentencia 1;
[else
Sentencia 2;]
Donde condición es una expresión booleana, y
sentencia 1 y sentencia 2 representa una sentencia
simple o compuesta. Cada sentencia simple debe
finalizar con un punto y coma.
if (a == b * 5)
{
x = 4;
a = a + x;
}
else
b = 0;
// siguiente línea del programa
ERROR típico es escribir, en lugar de la condición
anterior:
if (a = b * 5)
// …
En este caso suponiendo que a es de tipo int el
compilador no puede convertir a boolean.
a = b * 5;
if (a)
// …
Donde se observa que a no puede dar un resultado
boolean si seria correcto:
a = b * 5;
if(a != 0 )
// . . .
Que equivale a:
if ((a = b * 5 ) != 0)
// . . .
En este ejemplo la sentencia return se ejecutará
solamente cuando car sea igual al carácter ‘s’.
if (car == ‘s’)
return;
ANIDAMIENTO DE SENTENCIAS if
if (condición 1)
if (condición 2)
sentencia 1;
else
sentencia 2;
Ejemplos:
if (x != 0)
b = a / x;
b = b + 1;
if (a < b) c = c + 1;
// Siguiente línea del programa
Lic. Omar Alavi
3
Programación III
Ejemplos:
SENTENCIA switch
Si ocurre que a no es igual a 0, la ejecución continua
en la siguiente línea del programa.
if (a == 0)
if (b != 0)
s = s + b;
else
s = s + a;
// siguiente línea del programa.
La sentencia switch permite ejecutar una de varias
acciones, en función del valor de una expresión. Es
una sentencia especial para decisiones múltiples. La
sintaxis para utilizar esta sentencia es:
Ahora, si en lugar del anterior deseamos que se
ejecute s = s + a cuando a no es igual a 0, entonces
debemos incluir entre llaves el segundo if sin la
clausula else; esto es:
if (a == 0)
{
if (b != 0)
s = s + b;
}
else
s = s + a;
// siguiente línea del programa
Laboratorio Nº 2.
Realizar una aplicación que de cómo resultado el
menor de tres números a, b y c.
ESTRUCTURA else if
Esta estructura es consecuencia de las sentencias if
anidadas. Su formato general es:
if (condición 1)
sentencia 1;
else if (condición 2)
sentencia 2;
else if (condición 3)
sentencia 3:
.
.
.
else
sentencia n;
La evaluación de esta estructura sucede así: si se
cumple la condición 1, se ejecuta la sentencia 1 y si
no se cumple se examinan secuencialmente las
condiciones siguientes hasta el último else,
ejecutándose la sentencia correspondiente al primer
else if, cuya condición es cierta. Si todas las
condiciones son falsas, se ejecuta la sentencia n
correspondiente al último else.
Lic. Omar Alavi
switch (expresión)
{
case expresión-constante 1:
[sentencia 1;]
[case expresión-constante 2:]
[sentencia 2;]
[case expresión-constante 3:]
[sentencia 3;]
.
.
.
[default:]
[sentencia n;]
}
Donde expresión es una expresión de tipo char,
byte, short o int y expresión-constante es una
constante también entera y de los mismos tipos.
Tanto la expresión como las expresiones constantes
son convertidas implícitamente a int. Por último,
sentencia es una sentencia simple o compuesta. En
el caso de tratarse de una sentencia compuesta, no
hace falta incluir las sentencias simples entre {}.
La sentencia switch evalúa la expresión entre
paréntesis y compara su valor con las constantes de
cada case. La ejecución de las sentencias del bloque
de la sentencia switch, comienza en el case cuya
constante coincida con el valor de la expresión y
continúa hasta el final del bloque o hasta una
sentencia que transfiera el control fuera del bloque
de switch; por ejemplo, break. La sentencia switch
puede incluir cualquier número de cláusulas case.
Si no existe una constante igual al valor de la
expresión, entonces se ejecutan las sentencias que
están a continuación de default, si esta cláusula ha
sido especificada. La cláusula default puede
colocarse en cualquier parte del bloque y no
necesariamente al final.
4