Está en la página 1de 43

PROGRAMACION 1

Captulo 3:
PROGRAMACIN ORIENTADA A
OBJETOS
Sesin 15
OBJETIVOS DEL TEMA
Capacitar al estudiante en el manejo del
lenguaje Java para el desarrollo de
aplicaciones
Lograr que el estudiante tenga criterios que
permitan seleccionar a Java como el
lenguaje de desarrollo cuando el caso lo
amerite
LENGUAJE JAVA
Historia
Aspectos generales
Elementos del lenguaje
Ambiente Integrado de
Desarrollo
Datos
En Java existen dos tipos principales de
datos:
Tipos de datos simples o primitivos.
Referencias a objetos.
Los tipos de datos simples son aquellos que
pueden utilizarse directamente en un
programa, sin necesidad del uso de clases
(POO).
Datos de Tipo Numrico
Nmeros enteros byte, short, int, long
Nmeros en coma float, double
flotante
Datos de Tipo Carcter char
Datos de Tipo Booleano boolean
Datos Primitivos
Datos- Nmeros Enteros
byte, short, int, long (4 tipos para representar
nmeros enteros con signo)
Literales Enteros
Pueden expresarse:
En decimal (base 10):255
En octal (base 8):0377 (3.82+7.81+7=255)
En hexadecimal (base 16):0xff (15*16+15=255)
Los literales enteros son de tipo int por defecto(-
231 y 231-1)
Un literal entero es de tipo long si va
acompaado del sufijo l o L (se prefiere la
mayscula):
1234567890L es de tipo long
Datos- Nmeros Enteros
DESBORDAMIENTO
Si se sobrepasa el valor mximo que se
puede representar un tipo de dato entero,
en la ejecucin del programa se obtiene un
resultado incorrecto.
Datos- Nmeros Enteros
DIVISION POR CERO
Si dividimos un nmero entero por cero, se
produce un error en tiempo de ejecucin:

La ejecucin del programa termina de


manera brusca.
Datos- Punto Flotante
float, double
Literales reales
Cadenas de dgitos con un punto decimal
345.67 0.0 0.004
En notacin cientfica (mantisa 10 exponente )
345e3 345E+12 4E-6
Por defecto, los literales son valores de tipo
double
Para representar un valor de tipo float, se debe
usar el sufijo f o F.
345.67F 0.0f 0.004f
Datos- Punto Flotante
OPERACIONES CON NMEROS EN COMA
FLOTANTE
Las operaciones aritmticas no generan
excepciones, aunque realicen operaciones
ilegales:
Cuando el resultado de una operacin est
fuera de rango, se obtiene +Infinity o
Infinity (infinito)
Cuando el resultado de una operacin est
indeterminado, se obtiene NaN (Not a
Number)
Operadores Aritmticos

Si los operandos son enteros se realizan


operaciones enteras
Si uno de los operandos es tipo float o
double, la operacin se realiza en coma
flotante.
No existe un operador de exponenciacin:
para calcular xy hay que utilizar la funcin
Math.pow(x,y)
Operadores Aritmticos
DIVISION

Si se dividen enteros, el resultado es entero


y el resto se pierde
Una divisin por cero produce una excepcin
Una divisin por cero, en coma flotante,
produce Infinity o NaN
Operadores Aritmticos
MODULO % - Resto de Dividir

EXPRESIONES ARITMTICAS
Expresin es una construccin que se evala
para devolver un valor. Es una combinacin de
literales y operadores

En Java debera escribir as:


(3+4*x)/5-10*(y-5)*(a+b+c)/x+9*(4/x+(9+x)/y)
Operadores Aritmticos
Las operaciones aritmticas se evalan de
izquierda a derecha
Los operadores aritmticos mantienen el orden de
precedencia habitual (multiplicaciones y
divisiones antes que sumas y restas)
Se puede utilizar parntesis para mejorar el orden
deseado. Es recomendable usarlos siempre para
evitar ambigedades.
PRECISIN
Las operaciones en coma flotante no son exactas
debido a la forma en que se representan los
nmeros reales en el computador.
Datos- Caracteres
char

Literales de tipo carcter


Valores entre comillas simples
a b c . 1 2 3 *
Cdigos UNICODE (en hexadecimal):\u????
\u000a (avance de lnea)
\u000d (retorno de lnea)
Datos- Caracteres
Secuencias de escape para representar
caracteres especiales:

