INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ
|
|
|
- Alejandra Rodríguez Martin
- hace 8 años
- Vistas:
Transcripción
1 INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ Tema 3 Clases y Objetos Tema 4 Comunicación entre objetos. Algoritmos Tema 5 Herencia y abstracción de datos Tema 6 Diseño de clases
2 Diseño de clases Acoplamiento Cohesión Diseño dirigido por responsabilidades Refactorización Conceptos sobre ficheros Ficheros en Java Ficheros binarios Ficheros de texto
3 Necesidad de un buen diseño Objetivo de un buen diseño: minimizar tiempo de programación y errores Mantenimiento del código Modificaciones futuras Añadir nuevas funcionalidades Adapatación a nuevas situaciones Reusabilidad Un buen diseño Requiere esfuerzo Recompensa a largo plazo
4 Síntomas indicadores de un mal diseño Rigidez las clases son difíciles de cambiar Fragilidad al introducir cambios las clases dejan de funcionar Viscosidad las clases son difíciles de utilizar correctamente Inmovilidad las clases son difíciles de reutilizar Complejidad innecesaria Repetición innecesaria abuso de copiar y pegar Opacidad aparente desorganizacion
5 Principios para eliminar estos síntomas Acoplamiento bajo Cohesión alta Diseño dirigido a responsabilidades Refactorización
6 Acoplamiento Medida de la conectividad entre clases Determina el grado de dificultad en la realización de modificaciones Clases fuertemente acopladas Un cambio en una clase se ha de propagar al resto Al introducir cambios en una clase las clases acopladas dejan de funcionar La introducción de cambios consume tiempo Aumenta el peligro de cometer errores Clases débilmente acopladas (deseable) Cada clase es altamente independiente del resto Un cambio en una clase no se ha de propagar al resto Al introducir cambios en una clase el resto de clases siguen funcionando La introducción de cambios consume poco tiempo La comunicación entre clases débilmente acopladas se realiza mediante una interfaz
7 Ejemplo de acoplamiento (I) Solución acoplada al problema de rotación de puntos en el plano public class Punto { private double x; private double y; public Punto rotar( double[][] R ) // R, matriz de rotación { Punto pr = new Punto(); // Punto rotado pr.x = R[0][0] * x + R[0][1] * y; pr.y = R[1][0] * x + R[1][1] * y; return pr;
8 Ejemplo de acoplamiento (II) Si modificamos la representación de los campos en la clase Punto tenemos que modificar las instrucciones del método Rotar. public class Punto { private double x; private double y; public class Punto { public class Punto { private double[] x; private double x; private double y; private double[]x; public Punto Rotar() { Punto pr = new Punto(); // Punto rotado pr.x = R[0][0] * x + R[0][1] * y; pr.y = R[1][0] * x + R[1][1] * y; pr.x[0] = R[0][0] * x[0] + R[0][1] * x[1]; pr.x[1] = R[1][0] * x[0] + R[1][1] * x[1]; return pr;
9 Ejemplo de acoplamiento (III) Solución desacoplada al problema de rotación de puntos en el plano mediante encapsulación. Aunque modifiquemos la representación de los campos de la clase Punto el método Rotar sigue siendo correcto. public class Punto { private double x; private double y; public double getx() { return x; public void setx( double nx ) { x = nx; public class Punto { private double[] x; public class Punto { public Punto rotar( double[][] R ) { Punto pr = new Punto(); // Punto rotado pr.setx( R[0][0] * getx() + R[0][1] * gety() ); pr.sety( R[1][0] * getx() + R[1][1] * gety() ); public double getx() { return x[0]; public void setx( double nx ) { x[0] = nx; return pr;
10 La encapsulación reduce el acoplamiento Encapsulación de datos (concepto introducido en Tema 5) Objetivos de la encapsulación Mostrar información de la interfaz qué hace una clase Ocultar información de la implementación cómo hace una clase Cada clase ha de ser responsable de manejar sus propios datos La definición de los campos es privada El acceso y la modificación de los campos desde otras clases se realiza mediante métodos get y set
11 Acoplamiento implícito Una clase depende de la información interna de otra pero la dependencia no es obvia Difícil de detectar
12 Cohesión Medida de la coherencia de las clases y su contenido Determina el número y diversidad de tareas de las que son responsables Clases Métodos Cohesión alta deseable Clases responsables de tareas coherentes entre sí Métodos responsables de una sóla tarea lógica Reusabilidad Clases y métodos coherentes pueden ser reutilizados en contextos diferentes
13 Ejemplo de cohesión (I) Solución con mala cohesión al problema de rotación de puntos en el plano public class RotacionPunto { La clase RotacionPunto desempeña dos private double x; // Coordenada x del punto a rotar tareas: private double y; // Coordenada y del punto a rotar 1. Representar las coordenadas de un private double[][] R; // Matriz de rotación punto del plano 2. Calcular la rotación de un punto del plano public void rotar() { double xr; // Coordenada x del punto rotado double yr; // Coordenada y del punto rotado El método Rotar desempeña dos tareas: 1. Calcular el punto rotado 2. Mostrar el mensaje por pantalla xr = R[0][0] * x + R[0][1] * y; yr = R[1][0] * x + R[1][1] * y; otros métodos System.out.println( El punto rotado es (, x,,, y, ) ); Además no podemos devolver el punto rotado para que pueda ser utilizado en
14 Ejemplo de cohesión (II) Solución con buena cohesión al problema de rotación de puntos en el plano public class Punto { private double x; private double y; public void mostrarpunto() { System.out.println( (, x,,, y, ) ); La clase Punto desempeña tareas relacionadas con la representación de puntos: 1. Representar las coordenadas de un punto del plano 2. Mostrar las coordenadas La clase RotacionPunto desempeña tareas relacionadas con la rotación de puntos: Calcular la rotación de un punto del plano public class RotacionPunto { private Punto p; // Punto a rotar private double[][] R; // Matriz de rotación public Punto rotar() { Punto pr= new Punto(); pr.setx( R[0][0] * p.getx() + R[0][1] * p.gety() ); pr.sety( R[1][0] * p.getx() + R[1][1] * p.gety() ); return pr;
15 Ejemplo de cohesión (III) Solución con buena cohesión al problema de rotación de puntos en el plano public class Punto { private double x; private double y; public void mostrarpunto() { System.out.println( (, x,,, y, ) ); El método Rotar desempeña la tarea de calcular el punto rotado La clase Punto permite devolver el punto rotado para que pueda ser utilizado por otros métodos La clase Punto puede ser reutilizada por otras clases, por ejemplo, TraslacionPunto public class RotacionPunto { private Punto p; // Punto a rotar private double[][] R; // Matriz de rotación public Punto rotar() { Punto pr= new Punto(); pr.setx( R[0][0] * p.getx() + R[0][1] * p.gety() ); pr.sety( R[1][0] * p.getx() + R[1][1] * p.gety() ); return pr;
16 Duplicación de código Indicador de mala cohesión Diseño de mala calidad Incrementa el trabajo a la hora de realizar cambios Aumenta el riesgo de errores Cambiar el código duplicado en un sitio si y otro no
17 Diseño dirigido por responsabilidades Sigue el principio de responsabilidad única Tom DeMarco 1979 Structured Analysis and System Specification Cada clase ha de responsabilizarse de una sola tarea lógica Seguir el principio de responsabilidad única reduce el acoplamiento
18 Ejemplo de diseño orientado a responsabilidades En el problema de rotación de puntos en el plano la clase punto debería ser responsable de su rotación public class Punto { private double x; private double y; public void mostrarpunto() { System.out.println( (, x,,, y, ) ); public Punto rotar( double[][] R ) { Punto pr= new Punto(); pr.setx( R[0][0] * p.getx() + R[0][1] * p.gety() ); pr.sety( R[1][0] * p.getx() + R[1][1] * p.gety() ); return pr;
19 Refactorización Reestructuración de un código existente que altera su estructura interna sin cambiar su comportamiento externo Persigue mejorar el código en algún aspecto (eficiencia, reusabilidad, extensión...) Supone repensar y rediseñar la estructura de clases y métodos División o unión de clases División o unión de métodos
20 Ejemplos de refactorización (I) Si el mismo fragmento de código está en todas las ramas de una expresión condicional se puede mover fuera de la expresión if( x % 2 == 0 ) { y = y + 1; System.out.println( y ); else { y = y 1; System.out.println( y ); if( x % 2 == 0 ) { y = y + 1; else { y = y 1; System.out.println( y ); Código sin refactorizar Código refactorizado
21 Ejemplos de refactorización (II) Si tienes una expresión condicional complicada, convierte la condición en un método booleano if( (anio % 4 == 0 && anio % 100!= 0) anio mod 400 == 0 ) System.out.println( Bisiesto ); else System.out.println( No bisiesto ); boolean esbisiesto( int anio ) { return anio % 4 == 0 && anio % 100!= 0) anio mod 400 == 0; if( esbisiesto( anio ) ) System.out.println( Bisiesto ); else System.out.println( No bisiesto ); Código sin refactorizar Código refactorizado
22 Ejemplos de refactorización (III) Si tienes un bucle que realiza dos tareas, dividelo en dos double mediaedad = 0.0; double totalsalario = 0.0; for( int i = 0; i < empleados.longitud; i++ ) { mediaedad += empleados[i].edad; totalsalario += empleados[i].salario; mediaedad /= empleados.longitud; System.out.println( mediaedad ); System.out.println( totalsalario ); double mediaedad = 0.0; double totalsalario = 0.0; for( int i = 0; i < empleados.longitud; i++ ) mediaedad += empleados[i].edad; for( int i = 0; i < empleados.longitud; i++ ) totalsalario += empleados[i].salario; mediaedad /= empleados.longitud; System.out.println( mediaedad ); System.out.println( totalsalario ); Código sin refactorizar Código refactorizado
23 Ejemplos de refactorización (IV) Si tienes una variable local con un alcance mayor a dónde se utiliza, reduce su alcance para que sea sólo visible donde es realmente utilizada int x = 0; // x no se utiliza aqui if( condicion ) { // x se utiliza aqui // x no se utiliza aqui if( condicion ) { int x = 0; // x se utiliza aqui Código sin refactorizar Código refactorizado
24 Ejemplos de refactorización (V) Si tienes un conjunto de datos que van juntos de manera natural, reemplázalos por un objeto private int numerador; private int denominador; public class Fraccion { private int numerador; private int denominador; Código sin refactorizar Código refactorizado
25 Ejemplos de refactorización (VI) Si tienes dos clases con características similares, crea una superclase y mueve los campos comunes a ella public class SemaforoAutomoviles { private char color; private double tverde; private double tambar; private double trojo; public void cambiarcolor( char nc ) public class SemaforoPeatones { private char color; private double tverde; private double trojo; public void cambiarcolor( char nc ) public class Semaforo { private char color; private double tverde; private double trojo; public void cambiarcolor( char nc ) public class SemaforoAutomoviles extends Semaforo { private double tambar; public class SemaforoPeatones extends Semaforo { Código sin refactorizar Código refactorizado
26 Ejemplos de refactorización (VII) Si tienes constructores en subclases con cuerpos casi idénticos, crea un constructor de superclase y llámalo desde las subclases public class Empleado { private String nombre; private String id; public Empleado() { public Empleado( String nnombre, String nid ) { nombre = nnombre; id = nid; public class Manager extends Empleado { private int grado; ) public Manager( String nnombre, String nid, int ngrado { setnombre(nnombre); setid(nid); grado = ngrado; Código sin refactorizar public class Manager extends Empleado { private int grado; ) public Manager( String nnombre, String nid, int ngrado { super( nnombre, nid ); grado = ngrado; Código refactorizado
27 Mas ejemplos de refactorización
28 Diseño de clases Acoplamiento Cohesión Diseño dirigido por responsabilidades Refactorización Conceptos sobre ficheros Ficheros en Java Ficheros binarios Ficheros de texto
29 Índice Introducción Conceptos Básicos de Ficheros Operaciones sobre ficheros Tipos de ficheros Ficheros en Java Conceptos Básicos de Entrada/Salida Ficheros Binarios Leer bytes: InputStream, FileInputStream Escribir bytes:outputstream, FileOutputStream Gestión de excepciones: IOException, FileNotFoundException Ficheros de Texto Leer carácter: Reader, FileReader Escribir caracteres: Writer, FileWriter Escribir texto formateado: PrintWriter Leer texto formateado: Scanner
30 Conceptos Básicos de Ficheros Estructuras de Datos estudiadas: Tipos: vectores, matrices, etc. Almacenadas en memoria principal (RAM) Rápida Volátil Tamaño Limitado Para tratar grandes volúmenes de información es necesario almacenarla en memoria secundaria (Disco Duro, CD-ROM, Disquete, Disco USB, etc.) Los datos agrupados en estructuras denominadas archivos o ficheros (File en inglés)
31 Conceptos Básicos de Ficheros Un archivo o fichero es una colección de datos homogéneos almacenados en un soporte físico del computador que puede ser permanente o volátil. Datos homogéneos: Almacena colecciones de datos del mismo tipo. Puede ser almacenado en diversos soportes (Disco duro, CD, DVD, )
32 Operaciones sobre Ficheros Tipos de operaciones Operación de Creación Operación de Apertura. Varios modos: Sólo lectura Sólo escritura Lectura y Escritura Operaciones de lectura / escritura Operaciones de inserción / borrado Operaciones de renombrado / eliminación Operación de cierre
33 Operaciones sobre Ficheros Operaciones para el manejo habitual de un fichero: 1.- Crearlo (sólo si no existía previamente) 2.- Abrirlo 3.- Operar sobre él (lectura/escritura, inserción, borrado, etc.) 4.- Cerrarlo
34 Tipos de Ficheros La clase File (del paquete java.io) puede usarse para representar el nombre de un archivo concreto o directorio. Para gestionar el sistema de ficheros se utiliza la clase File. El constructor más habitual de esta clase es File(String path). Métodos más usados de File boolean isdirectory(): retorna si es un directorio boolean isfile(): retorna si es un fichero boolean mkdir(): crea un directorio. Si se puede realizar la operación, devuelve true. Si no, retorna false (ya existe el directorio, no se tienen permisos,...) String[] list(): en caso de ser un directorio, retorna un array con el contenido. Si no, retorna null
35 Tipos de Ficheros Ejemplos: //f representa un File en C:\trabajo\carta.txt File f = new File( C:\\trabajo\\carta.txt ); //comprobamos si existe System.out.println(f.isFile()); Cambio de directorio con \\ File d1 = new File( fundamentos ); d1.mkdir(); //en caso de no existir crea el directorio fundamentos //en el directorio desde donde se ejecuta el programa File d2 = new File ( C:\\trabajo ); String [] listado = d2.list(); //guarda contenido de d2 en listado
36 Tipos de Ficheros Clasificación de los ficheros según el tipo de la información almacenada: Ficheros Binarios: Almacenan secuencias de dígitos binarios (ej: ficheros que almacenan enteros, floats, ) Ficheros de Texto: Almacenan caracteres alfanuméricos en un formato estándar (ASCII, Unicode, ). Pueden ser leídos y/o modificados por aplicaciones denominadas editores de texto (Ej: Notepad, Editplus, etc.).
37 Índice Introducción Conceptos Básicos de Ficheros Operaciones sobre ficheros Tipos de ficheros Ficheros en Java Conceptos Básicos de Entrada/Salida Ficheros Binarios Leer bytes: InputStream, FileInputStream Escribir bytes:outputstream, FileOutputStream Gestión de excepciones: IOException, FileNotFoundException Ficheros de Texto Leer carácter: Reader, FileReader Escribir caracteres: Writer, FileWriter Escribir texto formateado: PrintWriter Leer texto formateado: Scanner
38 Conceptos básicos de E/S Streams: Canales, flujos de datos o tuberías. Agrupados en el paquete java.io Dos jerarquías de clases independientes: una para lectura/escritura binaria (bytes) otra para lectura/escritura de caracteres de texto (char)
39 Conceptos básicos de E/S Los stream son objetos que nos permitirán comunicar nuestro programa con otra fuente o destino de datos. Un stream es un hilo conductor por donde fluyen datos. Tendremos dos clases de streams: stream de entrada: fuente programa stream de salida: programa destino
40 Conceptos básicos de E/S Para usar streams: Crear el stream con new. En esta operación se abre el stream para las comunicaciones. Leer o escribir, dependiendo del stream. En la lectura, para indicar que en el stream no hay más datos para leer, se recibirá un 1 o null, dependiendo del tipo de método que se utilice para leer. Cerrar el stream. Si no se cierra, no se garantiza que las operaciones de escritura se hayan realizado correctamente.
41 Streams de bytes Streams orientados a leer bytes: subclases de la clase InputStream. Streams orientados a escribir bytes: subclases de la clase OutputStream.
42 Streams de bytes InputStream ByteArrayInputStream ObjectInputStream FileInputStream FilterInputStream PipedInputStream BufferedInputStream DataInputStream GZipInputStream ZipInputStream System.in, es un objeto de la clase BufferedInputStream
43 Streams de bytes Las distintas subclases de InputStream se clasifican según de la fuente para leer bytes: array de bytes fichero varios streams FUENTE PipedOutputStream de otro hilo objetos escritos por ObjectOutputStream funciones especiales CLASE ByteArrayInputStream FileInputStream SequenceInputStream PipedInputStream ObjectInputStream FilterInputStream
44 Streams de bytes Métodos básicos de InputStream: int read(): lee el siguiente byte disponible en el stream. Si no hay más, retorna 1 int read(byte v[]): intenta leer tantos bytes como tamaño del array v. Devuelve el número de bytes leídos, si no hay bytes disponibles en el stream, -1 void close (): cierra el stream Todos estos métodos lanzan la excepción IOException en caso de problemas E/S.
45 Streams de bytes OutputStream ByteArrayOutputStream ObjectoutputStream FileOutputStream FilterOutputStream PipedOutputStream BufferedOutputStream DataOutputStream PrintStream GZIPOutputStream ZipOutputStream System.out es objeto de la clase PrintStream
46 Streams de bytes Se clasifican las distintas subclases de OutputStream según el destino de los bytes escritos: DESTINO Array de bytes Fichero Objetos escritos por ObjectOutputStream funciones especiales CLASE ByteArrayOutputStream FileOutputStream ObjectOutputStream FilterOutputStream (abstracta)
47 Streams de bytes Métodos básicos de OutputStream: void write(int c): escribe en el destino el byte menos significativo del entero b (un int son 4 bytes) void write(byte[] v): escribe en destino todos los bytes de v. void write(byte[] v, int pos, int long): escribe long bytes del vector v empezando desde la posición pos void close (): cerrar stream Todos estos métodos lanzan la excepción IOException en caso de problemas E/S.
48 Streams de bytes: ficheros Acceso a ficheros: Acceso binario: FileInputStream / FileOutputStream FileInputStream:similar a InputStream, para leer archivos. FileInputStream(String name): constructor con argumento un String, nombre de fichero FileInputStream(File name): constructor con argumento de tipo File, fichero a leer. Estos constructores lanzan la excepción FileNotFoundException en caso de que el fichero no exista FileOutputStream: similar a OutputStream, para escribir en archivos. FileOutputStream(String name): constructor con argumento un String, nombre de fichero FileOutputStream(File name): constructor con argumento de tipo File, fichero a leer.
49 Streams de bytes: Ejemplos CUIDADO, CÓDIGO INCOMPLETO Muestra por pantalla los bytes contenidos en el fichero c:\misfotos\galicia.jpg Lee byte a byte del fichero. //Crear un stream asociado al fichero FileInputStream in = new FileInputStream( c:\\misfotos\\galicia.jpg ); int leido; while ((leido = in.read())!= -1) { //lee hasta que no tengas más System.out.println(leido); in.close();
50 Gestión de excepciones Al leer de un fichero hay que tener en cuenta que se pueden lanzar excepciones: al crear el stream con el nombre del fichero: FileNotFoundException (no existe el fichero a leer) al leer o cerrar el fichero: IOException (problemas de entrada/salida) Las excepciones de este tipo es necesario capturarlas Se capturan mediante bloques try{ catch{ try { FileInputStream in = new FileInputStream( c:\\misfotos\\galicia.jpg ); int leido; while ((leido = in.read())!= -1) { //lee hasta que no tengas más System.out.println(leido); in.close(); catch (FileNotFoundException e) { System.out.println( No existe el fichero ); catch (IOException e) { System.out.println( Error E/S );
51 Streams de bytes: Ejemplos Lee un grupo de bytes y los saca por pantalla Al igual que en el ejemplo anterior, es necesario capturar las posibles excepciones que se lancen. try { //Crear streams asociados a los ficheros: entrada y salida FileInputStream in = new FileInputStream( c:\\misfotos\\galicia.jpg ); FileOutputStream out = new FileOutputStream( c:\\misfotos\\copia.jpg ); byte[] buffer = new byte[1024]; int totalleidos; while ((totalleidos = in.read(buffer))!= -1) { for (int i = 0; i < totalleidos; i++) { System.out.println(buffer[i]); in.close(); out.close(); catch (FileNotFoundException e) { System.out.println( No existe el fichero ); catch (IOException e) { System.out.println( Error E/S );
52 Streams de bytes: Ejemplos Copia el fichero c:\misfotos\galicia.jpg en c:\misfotos\copia.jpg Copia byte a byte try { //Crear streams asociados a los ficheros: entrada y salida FileInputStream in = new FileInputStream( c:\\misfotos\\galicia.jpg ); FileOutputStream out = new FileOutputStream( c:\\misfotos\\copia.jpg ); int leido; while ((leido = in.read())!= -1) { out.write(leido); in.close(); out.close(); catch (FileNotFoundException e) { System.out.println( No existe el fichero ); catch (IOException e) { System.out.println( Error E/S );
53 Streams de bytes: Ejemplos Copia el fichero c:\misfotos\galicia.jpg en c:\misfotos\copia.jpg Copia en grupos de bytes try { //Crear streams asociados a los ficheros: entrada y salida FileInputStream in = new FileInputStream( c:\\misfotos\\galicia.jpg ); FileOutputStream out = new FileOutputStream( c:\\misfotos\\copia.jpg ); byte[] buffer = new byte[1024]; int totalleidos; while ((totalleidos = in.read(buffer))!= -1) { for (int i = 0; i < totalleidos; i++) { out.write(buffer, 0, totalleidos); in.close(); out.close(); catch (FileNotFoundException e) { System.out.println( No existe el fichero ); catch (IOException e) { System.out.println( Error E/S );
54 Índice Introducción Conceptos Básicos de Ficheros Operaciones sobre ficheros Tipos de ficheros Ficheros en Java Conceptos Básicos de Entrada/Salida Ficheros Binarios Leer bytes: InputStream, FileInputStream Escribir bytes:outputstream, FileOutputStream Gestión de excepciones: IOException, FileNotFoundException Ficheros de Texto Leer carácter: Reader, FileReader Escribir caracteres: Writer, FileWriter Escribir texto formateado: PrintWriter Leer texto formateado: Scanner
55 Streams de caracteres Streams orientados a leer caracteres: subclases de la clase abstracta Reader. Streams orientados a escribir caracteres: subclases de la clase abstracta Writer.
56 Streams de caracteres Las clases para leer caracteres derivan de la clase abstracta Reader. Reader PipedReader BufferedReader StringReader CharArrayreader FilterReader InputStreamReader LineNumberReader PushBackReader FileReader
57 Streams de caracteres Las distintas clases de Reader se usan dependiendo de la fuente de los datos. un buffer fichero FUENTE array de caracteres stream al que se le pueden devolver caracteres una vez leídos buffer para contar líneas un String un stream de bytes CLASE BufferedReader FileReader CharArrayReader PushbackReader LineNumberReader StringWriter InputputStreamWriter
58 Streams de caracteres Métodos básicos de Reader: int read (): lee el siguiente caracter disponible en el stream. Si no hay más, retorna 1. int read (char [] v): intenta leer tantos caracteres como tamaño del array v. Devuelve el número de caracteres leídos. Si no hay más disponibles en el stream, -1. void close (): cierra el stream. Todos los métodos lanzan la excepción IOException en caso de problemas E/S
59 Streams de caracteres Las clases para escribir caracteres derivan de la clase abstracta Writer. Writer PipedWriter BufferedWriter StringWriter CharArrayWriter FilterWriter OutputStreamWriter PrintWriter FileWriter
60 Streams de caracteres Las distintas clases de Writer se usan dependiendo del destino de los datos. DESTINO un buffer fichero array de caracteres texto formateado un String un stream de bytes CLASE BufferedWriter FileWriter CharArrayWriter PrintWriter StringWriter OutputStreamWriter
61 Streams de caracteres Métodos básicos de Writer: void write (int c): escribe el carácter c void write (String s): escribe el String s void write(string s, in pos, int len):escribe len caracteres de s desde la posición pos void write (char [] b): escribe en el stream el array de caracteres b void write(char[] b, int pos, int len): escribe len caracters de b desde la posición pos void close(): cierra el stream Todos los métodos lanzan la excepción IOException en caso de problemas E/S
62 Streams de caracteres: ficheros Acceso a ficheros: Acceso ficheros de texto: FileReader / FileWriter FileReader:similar a Reader, para leer archivos de texto. FileReader(String name): constructor con argumento un String, nombre de fichero FileReader(File name): constructor con argumento de tipo File, fichero a leer. Estos constructores lanzan la excepción FileNotFoundException en caso de que el fichero no exista FileWriter: similar a Writer, para escribir en archivos de texto. FileWriter(String name): constructor con argumento un String, nombre de fichero FileWriter(File name): constructor con argumento de tipo File, fichero a leer.
63 Streams de caracteres: Ejemplos Muestra por pantalla el texto contenido en el fichero c:\miscosas\carta.txt Lee carácter a carácter el fichero. Como en los casos anteriores, hay que capturar las posibles excepciones try { FileReader in = new FileReader( c:\\miscosas\\carta.txt ); int leido; while ((leido = in.read())!= -1) { //lee hasta que no tengas más char c = (char) leido; //transformar a caracter System.out.print(c); in.close(); catch (FileNotFoundException e) { System.out.println( No existe el fichero ); catch (IOException e) { System.out.println( Error E/S );
64 Streams de caracteres: Ejemplos Muestra por pantalla el texto contenido en el fichero c:\miscosas\carta.txt Lee un grupo de bytes del fichero try { //Crear un stream asociado al fichero FileReader in = new FileReader( c:\\miscosas\\carta.txt ); char[] buffer = new char[1024]; int totalleidos; while ((totalleidos = in.read(buffer))!= -1) { for (int i = 0; i < totalleidos; i++) { System.out.print(buffer[i]); in.close(); catch (FileNotFoundException e) { System.out.println( No existe el fichero ); catch (IOException e) { System.out.println( Error E/S );
65 Streams de caracteres: Ejemplos Copia el fichero c:\miscosas\carta.txt en c:\miscosas\copia.txt Copia carácter a carácter try { //Crear streams asociados a los ficheros: entrada y salida FileReader in = new FileReader( c:\\miscosas\\carta.txt ); FileWriter out = new FileWriter( c:\\miscosas\\copia.txt ); int leido; while ((leido = in.read())!= -1) { out.write(leido); in.close(); out.close(); catch (FileNotFoundException e) { System.out.println( No existe el fichero ); catch (IOException e) { System.out.println( Error E/S );
66 Streams de caracteres: Ejemplos Copia el fichero c:\miscosas\carta.txt en c:\miscosas\copia.txt Copia en grupos de bytes try { //Crear streams asociados a los ficheros: entrada y salida FileReader in = new FileReader( c:\\miscosas\\carta.txt ); FileWriter out = new FileWriter( c:\\miscosas\\copia.txt ); char[] buffer = new char[1024]; int totalleidos; while ((totalleidos = in.read(buffer))!= -1) { out.write(buffer, 0, totalleidos); in.close(); out.close(); catch (FileNotFoundException e) { System.out.println( No existe el fichero ); catch (IOException e) { System.out.println( Error E/S );
67 Streams de caracteres: escribir texto formateado Con la clases vistas hasta el momento es complicado escribir texto formateado en ficheros. Cómo es escribir en un fichero de texto dos líneas de texto del tipo? El valor de la variable n es 24 El valor de m es 36 Existe una clase que soluciona fácilmente este problema: PrintWriter
68 Streams de caracteres: texto formateado Constructores de PrintWriter PrintWriter(File f): para escribir texto en el fichero f PrintWriter(String name): para escribir texto en el fichero de nombre name Métodos más usados: println(string s) print(string s);
69 Streams de caracteres: texto formateado Ejemplo: int n = 24; int m = 36; try { PrintWriter out = new PrintWriter( texto.txt ); out.println( El valor de la variable n es + n); out.println( El valor de m es + m); out.close(); catch (IOException e) { System.out.println( Error E/S );
70 Leer texto formateado: clase Scanner A partir de jdk 1.5 se dispone de la clase Scanner para facilitar la lectura. Esta clase no es un stream. Es una utilidad. Pertenece al paquete java.util Con esta clase podemos leer variables de los tipos primitivos desde un fichero, desde la entrada estándar, de un string. Scanner divide la entrada en tokens según un delimitador que por defecto es el espacio en blanco. Ej. 23 hola 67.8 se divide en tres tokens: 23 hola 67.8 Con los métodos de Scanner podemos transformar cada uno de los tokens en un tipo de dato primitivo o String, leer una línea de texto del fichero.
71 Clase Scanner Principales métodos Scanner: int nextint(): devuelve el siguiente token como un valor de tipo int. boolean hasnextint(): nos indica si el siguiente token es de tipo int. Hay métodos similares para todos los tipos primitivos salvo char. String next(): devuelve el siguiente token como String. boolean hasnext(): devuelve cierto si hay más tokens. Falso en caso contrario String nextline(): devuelve un String con todos los caracteres hasta encontrar un salto de línea.
72 Clase Scanner try { File f = new File( texto.txt ); Scanner sc = new Scanner(f); //sacar por pantalla todos los números enteros que hay al //inicio del fichero texto.txt while (sc.hasnextint()) System.out.println(sc.nextInt()); //leer línea a línea el resto del fichero while (sc.hasnext()) System.out.println(sc.nextLine()); catch (FileNotFoundException e) { System.out.println( Fichero no existe );
Entrada y Salida de datos
Entrada y Salida de datos El intercambio de datos entre el programa y el exterior da lugar a la diversidad de dispositivos y de formas de comunicación (modo de acceso, si es binaria, etc.). Los flujos
TEMA 9. Agenda. Ficheros
TEMA 9 Ficheros V1.0 Manuel Pereira González Agenda Introducción Conceptos Básicos de Ficheros Operaciones sobre ficheros Tipos de fichero Ficheros en Java Conceptos Básicos de Entrada/Salida Ficheros
Tipos DataInputStream/DataOutputStream: L/E de datos de tipo simple y Cadenas (Strings) ObjectInputStream/ObjectOutputStream: para persistencia de obj
Programación Orientada a Objetos en JAVA Angela C. Carrillo Ramos Manejo de Streams Un Stream representa un flujo de datos, o un canal de comunicación con un escritor o un lector. Tipos: InputStream/OutputStream:
Flujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha
Flujos (streams) Programación Nadjet Bouayad-Agha Licenciatura Lingüística y Nuevas Tecnologias 2007 Agenda Java e argumentos de entrada: args.zip Como leer e escribir datos de/a los flujos estándares.
Entrada y Salida con Java
Entrada y Salida con Java Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid E/S con flujos (streams) En Java
Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].
Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar
Prácticas de Programación
Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 3. Herencia y Polimorfismo Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los
La clase Integer y sus métodos. Los Operadores (concepto). Operadores Lógicos y a nivel de Bits. Operadores de desplazamiento. Concatenaciones. La Con
Fases de POO (Análisis y Diseño). Un ejemplo de Análisis y Diseño. Repaso de conceptos de Abstracción y ejemplos. Repaso y definición de Clases, estructura de una clase en Java. Declaración de atributos
Práctica 4: Herencia. Objetivos:
Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.
Información de la lectura en un programa.
I/O Cualquier programa realizado en Java que necesite llevar a cabo una operación de I/O lo hará a través de un stream. Un stream, cuya traducción literal es "flujo", es una abstracción de todo aquello
Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas
Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este
Entrada y salida de datos. Entrada y salida de datos. Flujos estándar. Flujos estándar. Operación y flujos estándar en java
Entrada y salida de datos Entrada y salida de datos Java Entrada y Salida 1 Intercambio de datos entre el programa y el exterior Diversidad de dispositivos (fichero, pantalla, red, ) Diversidad de formas
C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª
INTRODUCCIÓN A JAVA QUÉ ES JAVA Introducción ORGANIZACIÓN JME (Mobile / Wireless) JSE (Core / Desktop) JEE (Enterprise / Server) LA HISTORIA El comienzo Aparición de Internet Por qué el nombre JAVA DESARROLLO,
IIC1103 Introducción a la Programación. Ayudantía: Archivos
Resumen teórico Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1103 Introducción a la Programación Ayudantía: Archivos Profesores: Daniel Langdon
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Flujos de Entrada/Salida 2 Flujos de Entrada/Salida Hay librerías Orientadas a bytes Orientadas a caracteres Se usa la abstracción de un
Programación Orientada a Objetos. Tema 7: Persistencia
Programación Orientada a Objetos Tema 7: Persistencia Tema 7: Persistencia Contenidos 1. LIBRERÍA I/O 2. FICHEROS 3. FICHEROS DE ACCESO DIRECTO 4. FICHEROS DE TEXTO 5. SERIALIZACIÓN DE OBJETOS 6. EJEMPLO
Ejercicios de Programación Tema 7. Programación Orientada a Objetos
Ejercicios de Programación Tema 7. Programación Orientada a Objetos 22 de diciembre de 2013 1. Haz una clase llamada Agenda para manejar una agenda de teléfonos. Los objetos instanciados a partir de esa
Tema 4. Entrada/Salida. Serialización de Objetos.
Tema 4 Entrada/Salida. Serialización de Objetos. Departament d Informàtica. Índice 1. Entrada/Salida 3 1.1. Entrada orientada a bytes......................................... 6 1.1.1. Entrada de bajo nivel
Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática
Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Contenidos Generación de excepciones.
Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.
Sockets La biblioteca estándar de clases de Java nos proporciona todo lo que necesitamos para utilizar sockets en nuestras aplicaciones en el paquete java.net, por lo que tendremos que añadir la siguiente
Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Tema 7.- Fundamentos de la Programación Orientada a Objetos
Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).
TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
Lenguaje de programación con JAVA
Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:
INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Práctica III: Streams, Readers y Writers
Práctica III: Streams, Readers y Writers Objetivos En esta práctica vamos a aprender a utilizar Streams, Readers y Writers para realizar operaciones de entrada/salida desde programas escritos en el lenguaje
James Gosling, creador de Java
Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para
5. Cadenas y Entrada/Salida
5. Cadenas y Entrada/Salida Manejo de cadenas java.lang.string java.lang.stringbuffer java.util.stringtokenizer Control de errores Entrada/Salida (java.io) Streams de datos (DataInputStream/DataOutputStream)
Tema 4. Excepciones en Java
Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer
El paquete java.io. Entrada y salida en Java. Entrada/Salida. Flujos de datos. La clase File. La clase File. Independencia del SO
Índice Entrada y salida en Java El paquete java.io Introd. a la POO El lenguaje Java Estruct. Biblioteca Excepciones Colecciones Entrada y salida GUIs El paquete java.io. Flujos de datos (streams). Flujos
Tema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Streams y manejo de entrada y salida (Input & Output)
Resumen PAV (4) 11-mayo-2006 Este resumen ha sido elaborado para ser leído después de haber asistido a clase: pretende fijar y profundizar en los conceptos ya explicados. Streams y manejo de entrada y
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo
- Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable
Estructuras básicas de la programación en Java
Estructuras básicas de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González ELO329 1 Primer programa en Java Todo programa debe tener al menos una clase. Toda
Laboratorio de Redes de Comunicaciones Programación con Sockets en Java
Laboratorio de Redes de Comunicaciones Programación con Sockets en Java Sockets orientados a conexión Sockets no orientados a conexión Java: Distribuido Java se ha construido con extensas capacidades de
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta Excepciones... 5 Excepciones de uso frecuente... 8 Excepciones no comprobadas... 13 Excepciones comprobadas... 14 La clase Runtime Exception...
Introducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
Desarrollo de Aplicaciones Distribuidas. Sockets. Daniel Avellaneda
Desarrollo de Aplicaciones Distribuidas Sockets Daniel Avellaneda Sockets en Java Qué es un Socket Un socket es una abstracción a través de la cual una aplicación pueden mandar y recibir datos. Un socket
Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
CONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten
Nota: en el directorio de prácticas y en PoliformaT puedes descargar los ficheros de código fuente de los ejemplos que aparecen en este anexo.
Anexo Práctica 2: Entrada / Salida en Java 1.- Flujos de bytes (byte streams) 2.- Flujos de caracteres 3.- Utilidades para E/S de cadenas formateadas 4.- Flujos de E/S Estándar 5.- Flujos de datos 6.-
Construcciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA
INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA Introducción Qué es programar? Idear y ordenar las acciones necesarias para realizar un proyecto (R.A.E) En nuestro contexto: Resolver problemas, Automatizar
Prueba N o 1. Programación II
UNIVERSIDAD ANDRÉS BELLO 1 Prueba N o 1 Programación II Profesores: José Luis Allende y Carlos Beyzaga. Fecha: 10 de Septiembre de 2013 Nombre: Nota: Instrucciones: Coloque su nombre a todas las hojas.
Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.
CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA
Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen
Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,
Ficheros de acceso aleatorio
Ficheros de acceso aleatorio Los ficheros con los que hemos trabajado hasta ahora (ya sean ficheros de texto o ficheros binarios con objetos serializados) no resultan adecuados para muchas aplicaciones
EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas
Apellidos Nombre Firma NIA Grupo EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas Pregunta 1 (0,5 puntos).- Indicar si las siguientes afirmaciones
Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
PROGRAMACION DISTRIBUIDA
PROGRAMACION DISTRIBUIDA Distribución basada en el patrón proxy-servant Héctor Pérez 2 Distribución de aplicaciones basadas en objetos Objetivo: rediseño de una aplicación orientada a objetos para ser
GUÍA USO MOTOR SCRIPTING SOFIA2
GUÍA USO MOTOR SCRIPTING SOFIA2 JULIO 2014 Versión 4 1 INDICE 1 INDICE... 2 2 INTRODUCCIÓN... 3 2.1 REQUISITO... 3 2.2 OBJETIVOS Y ALCANCE DEL PRESENTE DOCUMENTO... 3 2.3 CONCEPTOS... 3 3 DESARROLLO DE
Elementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4
Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..
Introduciendo datos desde el
Introduciendo datos desde el teclado Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Crear programas interactivos que lean datos
RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
RESUMEN DEL CONTENIDO
RESUMEN DEL CONTENIDO PARTE 1. PROGRAMACIÓN BÁSICA... 1 CAPÍTULO 1. FASES EN EL DESARROLLO DE UN PROGRAMA... 3 CAPÍTULO 2. INTRODUCCIÓN A JAVA... 19 CAPÍTULO 3. INTRODUCCIÓN A LA POO... 33 CAPÍTULO 4.
Tema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes
Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual [email protected]! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar
Ejercicios de evaluación de fundamentos de programación en Java
Ejercicios de evaluación de fundamentos de programación en Java Jorge Martínez Ladrón de Guevara Editorial EME ISBN 978-84-96285-40-8 Contenido 1. Introducción a Java... 1 Test de evaluación...1 Ejercicios...4
Guía - Taller # 2 (JAVA)
CEET - Distrito Capital Programa de Formación: ADSI 150752 TRIMESTRE VI Conocimiento de Conocimiento: Aplicar diversos estilos de Programación usando herramientas para Desarrollo Web Instructor: Ing. Espec.
Arquitecturas cliente/servidor
Arquitecturas cliente/servidor Servidores y Clientes Sincronizados Contenido Procesos Semáforos Sincronización Lectura y Escritura de Archivos Servidores Orientados a Conexión Servidores No Orientados
1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7
1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4 3.1.- INTRODUCCION... 4 3.2.- MODELO DE COMUNICACIONES CON JAVA...5 3.3.- APERTURA DE SOCKETS... 6 3.4.- CREACIÓN DE STREAMS...
Manejo básico de record store RMS en aplicaciones móviles con J2ME. Por: Rubén Dario Orozco ([email protected])
Manejo básico de record store RMS en aplicaciones móviles con J2ME 2008 Por: Rubén Dario Orozco ([email protected]) Esta obra está bajo una licencia Reconocimiento-No comercial-compartir bajo la misma
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays
Introducción - por qué usarlas?(1)
Excepciones en Java Introducción - por qué usarlas?(1) En el mundo de la programación hay algo que siempre ocurre: los errores en los programas. Pero qué sucede realmente después de que ha ocurrido el
Cadenas y Entrada/Salida
Cadenas y Entrada/Salida Manejo de cadenas java.lang.string java.lang.stringbuffer java.util.stringtokenizer Entrada/Salida (java.io) Streams de datos (DataInputStream/DataOutputStream) Streams de caracteres
Laboratorio de Arquitectura de Redes. Entrada y salida estándar
Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada
Solución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa
Fundamentos de la Programación Orientada a Objetos Diseño de clases
Fundamentos de la Programación Orientada a Objetos Diseño de clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense
Introducción rápida a la programación (estructurada ) con C++
Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de
Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2
Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3
Informática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:
Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores
El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase
Definición de Memoria
Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo [email protected] Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria
ESCUELA DE INFORMÁTICA
TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación
fundamentos de programación (unidad 7) herencia y relaciones entre clases
fundamentos de programación (unidad 7) herencia y relaciones entre clases Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/ /es/legalcode.es
Manejo de excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos Agustín J. González
Manejo de excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Agustín J. González Excepciones (o errores) Los lenguajes orientados a objeto han buscado la forma de facilitar la programación
Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Ejercicios de tratamiento de errores
Índice 1 Captura de excepciones (0.5 puntos)...2 2 Lanzamiento de excepciones (0.5 puntos)... 2 3 Excepciones como tipos genéricos en la aplicación filmotecas(0.5 puntos)...4 4 Excepciones anidadas en
Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.
Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de
Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño
Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos
Tema 5 Corrección y Robustez Excepciones en Java
Tema 5 Corrección y Robustez Excepciones en Java Parte II: Excepciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Introducción Excepciones comprobadas Caso de estudio Tratamiento
Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez
Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.
