La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Java.

Presentaciones similares


Presentación del tema: "Java."— Transcripción de la presentación:

1 Java

2 Arreglos int[] A; Declaración preferida de un arreglo:
Declaración compatible con C: int A[];

3 Arreglos En Java, la declaración de un arreglo es similar a la declaración de un puntero en C:

4 Errores típicos con arreglos:
int A[10]; // Ahí no va el tamaño! int[] A; // Ok A[1]= 100; // Todavía no se ha pedido // espacio para el arreglo.

5 Petición de espacio para un arreglo:
int[] A; A= new int[10]; A[1]= 100; // Ahora sí!

6 Los argumentos de un programa
Al ejecutar un programa en la ventana de comandos, el usuario puede especificar argumentos: java Hello Hola que tal Los argumentos "Hola", "que" y "tal" se reciben en un arreglos de strings en el main: public static void main(String[] args) { ... } args[0] es "Hola" args[1] es "que" args[2] es "tal"

7 Ejemplo: Un programa que despliega todos los argumentos que recibe desde la línea de comandos.
Ejecute el siguiente comando en la ventana de DOS: java Echo Hola que tal El código de Echo.java es: public class Echo { public static void main (String[] args) { for (int i=0; <args.length; i++) System.out.println(args[i]); }

8 public class Suma { public static void main (String[] args) { // Un arreglo de 4 enteros: int[] a= new int[4]; a[0]= 1; a[1]= 5; a[2]= 20; a[3]= 15; // (estas dos instrucciones se pueden resumir en una sola: // int[] a={1, 5, 20, 15}; ) // Un segundo arreglo de 4 enteros con la inicializacion abreviada: int[] b= {2, 3, 23, 4}; // Esta es la parte que tiene que hacer Ud. Construya un arreglo de ``a.length'' enteros y asígnelo a una variable c (de tipo arreglo de enteros). Haga un ciclo haciendo que una variable entera i tome valores desde 0 hasta a.length-1 En cada iteración sume el i-ésimo elemento de a con el i-ésimo elemento de b y asigne el resultado al i-ésimo elemento de c // Desplagamos el resultado: for (int i=0; i<c.length; i++) System.out.println("c["+i+"]= "+c[i]); Consola.esperar(); }

9 Ejercicio Realice la suma de vectores siguiendo las instrucciones que aparecen en el ejemplo anterior.

10 Propuesto: Frecuencia de números
Haga un programa que determine cuantas veces aparece cada número entero especificado en la línea de comandos. Ejemplo: java Frec 4 -> 1 6 -> > 1 Sólo considere los números enteros que estén entre 0 y 99. Obs.: Para obtener el valor entero almacenado en el string s utilice Integer.parseInt(s).

11 Respuesta public class Frec {
public static void main (String[] args) { int[] F= new int[100]; // Con índices de 0 a 99 for (int i= 0; i<args.length; i++) { int num= Integer.parseInt(args[i]); if (num>=0 && num<100) F[num]++; // o bien F[num]= F[num]+1; } for (int j=0; j<F.length; j++) if (F[j]!=0) System.out.println(j+" -> "+F[j]);

12 Objetos y Clases Un objeto es un tipo de datos abstracto.
Los objetos se crean con el operador new: new Animator(); new Box(Color.black, Color.red, 20, 25, 30, 15); Al operador new se le indica la clase del objeto que se desea crear. Los argumentos indicados son los atributos del objeto.

13 La clase de un objeto determina las operaciones (métodos) que acepta ese objeto.

14 Para conocer un objeto es necesario tener una referencia de él:
Animator anim; Box box; Una variable referencia un objeto creado con new. La variable no contiene el objeto. El tipo de la variable indica la clase de objetos que podrá referenciar. anim= new Animator(); box= new Box(Color.black, Color.red, 20, 25, 30, 15); box= new Animator(); // ¡Error en compilación!

15 Invocación de métodos:
anim.push(box); box.moveTo(100,200);

16 Las variables en Java referencian objetos.
Las variables de tipos no primitivos son punteros. La asignación Box box2= box; hace que las variables box y box2 referencien el mismo objeto. Sólo las variables de tipos primitivos contienen directamente los valores (int, double, boolean, etc.).

17 La referencia nula: null
Agregue el siguiente código: Box box3= null; anim.push(box3);

18 java. lang. NullPointerException: at Scenes. Scene. addAfter(Scene
java.lang.NullPointerException: at Scenes.Scene.addAfter(Scene.java:64) at Scenes.Scene.push(Scene.java:86) at Game.main(Game.java:27) Una variable asignada con null no referencia ningún objeto. Si se intenta realizar cualquier operación con él se produce un NullPointerException.

19 Subclases La clase Grob tiene subclases: Box, Text, Ellipse.
Los objetos de la subclase también pertenecen a la clase. Las operaciones de la clase también son válidas en objetos de la subclase. Proyección: Una variable de tipo Grob también puede referenciar objetos de cualquiera de las subclases de Grob. Grob go= box;

20 Bibliotecas de Clases Java ofrece una enorme biblioteca estándar de clases: Java Platform Core API. Todas las implementaciones de Java 1.1 implementan esta API. La API se organiza en paquetes de clases. Para poder usar el paquete java.io: import java.io.*;

21 Entrada/Salida en Java
Para leer un archivo por líneas: BufferedReader reader= new BufferedReader(new FileReader(args[0])); String linea= reader.readLine(); while(linea!=null) { System.out.println(linea); linea= reader.readLine(); }

22 Excepciones En la API se indica que ciertos métodos lanzan (throws) excepciones. Una excepción es una eventual situación de error que se podría producir al invocar un método. Ejemplo: El archivo no existe. Java encausa la programación de aplicaciones robustas forzando a que los programadores manejen todas las excepciones. Una excepción es un objeto de la clase Exception.

23 Excepciones Forma simple de manejar una excepción E:
El método declara que lanza esa excepción (throws E). public static void main(String[] args) throws IOException { ... } Ejecute el programa colocando cualquier archivo de texto como argumento del programa en la línea de comandos.

24 Forma recomendada de manejar una excepción E:
Atrapar la excepción con: try { instrucciones } catch ( tipo-excepción variable ) { instrucciones }

25 public static void main(String[] args) // sin throws
{ try { coloque aquí todo el cuerpo del main } catch ( IOException e ) { System.err.println("Se produjo un error de E/S"); }

26 Constructores Un constructor es un método que lleva el mismo nombre de la clase. Se invoca automáticamente cada vez que se crea un nuevo objeto. Sirve para inicializar las variables de instancia del objeto. Un constructor puede incluir parámetros. Estos parámetros se enlazan con los argumentos especificados al crear un objeto con new. Una clase puede definir varios constructores con distintos tipos de argumentos (sobrecarga).

27 Ejemplo: el constructor de Punto.
public class Punto { int x,y; // Variables de instancia public Punto(int x, int y) { // El constructor this.x= x; this.y= y; } ... }

28 Ejercicio: se desea agregar un nuevo constructor a la clase Punto que reciba como argumento otro punto. El punto creado debe quedar en las mismas coordenadas que el punto recibido. Ejemplo de uso: Punto p= new Punto(10,10); Punto q= new Punto(q); System.out.println(q); // (10,10)


Descargar ppt "Java."

Presentaciones similares


Anuncios Google