La clase Character define funciones (mtodos


estticos) para trabajar con caracteres:
isDigit(), isLetter(), isLowerCase(), isUpperCase(),
toLowerCase, toUpperCase()
Datos- Caracteres
La clase String
No es un tipo primitivo, sino una clase predefinida
Una cadena (String) es una secuencia de
caracteres
Las cadenas de caracteres, en Java son
inmutables, es decir no se pueden modificar los
caracteres individuales de la cadena.
Literales
Texto entre comillas dobles
Este es un ejemplo de una cadena
Este tambin es un ejemplo de otra cadena
Datos- Caracteres
A travs de las secuencias de escape se pueden
introducir caracteres especiales dentro de una cadena
\Este es un ejemplo de una cadena entre comillas\
CONCATENACIN DE CADENAS DE CARACTERES
El operador + sirve para concatenar cadena de
caracteres

El resultado de una expresin se puede convertir


automticamente en una cadena de caracteres (un
objeto de tipo String) si uno de los operandos es un
String.
Datos- Booleano
Boolean
Representa una expresin que puede ser
verdadero (true) o falso (false)

Literales
Datos- Booleano
EXPRESIONES DE TIPO BOOLEAN
Se construyen a partir de expresiones de tipo
numrico con operadores relacionales.
Ejemplo (a>=5).
Se construyen a partir de otras expresiones
booleanas con operadores lgicos booleanos.
Ejemplo (a>=5) && (b=10)
OPERADORES RELACIONALES
Operadores de comparacin vlidos para
nmeros y caracteres
Generan un resultado booleano
Datos- Booleano
OPERADORES LGICOS /BOOLEANOS
Requieren operandos booleanos
Tienen menos precedencia que los
operadores de comparacin
Variables
Es un nombre simblico que identifica una
direccin de memoria
DECLARACIN DE VARIABLES
Para usar una variable en un programa hay que
declararla para:
De esta manera se puede identificar la informacin
que se va almacenar en esa posicin de memoria.
Se reserva el espacio de memoria necesario para
almacenar un valor del tipo de la variable.
El identificador asociado a la variable permite
acceder al dato almacenado en la memoria para
modificarlo.
Variables
DECLARACIN DE VARIABLES EN JAVA
<tipo> identificador;
<tipo>lista de identificadores;
Las variables se declaran antes de usarlas.
Los identificadores son los nombres que se usan para
referirnos a ellas.
Al declarar la variable hay que definir el tipo de dato
Al declarar varias variables del mismo tipo se deben
separar por comas. Ejemplos:
int i, j, k;
double r;
char c;
Identificadores
El primer carcter del identificador debe ser un
carcter alfanumrico (a, , z,A,..,Z,_, $) pero no
un dgito. Luego se puede colocar caracteres
alfanumricos (a,..,z) y (0,..,9), signos de dlar o
guiones subrayado_.
Los identificadores no pueden ser las palabras
reservadas de Java.
Las maysculas y minsculas se consideran diferentes
$ y _ se interpretan como una letra mas.
Ejemplos vlidos: a, pi314, mi_var, AnTeNa, usd$
Ejemplos no vlidos: 345abc, mi variable,
Nombre.Largo, nia, camin.
Identificadores
Deben ser descriptivos. Ejemplo:
int mayor, menor;
Los identificadores asociados a las
variables se suelen poner en minsculas
int contador;
Cuando el identificador est formado por
varias palabras, la primera palabra va en
minsculas y el resto de palabras se inician
con una letra mayscula.
int valorMayor;
Identificadores
INICIALIZACIN DE VARIABLES
Se pueden inicializar en la declaracin:
int i=0;
double anchura=0, altura=0
Constantes
Las constantes se definen igual que cuando se
declara una variable, pero se le asigna un
valor.
Con la palabra final se impide que se modifique
el valor.
final <tipo> identificador =<valor>;
CONVENCIONES
Los identificadores asociados a las constantes se
suelen poner en maysculas
Si est formado por varias palabras se coloca
entre cada palabra un guin de subrayado
Final char SALTO_DE_LINEA=\n;
EXPRESIONES Y SENTENCIAS
Expresin es una construccin (combinacin de
tokens) que se evala para devolver un valor.
Sentencia es una representacin de una accin
o una secuencia de acciones. En Java todas las
sentencias terminan con punto y coma (;)
CONSTRUCCIN DE EXPRESIONES
Literales y variables son expresiones primarias
1.7 //literal real de tipo double
sum //variable
Los literales se evalan a s mismos
Las variables se evalan a su valor
EXPRESIONES Y SENTENCIAS
Los operadores nos permiten combinar
expresiones primarias y otras expresiones
formadas por operadores
1+5+6*8+(3.5+6)/3
Los operadores se caracterizan por:
El nmero de operandos (unarios, binarios o
ternarios)
El tipo de sus operandos (numricos o
booleanos)
El tipo de valor que generan como resultado.
EXPRESIONES Y SENTENCIAS
Operadores unarios

