El Lenguaje Java Taller de Sistemas de Programas Sandra Zabala, Marilenis Olivera Ivette...
date post
23-Jan-2016Category
Documents
view
212download
0
Embed Size (px)
Transcript of El Lenguaje Java Taller de Sistemas de Programas Sandra Zabala, Marilenis Olivera Ivette...
El Lenguaje JavaTaller de Sistemas de Programas
Sandra Zabala, Marilenis OliveraIvette Martnez, Pedro Garca
Qu es Java?Un lenguaje de programacin Orientado por Objetos desarrollado por Sun MicrosystemsUna mquina virtual (ambiente de ejecucin) que puede ser embebido en navegadores del web y diversos sistemas operativosUn conjunto estandarizado de libreras de Clases.
Por qu Java?Es independiente de la plataformaEs Orientado por ObjetosPequeo -> Fcil de aprenderSeguroRobustoPermite recursinMulti-Thread
SintaxisMuy similar a C/C++Fcil de aprenderPocos conceptosNo aritmtica de apuntadoresNo structs, typedef ni #defineNo se necesita liberar memoriaNo core dumps (Fallas de acceso a memoria)
IdentificadoresSon case sensitive Los identificadores de clases comienzan con maycula.Los identificadores de variables y mtodos comienzan con minsculas.Si el identificador tiene ms de 2 palabras, de la segunda en adelante comienzan con mayscula.
Tipos Simplesboolean (1bit)byte (8 bits, con signo)char (16 bits, sin signo, UNICODEshort (16 bits, con signo)int (32 bits, con signo)
Tipos Simples (cont.)long (64 bits, con signo)float (32 bits, IEEE 754)double (64 bits, IEEE 754)
Ms sobre tiposboolean es realmente un tipo, no es un enteronull es una palabra clavelos enteros no son apuntadoresChequeo adicional de tipos -> Es fuertemente tipeado.
Declaracin de variables y constantesTodas las variables y constantes deben ser declaradas antes de su usoPara declarar constantes, se utiliza la palabra reservada final. [=] Ej:
Operadores: AritmticosBinarios+ Suma- Resta* Multiplicacin/ Divisin% Mdulo
Unarios+ Positivo- Negativo++ Auto-incremento 1-- Auto-decremento 1
** Tanto el ++ como el -- pueden ser prefijos o postfijos
- Operadores: Relacionales y LgicosRelacionales> Mayor< Menor>= Mayor o igual
Operadores: Asignacin+=v += 5 v = v + 5-=v -= 5 v = v - 5*=v *= 5 v = v * 5/=v /= 5 v = v / 5%=v %= 5 v = v % 5No pueden sobrecargarse.
Operadores: CastingPermite la conversin de un tipo a otroDesde un tipo pequeo a uno grande provoca prdida de informacin. Sintaxis y ejemplo:(nombre del tipo) valor
(int) (x/y)
Flujo de Controlif (expr) instruccin else instruccinfor (expr; expr; expr) instruccinwhile (expr) instruccindo instruccin while (expr)switch (expr) {}
ClasesImplementacin simple de herenciaHerencia mltiple de interfacesInformacin de tipos disponible a tiempo de corridaTodos los mtodos son virtuales o estticosNo hay funciones, slo mtodos.
Ejemplo de clasesclass Car{void beep(){System.out.println(beep);}int maxSpeed(){return 55;}}
class Porsche extends Car{int maxSpeed(){return 200;}}
Ejemplo de clases (cont.)Car c = new Car();Porsche p = new Porsche();
c.beep();p.beep();
int s1 = c.maxSpeed();int s2 = p.maxSpeed();
ArreglosSon objetosSon dinmicosSe pasan por referenciaSe chequean los lmites
Arreglos (cont.)int rgb[] = new int[3];rgb[0] = 255;rgb[1] = 100;rgb[2] = 100;
int avg = sum(avg) / rgb.length;
int err = rgb[4] //error
VectoresImplementan Arreglos de tamao variableConstructoresVector(), Vector(n), Vector(n,m); donde n es la capacidad y m el incremento de la capacidadaddElement();contains(Object); indexOf(Object);elementAt(int); setElementAt(Object, int);
StringsLos Strings son objetos16 bits UNICODESystem.out.println (Hello World);
String hello = Hello;String world = World;System.out.println (hello + + world);
int len = hello.length;String str = hello.substring(1,len);System.out.println(j + str);
char ch = hello.charAt(0);
InterfacesDefinen una interfaz que una clase debe implementarUna clase puede implementar varias interfaces
Interfaces (cont.)interface Imprimible{void imprimir();}
class Cosa implements Imprimible{void imprimir(){System.out.println(Cosa);}}
Lista Imprimiblevoid imprimirTodo(Imprimible list{for (int i = 0 ; i < list.length; i++){ list[i].imprimir();}
Imprimible lista[] = {new Cosa(),new OtraCosa()}
imprimirTodo(lista);
Modificadores de Accesopublic - Cualquiera puede tener accesoprotected - Slo pueden tener acceso las subclasesprivate - Slo puede tener acceso la clase misma.El acceso por defecto es por cualquier clase en el mismo paquete (package).
Restringiendo el acceso a las variablesclass Punto{private int x, y;public Punto(int x; int y){this.x = x;this.y = y;}public getX(){return x;}public getY(){return y;}}
PaquetesPermiten agrupar clases e interfaces. Los nombres son palabras separadas por puntos y se almacenan en directorios que coinciden con esos nombres.Ejemplo:Los archivos Applet.java, AppletContext.java, AppletStub.java, AudioClip.java tienen la siguiente lneapackage java.lang.applet
PaquetesSe cargan con la palabra importimport java.Date;import java.awt.*; Si un archivo no pertenece a un paquete se coloca en el mismo directorio y se carga con la sentenciaimport MiClase
PaquetesJava.lang - Object, Thread, Exception, String, System, Number, java.util - Hashtable, Vector, BitSet, Date, Cache, java.io - InputStream, OutputStream, BufferedInputStream, PrintStream, java.tools - Compilation, Debuggin, Documentation, Profiling,NetworkingAbstract window toolkit
Manejo de ErroresSoportado mediante excepciones.El modelo usado es el de C++.Try{a = 10; b = 0;result = a/b;return result;}catch (ArithmeticException e){System.out.println(Divisin por cero);return -1;}finally{System.out.println(Siempre se ejecuta);}
Manejo de ErroresGeneracin de excepciones:Implcita: El programa hace algo ilegalExplcita: throwthrow ObjetoExcepcion;
class ExcepcionLimiteDeVelocidad extends Exception{}
try{if (velocidad > 300)throw ExcepcionLimiteDeVelocidad;}catch(ExcepcionLimiteDeVelocidad e){System.out.println(Vas muy rpido);return;}
Manejo de ErroresExcepciones PredefinidasArithmeticExceptionNullPointerExceptionClassCastExceptionNegativeArraySizeExceptionOutOfMemoryExceptionArrayIndexOutOfBoundsException...
Haciendo que funcione...Para compilar: javacclass prueba{public static void main(String args[]){}}Para ejecutar: javaDocumentacin automtica: javadoc
Tags de javadoc
Tag
Descripcin
Aplica a
@see
Nombre de clase asociada
Clases, mtodos o variables
@author
Nombre del autor
Clases
@version
Versin
Clases
@param
Nombre y descripcin del parmetro
Mtodos
@return
Descripcin del valor de retorno
Mtodos
@exception
Nombre y descripcin de la excepcin.
Mtodos