programacio´n en java - universidad michoacana de san ...lsc.fie.umich.mx/~pedro/java.pdf · el...
Post on 22-Mar-2020
10 Views
Preview:
TRANSCRIPT
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Programacion en Java
Pedro Chavez Lugomailto:pchavezl74@gmail.com
30 de agosto de 2011
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
1 Introduccion
2 Compilacion e interpretacion
3 Programas de ejemplo
4 Programacion Orientada a Objetos
5 Fundamentos del lenguaje Java
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Historia de Java
El lenguaje de programacion de Java fue desarrollado por Sun Mi-crosystems en 1991. Nace de un proyecto de investigacion paradesarrollar software para comunicacion entre aparatos electronicostales como tv’s, equipos de musica, etc.
Problema del proyecto
El proyecto se enfrento al problema de manejar diferentes micro-procesadores, lo cual implico emplear varios conjuntos de nemonicos.Gracias a esto, el rumbo de la investigacion cambio para producir unnuevo lenguaje de programacion idependientemente del procesador,el cual fue bautizado como Oak .
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Java en Internet
Los investigadores de Sun se dieron cuenta de que los logros alcan-zados en su proyecto de investigacion eran perfectamente aplicadosen Internet, ya que se conforma por una red mundial de computa-doras con diferentes sistemas operativos y diferentes arquitecturasde procesadores.
Consecuencias
Los investigadores abandonaron al proyecto de comunicacion entredispositivos y abordaron el desarrollo de un lenguaje que permitieracrear aplicaciones que se ejecutaran desde un navegador.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Applets de Java
Se empezo a hablar de Java y de sus aplicaciones conocidas co-mo applets. Un applet es un programa en Java que se ejecuta enel contexto de una pagina Web en cualquier computadora, inde-pendientemente de su sistema operativo y de la arquitectura de suprocesador.
Ejecucion de un applet
Para ejecutar un applet solo se necesita un navegador que soportela maquina virtual de Java (JVM).
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Tecnologıa de Java
- Lenguaje de Programacion.
- Plataforma.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje de programacion Java
El lenguaje de programacion Java es un lenguaje de alto nivel quetiene asociado las caracterısticas:
- Simple.
- Orientadoa objetos.
- Multihilos.
- Dinamico.
- Seguro.
- Arquitecturaneutra.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Plataforma
Una plataforma consiste un ambiente formado de hardware o soft-ware en el cual se ejecutan programas.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Plataforma de hardware
Plataforma de hardware consiste de una arquitectura de procesador:
- alpha.
- avr32.
- h8300.
- m32r.
- mips.
- ppc.
- arm.
- i386.
- m68k.
- powerpc.
- sparc.
- sparc64.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Plataforma de software
Las plataformas de software pueden ser un sistema operativo, unentorno de programacion, o una combinacion de ambos.
- Microsoft Windows.
- Unix.
- Linux.
- Solaris OS.
- Mac OS.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Plataforma de Java
La plataforma de Java se conforma solo por software, la cual seejecuta como una plataforma basada en hardware, la cual consistede:
- Maquina Virtual de Java (JVM).
- Interfaz de programacion de aplicaciones (API).
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Introduccion
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion
Un programa escrito en java debe ser compilado para obtener unarchivo en formato de bytecode, el cual corresponde a un codigointermedio que puede ser ejecutado en cualquier plataforma.
Interpretacion
Un codigo en bytecode puede es ejecutado por el interprete quecorresponde a la maquina virtual de Java (JVM).
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion e interpretacion
Interpretacion
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Programas
Requisitos
- Java SE Development Kit (JDK).
- Editor de texto.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Ejemplo
Hola Mundo
/**
* The HelloWorldApp class implements an application
* that simply prints "Hello World!" to standard
* output.
*/
class HolaMundo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Programacion Orientada a Objetos (POO)
POO
La programacion orientada a objetos (POO) es una etapa mas en laevolucion natural del desarrollo de sofware. La POO combina practi-cas probadas a lo largo del tiempo la forma mas eficiente posible.
OO
La orientacion a objetos (OO) es un concepto que abarca cualquiertipo de desarrollo basado en la idea de objeto, una entidad que poseeestados y comportamiento.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Programacion Orientada a Objetos (POO)
Pilares de la POO
- Clases.
- Objetos.
- Metodos.
- Polimorfismo.
- Encapsulacion.
- Herencia.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
POO con Java
Lenguaje Java
- Los programas son construidos en clases.
- Una clase es un modelo de objetos.
- Un Objeto es una instancia de una clase.
Lenguaje Java
El lenguaje Java permite escribir programas en terminos de POO yen terminos de la programacion estructurada.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Tipos de dato primitivos
Java define ocho tipos primitivos, clasificados en cuatro grupos:Enteros(numeros enterospositivos y negativos):
- byte 8-bit (signo).
- short 16-bit (signo).
- int 32-bit (signo).
- long 64-bit (signo).
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Tipos de dato primitivos
Java define ocho tipos primitivos, clasificados en cuatro grupos:Enteros(numeros enterospositivos y negativos):
- byte 8-bit (signo).
- short 16-bit (signo).
- int 32-bit (signo).
- long 64-bit (signo).
Caracteres(Sımbolos como letras ynumeros):
- char 16-bit Unicode.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Tipos de dato primitivos
Java define ocho tipos primitivos, clasificados en cuatro grupos:Enteros(numeros enterospositivos y negativos):
- byte 8-bit (signo).
- short 16-bit (signo).
- int 32-bit (signo).
- long 64-bit (signo).
Caracteres(Sımbolos como letras ynumeros):
- char 16-bit Unicode.
Presicion fraccional(Numeros con puntodecimal):
- float32-bit IEEE 754-1985.
- double64-bit IEEE 754-1985.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Tipos de dato primitivos
Java define ocho tipos primitivos, clasificados en cuatro grupos:Enteros(numeros enterospositivos y negativos):
- byte 8-bit (signo).
- short 16-bit (signo).
- int 32-bit (signo).
- long 64-bit (signo).
Caracteres(Sımbolos como letras ynumeros):
- char 16-bit Unicode.
Presicion fraccional(Numeros con puntodecimal):
- float32-bit IEEE 754-1985.
- double64-bit IEEE 754-1985.
Booleano(Valores logicos):
- booleanverdadero (true) o falso (false).
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Enteros
Especificacion
Nombre Tamano Rango
byte 8 -128 a +127short 16 -32,768 a +32,767int 32 -2,147,483,648 a +2,147,483,647long 64 -9,223,372,036,854,775,808 a
+9,223,372,036,854,775,807
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Enteros
Especificacion
Nombre Tamano Rango
byte 8 -128 a +127short 16 -32,768 a +32,767int 32 -2,147,483,648 a +2,147,483,647long 64 -9,223,372,036,854,775,808 a
+9,223,372,036,854,775,807
Declaracionbyte short int longbyte a,b; short c,d; int e,f; long g,hbyte a=-128,b=127; short c=34,d=-62; int e=-3256,f=678; long g=12,h=-45
int e=032 (octal)int f=0x1a (hexadecimal)
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Presicion fraccional
Especificacion
Nombre Tamano Rango
float 32 -1.4e-45 a +3.4e+38double 64 -4.9e-324 a +1.8e+308
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Presicion fraccional
Especificacion
Nombre Tamano Rango
float 32 -1.4e-45 a +3.4e+38double 64 -4.9e-324 a +1.8e+308
Declaracionfloat doublefloat a,b; double c,d;
float a=-3.1416f,b=3.1416f; double c=-3.5e-12 (-3.5x10−12),d=3.5e+12 (3.5x10+12);
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Presicion fraccional
Especificacion
Nombre Tamano Rango
float 32 -1.4e-45 a +3.4e+38double 64 -4.9e-324 a +1.8e+308
Declaracionfloat doublefloat a,b; double c,d;
float a=-3.1416f,b=3.1416f; double c=-3.5e-12 (-3.5x10−12),d=3.5e+12 (3.5x10+12);
El tipo de dato float nunca debe ser utilizado en el manejo de dinero, para esto
se recomienda emplear double.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Caracteres
Especificacion
Nombre Tamano Rango
char 16 \u0000 (0) a \uffff (65535)
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Caracteres
Especificacion
Nombre Tamano Rango
char 16 \u0000 (0) a \uffff (65535)
Declaracion
char
char a,b,c; char a=’a’, b=’\u0040’(@), c=64 (@);
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Caracteres
Especificacion
Nombre Tamano Rango
char 16 \u0000 (0) a \uffff (65535)
Declaracion
char
char a,b,c; char a=’a’, b=’\u0040’(@), c=64 (@);
El estandar Unicode es un estandar de codificacion de caracteres que intenta fa-
cilitar la transmision y visualizacion de textos de multiples lenguajes y disciplinas
tecnicas.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Boolean
Especificacion
Nombre Tamano Rango
boolean 1 true (verdadero) o false (falso)
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Boolean
Especificacion
Nombre Tamano Rango
boolean 1 true (verdadero) o false (falso)
Declaracion
boolean
boolean a,b; boolean a=true, b=false;int f=20;boolean g = f>10 (true);
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
class datos{
public static void main(String args[])
{
byte a=127, b=-128;
long c=1;
float d=-3.1416f, e=3.1416f;
double f=1e3, g=3.320202020200200202;
char h=’a’, i=’\u0040’,j=64;
boolean k=true, l=a>0;
System.out.println("byte a = "+a+" b = "+b);
System.out.println("long c = "+c);
System.out.println("float d = "+d+" e = "+e);
System.out.println("double f = "+f+" g = "+g);
System.out.println("char h = "+h+" i = "+i+" j = "+j);
System.out.println("boolean k = "+k+" l = "+l);
} Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion de tipos
En la programacion algunas veces es necesario asignar un valor deun tipo a una variable de otro tipo. Si los dos tipos son compatibles,Java realiza la conversion automatica o implıcita.
Conversion de tipos
Sin embargo, no todos los tipos son compatibles, y, por tanto, nocualquier conversion esta permitida. Para esto existe la conversionexplıcita o cast, que permite obtener una coversion entre tipos.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Conversion de tipos
Perdida de presicion
La lınea solida denota conversiones sin perdida de presicion y la lıneapunteada denota conversiones con perdida de presicion.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion automatica
Una conversion automatica de tipos es realizada si se cumplen lassiguientes condiciones:
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion automatica
Una conversion automatica de tipos es realizada si se cumplen lassiguientes condiciones:
- Los tipos son compatibles.
- El tipo destino es mas grande que el tipo fuente(ensanchamiento).
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion automatica
Una conversion automatica de tipos es realizada si se cumplen lassiguientes condiciones:
- Los tipos son compatibles.
- El tipo destino es mas grande que el tipo fuente(ensanchamiento).
Por ejemplo, el tipo int siempre es compatible y lo suficientementeamplio para almacenar todos los valores del tipo byte y short.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion automatica
Una conversion automatica de tipos es realizada si se cumplen lassiguientes condiciones:
- Los tipos son compatibles.
- El tipo destino es mas grande que el tipo fuente(ensanchamiento).
Por ejemplo, el tipo int siempre es compatible y lo suficientementeamplio para almacenar todos los valores del tipo byte y short. Sinembargo, los tipos numericos y el caracter no son compatibles conel tipo boolean.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion explıcita
Para realizar una conversion entre dos tipos incompatibles, se debeusar un cast. Un cast es simplemente una conversion de tipos ex-plıcita (estrechamiento), y tiene la siguiente forma generica:
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion explıcita
Para realizar una conversion entre dos tipos incompatibles, se debeusar un cast. Un cast es simplemente una conversion de tipos ex-plıcita (estrechamiento), y tiene la siguiente forma generica:
- (tipo) valor.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion explıcita
Para realizar una conversion entre dos tipos incompatibles, se debeusar un cast. Un cast es simplemente una conversion de tipos ex-plıcita (estrechamiento), y tiene la siguiente forma generica:
- (tipo) valor.
Donde tipo especifica al tipo que se desea convertir el valorespecificado.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Conversion explıcita
Para realizar una conversion entre dos tipos incompatibles, se debeusar un cast. Un cast es simplemente una conversion de tipos ex-plıcita (estrechamiento), y tiene la siguiente forma generica:
- (tipo) valor.
Donde tipo especifica al tipo que se desea convertir el valorespecificado. Una conversion diferente es la que tiene lugar cuandose asigna un valor de punto flotante a un tipo entero, para lo cualse trunca la parte fraccionaria.int a;byte b;b = (byte) a;
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Comentarios
Existen tres tipos de comentarios definidos por Java:
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Lenguaje Java
Comentarios
Existen tres tipos de comentarios definidos por Java:
- Comentario de una sola lınea (//).
- Comentario de multiples lıneas (/* */).
- Comentario de documentacion (/** */ y etiquetas).
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Operadores
Aritmeticos
Operador Significado
+ Adicion- Sustraccion* Multiplicacion/ Division% Modulo
- La division entera entrecero es una excepcion.
- La division puntoflotante entre cerogenera infinito o NAN(Not A Number).
Abreviacion de operadores aritmeticos y el operador asignacion:Expresion Equivalenciax+=4 x=x+4x-=4 x=x-4x*=4 x=x*4
Expresion Equivalenciax/=4 x=x/4x%=4 x=x%4
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Operadores
Auto Incremento ydecremento
Operador Significado
++ Adiciona 1- - Sustrae 1
Postfijo y Prefijo:
n++, n- - (autoincremento ydecremento postfijo).post-incremento
++n, - -n (autoincremento ydecremento prefijo).pre-incremento
int m=7;int n=7;int a = 2 * ++m; (a es 16 y m es 8)
int b = 2 * n++; (b es 14 y n es 8)
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Operadores
Relacionales
Operador Significado= = Igual que!= Diferente<,<= menor que y
menor o igual que>,>= mayor que y
mayor o igual que
Booleanos
Operador Significado&& Operacion AND|| Operacion OR& AND cortocircuito| OR cortocircuito! Operacion NOT
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Parentesis, precedencia y asociatividad de operadores
Parentesis
Cuando escriba una expresion que contenga muchos operadores, debe con-firmar que las operaciones en la expresion se realicen en el orden esperado.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Parentesis, precedencia y asociatividad de operadores
Parentesis
Cuando escriba una expresion que contenga muchos operadores, debe con-firmar que las operaciones en la expresion se realicen en el orden esperado.Si no se esta seguro del orden de evaluacion en una expresion compleja, serecomienda utilizar parentesis para forzar el orden de evaluacion.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Parentesis, precedencia y asociatividad de operadores
Parentesis
Cuando escriba una expresion que contenga muchos operadores, debe con-firmar que las operaciones en la expresion se realicen en el orden esperado.Si no se esta seguro del orden de evaluacion en una expresion compleja, serecomienda utilizar parentesis para forzar el orden de evaluacion.
AsociatividadOperadores Asociatividad*, /,% izquierda a derecha+, - izquierda a derecha<,<=, >,>= izquierda a derecha==, != izquierda a derecha= derecha a izquierda
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Parentesis, precedencia y asociatividad de operadores
Parentesis
Cuando escriba una expresion que contenga muchos operadores, debe con-firmar que las operaciones en la expresion se realicen en el orden esperado.Si no se esta seguro del orden de evaluacion en una expresion compleja, serecomienda utilizar parentesis para forzar el orden de evaluacion.
AsociatividadOperadores Asociatividad*, /,% izquierda a derecha+, - izquierda a derecha<,<=, >,>= izquierda a derecha==, != izquierda a derecha= derecha a izquierda
b = a*c a < bx = c+d/a-f d != z
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Parentesis, precedencia y asociatividad de operadores
Parentesis
Cuando escriba una expresion que contenga muchos operadores, debe con-firmar que las operaciones en la expresion se realicen en el orden esperado.Si no se esta seguro del orden de evaluacion en una expresion compleja, serecomienda utilizar parentesis para forzar el orden de evaluacion.
AsociatividadOperadores Asociatividad*, /,% izquierda a derecha+, - izquierda a derecha<,<=, >,>= izquierda a derecha==, != izquierda a derecha= derecha a izquierda
b = a*c a < bx = c+d/a-f d != z
x = (c+d)/(a-f)x = c+(d/a)-f
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Parentesis, precedencia y asociatividad de operadores
Precedencia
Precedenciamas alta()++ - - !* / %+ -> >= < <== = !=&&||=
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Parentesis, precedencia y asociatividad de operadores
Precedencia
Precedenciamas alta()++ - - !* / %+ -> >= < <== = !=&&||=
int a,b=6,c=8,d=2,e=4;a = b+c*d/e-d %2;
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Parentesis, precedencia y asociatividad de operadores
Precedencia
Precedenciamas alta()++ - - !* / %+ -> >= < <== = !=&&||=
int a,b=6,c=8,d=2,e=4;a = b+c*d/e-d %2;boolean i;i = (a < b) && (c > d) || (e >= 4);
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Operadores a nivel de bit
Java define varios operadores a nivel de bit que se pueden aplicar a los tiposenteros, byte, short, int, long y char.
Op Significado
˜ NOT a nivel de bit& AND a nivel de bit| OR a nivel de bit>> Desp. der. (valor >> num)<< Desp. izq. (valor << num)
Operador Significado
&= AND y asignacion|= OR y asignacion>>= Desp. der. y asignacion<<= Desp. der. y asignaciona>>=2 a<<=2
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Operadores a nivel de bit
Java define varios operadores a nivel de bit que se pueden aplicar a los tiposenteros, byte, short, int, long y char.
Op Significado
˜ NOT a nivel de bit& AND a nivel de bit| OR a nivel de bit>> Desp. der. (valor >> num)<< Desp. izq. (valor << num)
Operador Significado
&= AND y asignacion|= OR y asignacion>>= Desp. der. y asignacion<<= Desp. der. y asignaciona>>=2 a<<=2
a=1, b=˜a b = -2a=7,b=3 c=a&b=3a=7,b=3 c=a|b=7
a=16 b = a>>1 = 8a=16 b = a<<1 = 32
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Sentencias de control
Un lenguaje de programacion utiliza sentencias de control para hacer que elflujo de ejecucion avance o se bifurque en funcion de los cambios de estado enel programa. Las sentencias de control se clasifican en los grupos:
- Seleccion.
- Iteracion.
- Salto.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Sentencias de seleccion
Java admite dos sentencias de seleccion: if y switch. Estas sentencias controlanel flujo de ejecucion en funcion de condiciones conocidas durante el tiempo deejecucion.
if
La sentencia if es una sentencia de bifurcacion condicional, para dirigir el flujode ejecucion hacia dos caminos diferentes. Sintaxis:
if(condicion)sentencia1;else sentencia2;
La condicion es cualquierexpresion que devuelva un valorbooleano y la clausula else esopcional.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Sentencias de seleccion
if anidados
Un if anidado es una sentencia if que esta dentro de otro if o else.
i f ( i == 10){i f ( j < 20) a = b ;i f ( k > 100) c = d ;e l s e a = c ;} e l s e a = d ;
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Sentencias de seleccion
if-else-if multiples
Una construccion if-else-if se basa en una secuencia de if anidados. Su formatoes el siguiente:if(condicion)sentencia;else if(condicion)sentencia;else if(condicion)sentencia;...
else sentencia;
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Operador ternario
Operador ?
Java incluye un operador ternario que puede sustituir a ciertos tipos de if-else.Este operador es ?, sintaxis:expresion1? expresion2: expresion3 ;
expresion1 puede ser cualquier expresion que de como resultado un valor tipo
boolean. Si expresion1 genera como resultado true, entonces se evalua
expresion2, en caso contrario se evalua expresion3. Es necesario que expresion2
y expresion3 devuelvan el mismo tipo que no puede ser void.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Sentencias de seleccion
switch
La sentencia switch es una sentencia de bifurcacion multiple, con el siguienteformato general:switch(expresion){
case valor1 :sentenciasbreak;
case valor2 :sentenciasbreak;
case valorN:sentenciasbreak;
default:
}Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Sentencias de iteracion
while, do-while, for
Las sentencias while, do-while y for permiten crear lo que comunmente sedenominan ciclos.
while
while(condicion){cuerpo
}
do-while
do{cuerpo
}while(condicion);
for
for(inicializacion; condicion; iteracion){cuerpo
}
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Sentencias de salto
break, continue, return
Las sentencias break, continue y return transfieren el flujo de ejecucion a otraparte del programa.
break
Finalizar a switch
Finalizar un ciclo.
continue
La sentencia continue forzaen un ciclo la ejecucion deuna nueva iteraciondescartando elprocesamiento de laiteracion actual.
return
return se utiliza para salir explıcitamente de un metodo, es decir hace que elcontrol de flujo se vuelva al metodo llamante.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Arreglos
Un arreglo es un conjunto de datos homogeneo, finito y ordenado.Los arreglos pueden tener una dimension igual a uno(unidimensional) o mayor (multidimensional). Para acceder a unelemento del arreglo se utiliza un ındice. Los arreglos en Java sonobjetos.
72 −896 0 1543 0−45a
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[8]Identificadoro nombredel arreglo
Indice o subindicedel elementoen el arreglo
62
Valor asociadoal elementodel arreglo
Longitud del arreglo
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Arreglos
Arreglo unidimensional
Un arreglo unidimensional es esencialmente una lista de variables del mismotipo.
Declaracion
tipo nombre[];
intdias del mes[];(null)
nombre = newtipo[tamano];
dias del mes = newint[12];
int dias del mes[] = new int [12];
int [] dias del mes = new int [12];
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Arreglos
Arreglos Multidimensional
Los arreglos multidimensionales tienen asociado mas de un ındice.
Declaracion
int dias del mes[][];
int dias del mes[][][];
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Objeto
Definicion
Pieza fundamental de la tecnologıa orientada a objetos.
Ejemplos: bicicleta, escritorio, automovil, etc.
En el mundo real los objetos comparten dos caracterısticas: estado ycomportamiento.Ası, por ejemplo un automovil tiene como estado un color, modelo, numero depuertas y de comportamiento se tiene apagado, encendido, acelerando,frenando.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Objetos
Estado y comportamiento
Estado - datos.
Comportamiento - metodos de instancia (procedimientos).
En la POO un objeto es una entidad que encapsula datos y metodos. Unobjeto corresponde a un tipo de dato definido por una clase.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Clase
Definicion
Una clase corresponde a un modelo de un objeto y un objeto corresponde auna instancia de una clase.
Caracterısticas
Define un tipo de dato.
identificador class
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Clase
Forma general
class nombre de clase {tipo variable de instancia1 ;tipo variable de instancia2 ;//...tipo variable de instanciaN;
metodo constructor1(parametros){//cuerpo del metodo}//...metodo constructorN(parametros){//cuerpo del metodo}
tipo nombre de metodo1(parametros){//cuerpo del metodo}
tipo nombre de metodoN(parametros){//cuerpo del metodo}
}
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Clase
Clase y objeto
class Caja {double ancho;double alto;double largo;
}Para crear un objeto se utiliza al operador new, que asigna memoriadinamicamente al objeto y devuelve la referencia al mismo.Caja micaja = new Caja();oCaja micaja;micaja = new Caja();
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Metodo constructor
Constructor
Un metodo constructor inicializa las variables (datos) de un objeto. Este tieneel mismo nombre de la clase. Los metodos constructores no devuelven ningunvalor, ni siquiera void.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Metodos
En Java es posible definir dos o mas metodos que compartan el mismo nombre,dentro de la misma clase siempre y cuando la declaracion de sus parametros seadiferente. Cuando se produce esta situacion se dice que los metodos estansobrecargados, y que el proceso es llamado sobrecarga de metodos(polimorfismo).Ademas de sobrecargar metodos normales, tambien se pueden sobrecargar losmetodos constructores.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Control de acceso
Encapsulacion
La encapsulacion relaciona datos y codigo que opera sobre los mismos, peroademas, la encapsulacion proporciona otro atributo importante: control deacceso. El control de acceso de la encapsulacion permite controlar el acceso alos miembros de una clase desde las diferentes partes de un programa, paraimpedir un mal uso de los mismos.
Identificadores
public
private
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Control de acceso
public
Cuando se aplica a un miembro de una clase el especificador public, entoncespuede tener acceso a ese miembro cualquier miembro de cualquier clase.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Control de acceso
private
Cuando se aplica a un miembro de una clase el especificador private, entoncessolo pueden tener acceso a ese miembro los miembros de su clase.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Clase String
Cadena de caracteres
La clase String permite crear objetos del tipo cadena de caracteres, la cual seespecifica entre comillas dobles. Esta clase define varios metodos constructores:String()String(String)-etcMetodos de instancia:char CharAt(int index), int CompareTo(String), String concat(String), intlength(), String replace (char oldchar, char newchar), String toLowerCase(),String toUpperCase().
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Clase Math
Metodos para operaciones numericas
La clase Math tiene una coleccion de metodos estaticos para realizaroperaciones numericas:double abs(double), int abs(int), double max(double, double), int max(int,int),int min(int, int), double min(double,double), double random(), doublesqrt(double), etc.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Herencia
Pieza fundamental de la POO
Una clase puede ser heredada por otra clase.
La clase heredada se denomina superclase y la clase que hereda subclase.
La palabra reservada extends es utiliza para especificar que una clase heredaotra clase.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Excepciones
Manejo de errores
Java ofrece un mecanismo para la gestion de excepciones. Una excepcion esuna condicion anormal que surge en una secuencia de codigo en tiempo deejecucion (error en tiempo de ejecucion).La excepciones pueden ser tratadas mediante las instrucciones try y catch. Lasexcepciones evitan que un programa deje de ejecutarse cuando se presenta unerror.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Tipos de excepciones
Manejo de errores
Java define varios tipos de excepciones:
ArithmethicException - Error aritmetico, ej. division entre cero.
ArrayIndexOutOfBoundsException - Indice de arreglo fuera de su lımite.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 1. Buscar en el disco duro al archivo javac.exe.La finalidad es obtener el directorio del jdk.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 2. Ejecutar el interprete de comandos (shell) de windows.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 3. Ejecutar el comando cmd con .. y enter.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 4. Ejecutar el comando cmd con .. y enter.La finalidad es ubicarse en la raız de unidad C.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 5. Ejecutar el comando cmd con el nombre del directorio quecontiene al directorio java y enter.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 6. Ejecutar el comando cmd con el nombre del directorio java yenter.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 7. Ejecutar el comando cmd con el nombre del directorio jdk(presionar tecla Tab) y enter.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 8. Ejecutar el comando cmd con el nombre del directorio bin y enter.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 9. Los codigos de Java debe ser guardados en el directorio quecontiene al archivo javac.exe obtenido en el paso 1.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
hola.java
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 10. Compilar con el programa javac.exe el archivo hola.java.
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Esto genera un archivo de nombre y extension hola.class (bytecode).
Pedro Chavez Lugo Programacion en Java
IntroduccionCompilacion e interpretacion
Programas de ejemploProgramacion Orientada a Objetos
Fundamentos del lenguaje Java
Compilacion y ejecucion de codigo Java en Windows
Paso 11. Ejecutar con el programa java.exe el archivo hola.class.
Pedro Chavez Lugo Programacion en Java
top related