Operadores binarios

Tipos de los operandos


EXPRESIONES Y SENTENCIAS
Tipo del resultado

SENTENCIAS DE ASIGNACIN
<variable>=<expresin>;
Se evala la expresin que aparece a la derecha del
operador de asignacin (=).
El resultado se almacena en la variable que aparece
a la izquierda del operador de asignacin (=).
EXPRESIONES Y SENTENCIAS
RESTRICCIN DE LA ASIGNACIN
El valor que se obtiene como resultado de
la expresin debe ser compatible con el
tipo de variable.
Una sentencia de asignacin no es una
igualdad matemtica
a=a+1; //evaluacin de expresin
int variable=20; //declaracin con
asignacin
var1=var2; //sentencia de asignacin
EXPRESIONES Y SENTENCIAS
OPERADORES DE INCREMENTO Y
DECREMENTO
EXPRESIONES Y SENTENCIAS
OPERADORES COMBINADOS DE ASIGNACIN
Variable operador=expresin;
Que es igual a variable=variable operador
(expresin);

v[i++]+=2; y v[i++]=v[i++]+2 no son equivalentes


EXPRESIONES Y SENTENCIAS
OPERADORES COMBINADOS DE
ASIGNACIN
El operador += tambin se puede utilizar
con cadenas de caracteres
CONVERSION DE DATOS
A veces interesa convertir un dato de un tipo de
dato a otro tipo de dato para poder operar con l.
Java permite realizar conversiones entre datos de
tipo numrico(enteros y reales), as como trabajar
con caracteres como si fuesen nmeros enteros.
La conversin de un tipo con menos bits a un tipo
con ms bits es automtica (de int a long, de float
a double), ya que el tipo mayor puede almacenar
los valores del tipo menor.}
La conversin de un tipo con ms bits a un tipo
con menos bits hay que realizarla de manera
explcita con castings.
CONVERSION DE DATOS
int i;
byte b
i=7; // no se realiza conversin alguna
b=10; // se permite porque 10 est dentro del
lmite
b=i; //no permitido incluso si i cabe en b
b=(byte) i; // fuerza la conversin
i=(int) 14.456 // almacena 14 en i
Para hacer una conversin de tipo casting basta
con colocar el nombre del tipo deseado entre
parntesis antes del valor que se desea convertir.
CONVERSION DE DATOS

N=Tipos incompatibles, C=Posible prdida de


precisin
CONVERSION DE DATOS
ALGUNOS TEMAS
Al convertir de nmero en coma flotante a
entero, el nmero se trunca (redondeo a
cero)
En la clase Math existen funciones que nos
permiten realizar el redondeo de otras
formas:
Math.round(valor); Math.floor(valor);
Math.ceil(valor);
CONVERSION DE DATOS
CONVERSIN ENTRE CARACTERES Y
NMEROS ENTEROS
Como cada carcter tiene asociado un
cdigo UNICODE, los caracteres pueden
interpretarse como enteros sin signo
int i;
char c;
CONVERSION DE DATOS
CONVERSIN DE CADENAS DE TEXTO EN
DATOS DEL TIPO ADECUADO
Cuando se lee desde teclado se obtiene un
objeto de tipo String, se puede usar:
EVALUACIN DE
EXPRESIONES
La precedencia de los operadores determina el
orden de evaluacin de una expresin.
Cuando aparecen dos operadores con el mismo
nivel de precedencia, la asociatividad de los
operadores determina el orden de evaluacin.
a-b+c-d es equivalente a ((a-b)+c)-d
Porque los operadores aritmticos son asociativos
de izquierda a derecha
a=b+=c=5 es equivalente a a=(b+=(c=5))
Porque los operadores de asignacin son
asociativos de derecha a izquierda.
EVALUACIN DE
EXPRESIONES
En java, los operandos se evalan de
izquierda a derecha: el operando de la
izquierda se evala primero.
Siempre es recomendable usar parntesis,
de manera que sea ms fcil interpretar y
ejecutar la expresin.
Ejemplo: estas dos expresiones generan
resultados diferentes:
n=x+(++x);
n=(++x)+x;

También podría gustarte