Usuario:ManuelRomero/sintaxis
De WikiEducator
< Usuario:ManuelRomero
Revisión a fecha de 10:26 2 abr 2012; ManuelRomero (Discusión | contribuciones)
Saltar a: navegación, buscar
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
Introducción a java | Sintaxis de java | Entorno Gráfcio | Bases de Datos JDBC | Comunicaciones y redes |
Contenido
- 1 Estructura de un programa en java
- 2 Elementos para definir una clase
- 3 Palabras reservadas
- 4 Palabras reservadas
- 5 Programa Java: clases y método main
- 6 Identificadores
- 7 Identificadores
- 8 Comentarios en el programa
- 9 Comentarios de documentación
- 10 Comentarios de docuementación
- 11 Actividad
- 12 Actividad
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
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, ...)
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; } }
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
- javadoc.exe -author -version para que aparezcan al principio de la clase
Comentarios de docuementación
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;
Métodos de System.out
- Son los métodos de la clase PrintStream
http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html
- Principales
println("Cadena ...")//Escrible sus argumentos y al final añade un \n print ("Cadena ...") //Lo mismo pero no añade un salto de línea printf("Cadena...",argumentos) //Para los amantes del c %d,%c,%s,....
Métods de System.in Vs Scanner
- A partir de Java 5 apareció la clase Scanner
- Es mas sencilla de utilizar que System.in
- Es mucha la flexibilidad que presenta
- Está dentro del paquete java.util
- Hay que importarla para poderla utilizar
import java.util.Scanner;
- Hay que definirse un objeto de esa clase
Scanner leer = new Scanner(System.in);
- Tiene muchos usos, por ejemplo leer la siguiente línea del teclado
leer.netLine();
- Para la sintaxis de java aprenderemos su uso
Clase java.util.Scanner
import java.util.Scanner;/* Debemos cargar la clase ya que no está en el paquete '''lang''', sino en el paquete '''util''' */ class Principal{ public static void main(String []argc){ int num; Scanner leer = new Scanner(System.in);//Una clase se instancia de esta manera //Le pasamos un objeto InputStream asociado al teclado System.out.println("Dime tu edad"); num=leer.nextInt(); //Invocamos al método para obtener el siguiente entero del buffer System.out.println("Tienes "+edad+" años de edad"); } }
Variables
- La instruccion de definición de variables o atributos es
tipo_variable identificador [= valor_inicial]
identificador es el nombre de la variable
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>
</div>