Prog3 Seminario Java
Prog3 Seminario Java
Seminario 1
Introducción a Java Contenidos
PROGRAMACIÓN 3 Características
Sintáxis básica
Programa principal
Salida básica
Compilación y
ejecución
Objetos
Excepciones
Cadenas
Arrays
David Rizo, Pedro J. Ponce de León Métodos
Departamento de Lenguajes y Sistemas Informáticos Control de flujo
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Contenidos
David Rizo, Pedro J.
1 Características Ponce de León
2 Sintáxis básica
3 Programa principal
4 Salida básica Contenidos
Sintáxis básica
6 Tipos de datos básicos Programa principal
7 Objetos Salida básica
8 Excepciones Compilación y
ejecución
10 Arrays Objetos
Excepciones
11 Métodos
Cadenas
12 Control de flujo Arrays
13 Paquetes Métodos
Control de flujo
14 Librerías Java
Paquetes
15 CLASSPATH Librerías Java
16 Documentación CLASSPATH
Documentación
17 Archivos JAR
Archivos JAR
18 ANT ANT
Introducción a Java
Características principales de Java
David Rizo, Pedro J.
Ponce de León
Compilación y
un fichero de bytecode con extensión .class ejecución
• Librerías: ficheros .jar que contienen ficheros .class Tipos de datos básicos
Objetos
• JDK, Java Development Kit : incluye el compilador de Java Excepciones
(javac), las librerías estándar de Java y otras utilidades Cadenas
Control de flujo
Eclipse*, Netbeans, e Intellij IDEA
Paquetes
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Características principales de Java
David Rizo, Pedro J.
Ponce de León
Contenidos
• El bytecode es un lenguaje intermedio que es interpretado Características
Salida básica
• JRE, Java Runtime Environment: incluye la máquina
Compilación y
virtual (java), librerías estándar y otras utilidades para la ejecución
Objetos
• El JDK incluye al JRE. En una máquina donde
Excepciones
desarrollemos aplicaciones Java instalaríamos el JDK. Cadenas
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Sintaxis básica
David Rizo, Pedro J.
Ponce de León
Sintáxis básica
// Este fichero se debe guardar como [Link]
Programa principal
// Generalmente, cada clase se situa en un fichero
public class Clase { Salida básica
Documentación
Archivos JAR
ANT
Introducción a Java
Constantes, estáticos [1]
David Rizo, Pedro J.
Ponce de León
Constantes Contenidos
Sintáxis básica
public final int KN=10; Programa principal
Salida básica
Compilación y
ejecución
Métodos y campos estáticos
Tipos de datos básicos
Se definen usando la palabra reservada static Objetos
Excepciones
private static int contador=1;
Cadenas
public static final int KNN=10;
public static void incrementaContador () { Arrays
contador++; Métodos
} Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Programa principal
David Rizo, Pedro J.
Ponce de León
main Contenidos
Características
El punto de entrada a la aplicación es el método main, un Sintáxis básica
método estático: Programa principal
Salida básica
// esto es una clase normal Compilación y
public class ClaseConMain { ejecución
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Salida por consola
David Rizo, Pedro J.
Ponce de León
Contenidos
Características
Programa principal
Para imprimir por la salida estándard usaremos Salida básica
Excepciones
[Link]("Ha ocurrido un error...");
Cadenas
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Compilación y ejecución en línea de comando
David Rizo, Pedro J.
Ponce de León
Compilación
La compilación en línea de órdenes (terminal): Contenidos
Características
> javac [Link] Sintáxis básica
Programa principal
Genera el fichero con bytecode [Link], por
Salida básica
defecto en el directorio actual. Compilación y
ejecución
Arrays
> java ClaseConMain
Métodos
Librerías Java
esto se puede cambiar).
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Compilación y ejecución en línea de comando
David Rizo, Pedro J.
Ponce de León
Contenidos
ACTIVIDAD Características
Ahora estás listo para compilar y ejecutar tu primer programa Sintáxis básica
Salida básica
encontrarás la clase ClaseConMain lista para compilar y
Compilación y
ejecutar. ejecución
Objetos
plano o de código y échale un vistazo para hacerte una
Excepciones
idea de lo que hace el programa. Cadenas
• Luego compílalo y ejecútalo desde un terminal situándote Arrays
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Tipos de datos escalares [2]
David Rizo, Pedro J.
Ponce de León
Java es un lenguaje fuertemente tipado. Cada expresión del
lenguaje tiene un tipo asociado. Casi todos los tipos en Java
son objetos, menos los tipos escalares básicos:
Contenidos
Sintáxis básica
byte, short, int, long, float, double, char, boolean Programa principal
Salida básica
Los literales se especifican así: Compilación y
ejecución
int x = -14; Tipos de datos básicos
float a = 100.3f;
Objetos
double b = 100.3; // o 1.03e2
Excepciones
char c = ’a’;
boolean d = true; // o false Cadenas
Arrays
Métodos
Control de flujo
Operadores
Paquetes
Disponemos de los mismos operadores que en C++ Librerías Java
CLASSPATH
a+b*3; a++; if (a==1) b=2; a = (float)b; ...
Documentación
Archivos JAR
ANT
Introducción a Java
Tipos de datos escalares [2]
David Rizo, Pedro J.
Ponce de León
ACTIVIDAD
Contenidos
En algunas páginas como ésta o la anterior, verás que el título Características
tiene un número entre corchetes ([2]). Este número te servirá Sintáxis básica
Excepciones
> java Clase 2
Cadenas
Paquetes
llevará a un método que contiene el código de la página actual.
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Objetos y referencias a objetos
Programa principal
’referencias’). Equivalen a los punteros en C++.
Salida básica
• las referencias tienen valor null (en minúsculas) por Compilación y
ejecución
defecto.
Tipos de datos básicos
En el código siguiente, ’Numero’ es una clase ficticia y ’a’ una Objetos
referencia: Excepciones
Cadenas
Numero a = new Numero(10);
Arrays
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Asignación de referencias
Contenidos
Programa principal
hace que ’b’ apunte a la misma instancia, es decir, el mismo Salida básica
objeto, la misma zona de memoria que ’a’. Tenemos dos Compilación y
ejecución
referencias apuntando a un único objeto.
Tipos de datos básicos
Objetos
Excepciones
Cadenas
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Copia de objetos
Para duplicarlo habría que crear un nuevo objeto con new, Contenidos
Programa principal
Numero a = new Numero(10); Salida básica
Numero b = new Numero(a); Compilación y
ejecución
Objetos
Excepciones
Cadenas
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Contenidos
Características
La clase Object Sintáxis básica
Compilación y
clase Object. ejecución
Excepciones
Así, podemos utilizar referencias de tipo Object para apuntar a Cadenas
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
El recolector de basura
Contenidos
En Java no es necesario liberar explícitamente la memoria de Características
objetos que ya no necesitamos. Lo hace el recolector de Sintáxis básica
Compilación y
Numero a = new Numero(10); ejecución
a = new Numero(1000); Tipos de datos básicos
Objetos
Excepciones
Cadenas
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
operador instanceof
La expresión
objeto instanceof Clase
Contenidos
Sintáxis básica
’Clase’, y falso en caso contrario.
Programa principal
Salida básica
Casting (conversión) Compilación y
ejecución
Es similar a C++: Tipos de datos básicos
Cadenas
Dado un objeto cualquiera, también podemos usar el operador Arrays
de conversión para asignarlo a una referencia de tipo Métodos
conocido: Control de flujo
Paquetes
Object cualquiera;
Librerías Java
MiClase obj = (MiClase) cualquiera;
CLASSPATH
’MiClase’. ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Contenidos
Sintáxis básica
Para acceder a los atributos o invocar a los métodos de una Programa principal
clase usando una referencia a objeto, usamos el operador ’.’: Salida básica
Compilación y
Numero a = new Numero(10); ejecución
Numero b = new Numero(100);
Tipos de datos básicos
Objetos
[Link] = 3;
Excepciones
[Link] = 4;
[Link](b); Cadenas
[Link](3); Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
La referencia this [3]
Igual que en C++, dentro de un método no estático podemos
hacer referencia al objeto mediante el cual invocamos al Contenidos
método con la referencia this. Características
Sintáxis básica
public class Numero {
private int valor; Programa principal
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Contenidos
Características
Sintáxis básica
ACTIVIDAD
Programa principal
Ejecuta Salida básica
Compilación y
> java Clase 3 ejecución
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Comparación
La expresión
a==b Contenidos
Características
está comparando referencias, es decir, direcciones de Sintáxis básica
memoria. Para comparar el contenido de dos objetos debemos Programa principal
hacer: Salida básica
Compilación y
[Link](b) ejecución
Objetos
El método ’equals’ Excepciones
Cadenas
Si queremos compara objetos de una clase creada por
Arrays
nosotros, debemos implementar el método ’equals’. Métodos
Paquetes
El argumento de equals es una referencia a objeto de clase Librerías Java
’Object’. Esto implica que al método equals se le puede pasar CLASSPATH
del mismo tipo del objeto con que queremos compararlo). Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Implementación de ’equals’ [4]
Para implementar el método ’equals’ hay que tener en cuenta
que la operación de igualdad debe cumplir las propiedades
Contenidos
reflexiva, simétrica y transitiva y asegurarnos de que
Características
[Link](null) == false // para cualquier x no nulo Sintáxis básica
Programa principal
Además, para poder comparar los atributos del argumento con Salida básica
los del objeto this, deberemos convertir el argumento a una Compilación y
referencia de nuestra clase. Por tanto, toda implementación del ejecución
Características
Cada tipo escalar tiene una clase equivalente:
Sintáxis básica
Byte, Integer, Float, Double, Char, Boolean Programa principal
Salida básica
que se inicializan Compilación y
ejecución
Integer a = null; // es nulo por defecto
Tipos de datos básicos
a = new Integer(29);
Objetos
int x = [Link](); // x es 29
Excepciones
Cadenas
Java simula la compatibildad entre los tipos escalares y sus Arrays
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Objetos
David Rizo, Pedro J.
Ponce de León
Boxing [5]
Cuando hacemos Contenidos
Características
Integer b = 3;
Sintáxis básica
Salida básica
Integer b = new Integer(3);
Compilación y
ejecución
Excepciones
y al contrario, al escribir Cadenas
int x = b; Métodos
Control de flujo
internamente se está haciendo Paquetes
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Excepciones
David Rizo, Pedro J.
Ponce de León
Concepto
Contenidos
• Una excepción es un mecanismo diseñado para manejar
Características
situaciones de error alterando el flujo normal de ejecución Sintáxis básica
de un programa. Programa principal
Excepciones
el método invocado aborta su ejecución y devuelve el
Cadenas
control al método que lo invoca, operación que se repite
Arrays
hasta llegar al programa principal el cual para la ejecución Métodos
de la aplicación. Control de flujo
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Excepciones [6]
David Rizo, Pedro J.
Ponce de León
Las dos excepciones con las que es más probable que nos
encontremos son:
NullPointerException
Contenidos
Salida básica
Integer a, b; Compilación y
if ([Link](b)) { ejecución
Excepciones
Cadenas
ArrayIndexOutOfBoundsException Arrays
Métodos
Lanzada cuando se accede a una posición inválida de un Control de flujo
array. Por ejemplo: Paquetes
v[20] = 3; CLASSPATH
// esto lanza la excepcion ArrayIndexOutOfBoundsException Documentación
Archivos JAR
ANT
Introducción a Java
Cadenas [7]
David Rizo, Pedro J.
Ponce de León
String
Java dispone de una clase para trabajar con cadenas
Contenidos
String s = new String("Hola");
Características
Programa principal
s == "Hola" // mal Salida básica
[Link]("Hola") // bien Compilación y
ejecución
toString() Objetos
Excepciones
Todas las clases suelen tener definido el método Cadenas
toString(). Java utiliza este método para convertir un Arrays
objeto de cualquier clase a cadena. Métodos
Control de flujo
Float f = new Float(20);
Paquetes
String s = [Link]();
Librerías Java
¡OJO! ’String’ comienza con mayúscula. Los nombres de CLASSPATH
Archivos JAR
ANT
Introducción a Java
Cadenas
David Rizo, Pedro J.
Ponce de León
Concatenación [8]
Las cadenas se pueden concatenar con el operador +, si
mezclamos otros tipos éstos se pasan a cadena
Contenidos
automáticamente usando el método toString().
Características
int i=100; Sintáxis básica
"El valor de i es = " + i; Programa principal
Salida básica
Este código internamente crea 4 objetos, internamente hace
Compilación y
ejecución
String s1 = new String("El valor de i es = ");
String s2 = new Integer(i).toString(); Tipos de datos básicos
Excepciones
Cadenas
StringBuilder Arrays
Métodos
Para evitar la creación de tantos objetos podemos usar
Control de flujo
StringBuilder Paquetes
ANT
Introducción a Java
Arrays [9]
David Rizo, Pedro J.
Los arrays se definen como los arrays dinámicos de C++ Ponce de León
Sintáxis básica
Ahora los contenidos de v, es decir v[0], v[1], , etc... son
Programa principal
null, se deben inicializar Salida básica
} Excepciones
Cadenas
Se pueden crear literales array reservando también memoria Arrays
Control de flujo
y se pueden copiar manualmente usando un bucle o con el Paquetes
CLASSPATH
int [] origen = new int []{1,2,3,4,5};
Documentación
int [] destino = new int[[Link]];
Archivos JAR
[Link](origen, 0, destino, 0, [Link]);
ANT
Introducción a Java
Métodos, paso por valor
David Rizo, Pedro J.
Ponce de León
Métodos Contenidos
Características
A las funciones miembro de una clase se les llama métodos. Sintáxis básica
Programa principal
Parámetros Salida básica
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Métodos, paso por valor
David Rizo, Pedro J.
Ponce de León
ACTIVIDAD [10]
Contenidos
Dada la función F() definida en la página anterior y el siguiente
Características
fragmento de código Sintáxis básica
Excepciones
llamada a F().
Cadenas
• Ejecuta la actividad mediante la orden java Clase 10 Arrays
Control de flujo
• Consulta el esquema de la siguiente página para
Paquetes
comprender lo sucedido.
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Métodos, paso por valor
David Rizo, Pedro J.
Ponce de León
ACTIVIDAD [10]
Contenidos
Características
Sintáxis básica
Programa principal
Salida básica
Compilación y
ejecución
Objetos
Excepciones
Cadenas
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Control de flujo [11]
David Rizo, Pedro J.
Ponce de León
Programa principal
Para recorrer arrays, por ejemplo, usaremos: Salida básica
} Excepciones
Cadenas
for (String color: v) { Arrays
[Link](color); // imprime un color por linea Métodos
}
Control de flujo
Librerías Java
C++.
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Paquetes
David Rizo, Pedro J.
Ponce de León
package
Contenidos
Las clases se distribuyen físicamente en directorios. Éstos Características
constituyen lo que se denomina package Sintáxis básica
Programa principal
Para que una clase esté en un paquete hay que: Salida básica
Compilación y
• Guardar el fichero de la clase en el directorio del paquete ejecución
} Métodos
Control de flujo
El fichero [Link] se debe guardar en el directorio Paquetes
prog3/ejemplos. Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Paquetes
David Rizo, Pedro J.
Ponce de León
Modularización
No es obligatorio usar paquetes, pero es recomendable. Si
queremos usar una clase de otro paquete debemos incluirla, Contenidos
Sintáxis básica
package [Link];
Programa principal
// clase de libreria de Java
import [Link]; Salida básica
Compilación y
ejecución
// clase nuestra de otro paquete
Tipos de datos básicos
import [Link];
Objetos
Métodos
Sólo se incluyen por defecto todas las clases de [Link] y
Control de flujo
por tanto no es necesario incluirlas explícitamente Paquetes
Archivos JAR
ANT
Introducción a Java
Paquetes
David Rizo, Pedro J.
Ponce de León
ACTIVIDAD
Contenidos
Programa principal
páginas anteriores.
Salida básica
• Revisa su código fuente y en particular las instrucciones Compilación y
ejecución
package e import.
Tipos de datos básicos
• Desde la carpeta codigo, compila la clase Ejemplo : Objetos
javac prog3/ejemplos/[Link] Excepciones
Arrays
• El compilador también ha compilado el archivo Métodos
prog3/otrosejemplos/[Link] sin tú pedírselo. Control de flujo
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
API de Java
David Rizo, Pedro J.
Ponce de León
Contenidos
API (Application Programming Interface)
Características
Java dispone de una extensa librería de clases que se puede Sintáxis básica
Salida básica
docs/api/[Link]
Compilación y
• Esta estructurada en paquetes. ejecución
Métodos
conjuntos, mapas, etc.
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
API de Java
David Rizo, Pedro J.
Ponce de León
Arrays
// get() devuelve un objeto del tipo especificado
Métodos
Integer a = [Link](0);
String s = [Link](1); // "JAVA" Control de flujo
Paquetes
Documentación
Archivos JAR
ANT
Introducción a Java
CLASSPATH
David Rizo, Pedro J.
Ponce de León
ClassNotFoundException Contenidos
Características
Esta excepción aparece a veces al intentar iniciar un programa
Sintáxis básica
Java. Antes de comenzar a ejecutar el programa principal, la Programa principal
máquina virtual debe cargar todos los archivos .class Salida básica
necesarios. Si no encuentra alguno, lanza esta excepción. Compilación y
ejecución
Excepciones
mihome$ java Clase Cadenas
Error: Could not find or load main class Clase Arrays
Caused by: [Link]: Clase
Métodos
Control de flujo
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
CLASSPATH
David Rizo, Pedro J.
Ponce de León
Contenidos
Características
classpath Sintáxis básica
Programa principal
El classpath es la lista de directorios donde Java busca los
Salida básica
archivos .class necesarios para ejecutar una aplicación. Compilación y
Por defecto son ejecución
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
CLASSPATH
David Rizo, Pedro J.
Ponce de León
Contenidos
Supongamos que nuestro programa principal está compilado
Características
en un archivo llamado [Link] que reside en Sintáxis básica
/home/mihome/codigo. Programa principal
Salida básica
Caso 1
Compilación y
Todas nuestras clases están en un mismo directorio. No ejecución
Cadenas
Arrays
(Ya has comprobado que esto funciona si has realizado alguna
Métodos
de las actividades) Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
CLASSPATH
David Rizo, Pedro J.
Ponce de León
Caso 2
Ejecutamos java desde un directorio distinto al que contiene
Contenidos
nuestros .class. Hay que definir el classpath: Características
Sintáxis básica
Opcion 1
Programa principal
directorios donde están los .class (mejor usar rutas absolutas) Compilación y
ejecución
Objetos
Cadenas
Arrays
Opcion 2 Métodos
Control de flujo
Usar la opcion -cp o -classpath de java: Paquetes
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
CLASSPATH
David Rizo, Pedro J.
Ponce de León
Contenidos
Características
Sintáxis básica
Caso 3
Programa principal
Compilación y
> export CLASSPATH=/home/mihome/milibjava:/home/mihome/codigo ejecución
> java Clase Tipos de datos básicos
Objetos
o bien usar -cp. OJO: la opcion ’-cp’ anula a CLASSPATH. Se
Excepciones
debe usar una u otra, pero no ambas a la vez. Cadenas
Arrays
Métodos
Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Paquetes y classpath
David Rizo, Pedro J.
Ponce de León
Programa principal
package modelo; Salida básica
public class MiClase {...}
Compilación y
ejecución
mains/[Link]: Tipos de datos básicos
Cadenas
modelo/m2/[Link]: Arrays
Paquetes
Librerías Java
classpath deberá contener el directorio padre de la estructura CLASSPATH
de paquetes. Documentación
Archivos JAR
ANT
Introducción a Java
Paquetes y classpath
David Rizo, Pedro J.
Ponce de León
Contenidos
Supongamos que ese directorio del proyecto es
Características
/home/mihome/codigo. Si quiero usar OtraClase en Sintáxis básica
[Link]: Programa principal
Compilación y
Al ejecutar ejecución
Excepciones
para poder ejecutar la clase Main, ’java’ buscará en los
Cadenas
directorios del classpath un directorio mains y dentro de éste
Arrays
el archivo [Link], y un directorio modelo/m2 y dentro Métodos
de éste el archivo [Link]. Control de flujo
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Paquetes y classpath
David Rizo, Pedro J.
Ponce de León
ACTIVIDAD
Contenidos
Salida básica
• Echale un vistazo al código de las tres clases que
Compilación y
contienen los paquetes. ejecución
Métodos
• Ejecuta el programa principal que se encuentra en la Control de flujo
clase Main como se indica en la página anterior. Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Documentación I
David Rizo, Pedro J.
Ponce de León
Javadoc
En java se utiliza un formato basado en anotaciones embebido
en comentarios. Éstos se inician con /** y los tipos de Contenidos
Sintáxis básica
Programa principal
package paquete;
/** Salida básica
Arrays
/** Métodos
* Esto es un campo que vale para ... Control de flujo
*/ Paquetes
private int x;
Librerías Java
Documentación
Archivos JAR
ANT
Introducción a Java
Documentación II
David Rizo, Pedro J.
Ponce de León
/**
* Constructor: hace esta operacion....
* @param ax Es el radio de ... Contenidos
Excepciones
/**
Cadenas
* Getter.
* @return un valor siempre mayor que cero... Arrays
*/ Métodos
public double getX() { Control de flujo
return x; Paquetes
} Librerías Java
}
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Documentación III
David Rizo, Pedro J.
Ponce de León
Generación
La documentación en html se genera mediante la orden Contenidos
Características
javadoc -d doc paquete otropaquete
Sintáxis básica
Compilación y
ejecución
Arrays
este documento.
Métodos
• Para ver el resultado abre el archivo generado Control de flujo
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
Archivos JAR
David Rizo, Pedro J.
Ponce de León
Sintáxis básica
Salida básica
Para empaquetar, desde el directorio de trabajo:
Compilación y
ejecución
/home/mihome/code> jar cvf [Link] mains modelo
Tipos de datos básicos
Cadenas
> java -cp /home/mihome/libs/[Link] [Link]
Arrays
Control de flujo
> jar tvf [Link] Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT
Introducción a Java
ANT
David Rizo, Pedro J.
Ponce de León
ant Contenidos
Características
ant es una herramienta para automatizar las diversas tareas
Sintáxis básica
relativas a la compilacion, generación de documentación,
Programa principal
archivos jar, etc. Es similar a ’make’. En Programación 3 lo Salida básica
usaremos como parte del script de corrección de prácticas. No Compilación y
es necesario que conozcas su funcionamiento, pero si tienes ejecución
Excepciones
Tutorial de ’ant’ Cadenas
Métodos
http:
Control de flujo
//[Link]/java/herramientas/[Link]
Paquetes
Librerías Java
CLASSPATH
Documentación
Archivos JAR
ANT