Diferencia entre revisiones de «Usuario:ManuelRomero/sintaxis»
Línea 86: | Línea 86: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | ==Identificadores== | + | ===Identificadores=== |
*El identificado debe usar los siguientes caracteres | *El identificado debe usar los siguientes caracteres | ||
[$|a..zA..Z|_][$|a..zA..Z|_|0..9]* | [$|a..zA..Z|_][$|a..zA..Z|_|0..9]* |
Revisión de 07:52 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
Contenido
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, ...)
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 */
Programa Java, clases y método main
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;
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
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
public class ClasePrincipal{ public static void main(String[]args){ instruccion1;//Primera instrucción que se ejecutará ... instruccionn; } }
</div>