|
|
Línea 139: |
Línea 139: |
| <div class="slide"> | | <div class="slide"> |
| ===Programa Java: clases y método main=== | | ===Programa Java: clases y método main=== |
| + | *Un programa en java normalmente se organiza en proyecto |
| + | *Es muy común tener muchos ficheros '''.java''' |
| + | *Sólo uno de ellos puede tener un método especial llamado '''main''' |
| + | *La ejecución del programa empezará en la primera instrucción que tenga un método '''main''' |
| + | *solo puede haber uno en un proyecto |
| + | *Se puede crear una clase sola para el main o incluir el método en alguna existente (ya lo veremos) |
| + | <source lang=java> |
| + | public class ClasePrincipal{ |
| + | public static void main(String[]args){ |
| + | instruccion1;//Primera instrucción que se ejecutará |
| + | ... |
| + | instruccionn; |
| + | } |
| + | } |
| + | </source> |
| </div> | | </div> |
| <div class="slide"> | | <div class="slide"> |
Línea 200: |
Línea 215: |
| </div> | | </div> |
| <div class="slide"> | | <div class="slide"> |
− | ==Dónde se empieza a ejecutar un programa escrito en java==
| |
− | *Un programa en java normalmente se organiza en proyecto
| |
| | | |
− | *Es muy común tener muchos ficheros .java
| + | |
− | *Sólo uno de ellos puede tener un método especial llamado main
| + | |
− | La ejecución del programa debe comenzar en algún sitio
| + | |
− | Simpre empezará en la primera instrucción que tenga un método especial llamado '''main'''
| + | |
− | solo puede haber uno en un proyecto, si no el compilador se quejaría y diría que se han producido errores en la compilación
| + | |
− | <source lang=java>
| + | |
− | public class ClasePrincipal{
| + | |
− | public static void main(String[]args){
| + | |
− | instruccion1;//Primera instrucción que se ejecutará
| + | |
− | ...
| + | |
− | instruccionn;
| + | |
− | }
| + | |
− | }
| + | |
− | </source>
| + | |
| </div> | | </div> |
| </div> | | </div> |
Revisión de 09:33 2 abr 2012
|
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas.
|
|
CURSO: JAVA
JAVA Lenguaje de progrmación orientada a objetosn
Estructura de un programa en java
- En java todo son clases
- Cada Clase en un fichero (salvo clases locales a una clase )
- Un programa escrito en java es un conjunto de clases
La estructura general de una clase
class NombreClase{
//atributo/s
//metodo/s
}
Elementos para definir una clase
Tenemos los siguientes elementos
- Palabra reservada class
- Dos instrucciones: inicio de bloque y fin de bloque { y } resepectivamente
- Identificador NombreClase
- Comentarios //
- Las palabras reservadas son palabras con singnificado especial.
- Constituyen la parte léxica del lenguaje
- no se puede utilizar para otro propósito como identificadores.
Palabras reservadas
PALABRAS RESERVADAS EN JAVA
abstract |
double |
int |
strictfp |
boolean
|
else |
interface |
super |
break |
extends
|
long |
switch |
byte |
final |
native
|
synchronized |
case |
finally |
new |
this
|
catch |
float |
package |
throw |
char
|
for |
private |
throws |
class |
goto*
|
protected |
transient |
const* |
if |
public
|
try |
continue |
implements |
return |
void
|
default |
import |
short |
volatile |
do
|
instanceof |
static |
while
|
Palabras reservadas
- Las palabras const y goto no se emplean actualemnte en java, pero son palabras reservadas
- Existen otras palabras reservadas correspondientes a métodos reservados a la clase Object que ya veremos
- Según vayamos avanzando iremos descubriendo estas palabras
- Algunas se usan continuamente
- Otras tienen un uso muy poco frecuente
- Iremos agrupando las palabras en grupos (Variables, modificadores de acceso, estructuras de controls, ...)
Identificadores
Sirven para definir elementos que posteriormente vamos a utilizar (variables y/o atrivutos, constantes , métodos ,clases)
Deben ser lo más significativos posibles
Seguiremos unas reglas para mejorar la sintaxis
No son requisitos semánticos
- No se pueden emplear palabras reservadas
- Java es Sensitive Case, es decir los siguientes identificadores no son iguales
edad Edad EDAD edaD
- Los identificadores deben de ser significativos
int edad
String nombre
int calculaEdad(int fnac)
date fechaNacimiento
- las variables, atributos y métodos siempre en minúscula .
- Clases siempre la primer letra en mayúscula
- Constantes siempre todas las letras en mayúscula
- Se pueden emplear caracteres unicode, por lo que pueden aparecer secuencias de escape /uxxxx
- Si un identificador está formado por más de una palabra dos opciones
- Mayúscula la primera letra de cada palabra
- Separar con caracter de subrayado. Esto siempre en constantes ya que van en mayúscula
Identificadores
- El identificado debe usar los siguientes caracteres
[$|a..zA..Z|_][$|a..zA..Z|_|0..9]*
Empieza por $ _ o una letra del abecedario en mayúscula o minúscula.
Seguida de 0 o más caracteres de tipo $ _ letra o número
la ñ también es un caracter permitido para un identificador pero se recomienda no usarlo
Comentarios en el programa
- Una parte muy importante del software es lo que no son instrucciones
- un software hay que comentarlo
- No excesivamente pero sí lo suficiones (ambos términos muy imprecisos)
- comentarios hasta el final de la línea
//Este es un comentario hasta el final de la línea y empieza con
- comentario de varias líneas
/* hasta que encuentre la pareja
de caracteres final de comentario
esto se considerará un comentario
*/
Comentarios de documentación
- comentarios de docuemntacion
Este tercer tipo de comentario es más especial
/**
Este es un comentario
multilínea
y además sirve para realizar un documento
con la documentación del programa
*/
- Se pueden hacer comentarios a diferentes niveles
- A nivel de clase
- A nivel de variable/atributo
- A nivel de método
- Los comentario deben de ir inmediatamente antes del elemento que comentas
- Se puede utilizar tags @author @version @param @return
Comentarios de docuementación
Actividad
Haz un porgrama y crea la docuemntacion:
- Nombre de la clase
- Información de la versión
- Fecha
- Autor
- Objetivo muy general
- Aviso de copyrigh
- En el main parámetros y retorno
|
Programa Java: clases y método main
- Un programa en java normalmente se organiza en proyecto
- Es muy común tener muchos ficheros .java
- Sólo uno de ellos puede tener un método especial llamado main
- La ejecución del programa empezará en la primera instrucción que tenga un método main
- solo puede haber uno en un proyecto
- Se puede crear una clase sola para el main o incluir el método en alguna existente (ya lo veremos)
public class ClasePrincipal{
public static void main(String[]args){
instruccion1;//Primera instrucción que se ejecutará
...
instruccionn;
}
}
Instruccion de leer y escrivir o visualizar
- En java no existen estas instrucciones
- El API de java nos proporciona clases que implementan métodos con esa funcionalidad
- En concreto la clase System
La clase System
- Es una clase final y todos sus contenidos son privados
- No se puede instanciar un objeto de esa clase
- La clase System siempre está ahí disponible para que se pueda invocar cualquiera de sus métodos
- Es miembro del paquete java.lang
- Todos los miembros del paquete java.lang se pueden usar directamente
- no hay que importarlos
- En esta clase se definen los dispositivos estándar de entrada/salida
static PrintStream err;
static InputStream in;
static PrintStream out;
Actividad
hacer un programa que me pida la edad y nombre y la visualice
|
Variables
Variables primitivas
Variables de referencia
Variables
Qué puede haber dentro de una clase
- Una clase representa a un elemento del programa
- En POO el programa va a ser un conjunto de objetos que interactúan entre sí
- Cada objeto es un elemento del sistema
- Con unos atributos que le definen
- Con un comportamiento que le caracteriza
- Las clases me permite crear el modelo de los objetos
- básicamente dentro de una clase podemos tener
- atributos o datos (variables, constantes, objetos)
- métodos (que definen el comportamiento
- Definir otras clases locales a la clase
- Los datos nos referiremos a ellos como atributos llamado así en terminología orientada a objetos
- A las funciones las identificaremos como métodos
</div>