1
Índice
Contenido
Introducción..................................................................................................................................... 3
Objetivo ............................................................................................................................................. 4
Desarrollo de los temas ................................................................................................................ 5
Lenguaje de programación seleccionado: JAVA ........................................................................ 5
Características ................................................................................................................................ 5
Reglas y elementos del lenguaje. .............................................................................................. 6
Identificadores ................................................................................................................................... 6
Comentarios ...................................................................................................................................... 7
Sentencias ......................................................................................................................................... 9
Variables .......................................................................................................................................... 10
Caracteres ....................................................................................................................................... 12
Variables booleanas....................................................................................................................... 13
Variables enteras ............................................................................................................................ 13
Las cadenas de caracteres o strings ........................................................................................... 15
Palabras reservadas ...................................................................................................................... 16
Patrones validos en JAVA. ........................................................................................................ 17
Errores sintácticos en JAVA. .................................................................................................... 18
Conclusión ..................................................................................................................................... 22
Referencias Bibliográficas......................................................................................................... 23
2
Introducción
3
Objetivo
4
Desarrollo de los temas
Características
Lenguaje totalmente orientado a
Objetos. Todos los conceptos en los que se
apoya esta técnica, encapsulación, herencia,
polimorfismo, etc., están presentes en Java.
5
los bytecodes, semejantes a las instrucciones de ensamblador. Por otra parte,
es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre
cualquier máquina a la cual se hayan portado el intérprete y el sistema de
ejecución en tiempo real (run-time).
Robusto. Java fue diseñado para crear software altamente fiable. Para ello
proporciona numerosas comprobaciones en compilación y en tiempo de
ejecución. Sus características de memoria liberan a los programadores de
una familia entera de errores (la aritmética de punteros), ya que se ha
prescindido por completo de los punteros, y la recolección de basura elimina
la necesidad de liberación explícita de memoria.
Alto rendimiento.
Dinámico. El lenguaje Java y su sistema de ejecución en tiempo real son
dinámicos en la fase de enlazado. Las clases sólo se enlazan a medida que
son necesitadas. Se pueden enlazar nuevos módulos de código bajo
demanda, procedente de fuentes muy variadas, incluso desde la Red.
Identificadores
6
Todos los identificadores han de comenzar con una letra, el carácter
subrayado (_) o el carácter dollar ($).
Puede incluir, pero no comenzar por un número
No puede incluir el carácter espacio en blanco
Distingue entre letras mayúsculas y minúsculas
No se pueden utilizar las plabras reservadas como identificadores
Tipo de
Convención Ejemplo
identificador
nombre de
En letras mayúsculas PI, MAX_ANCHO
constante
Comentarios
La programación orientada a objetos facilita mucho la lectura del código, por lo que
lo que no se precisa hacer tanto uso de los comentarios como en los lenguajes
estructurados. En Java existen tres tipos de comentarios
7
Comentarios de varias líneas
Comentarios de documentación
/*--------------------------------|
| (C) Angel Franco García |
| fecha: Marzo 1999 |
| programa: PrimeroApp.java |
|---------------------------------*/
8
La sentencia System.out.println() imprime un mensaje en la consola, una ventana
DOS que se abre en el escritorio de Windows 95. La función println tiene un sólo
argumento una cadena de caracteres u objeto de la clase String.
Sentencias
Una sentencia es una orden que se le da al programa para realizar una tarea
específica, esta puede ser: mostrar un mensaje en la pantalla, declarar una variable
(para reservar espacio en memoria), inicializarla, llamar a una función, etc. Las
sentencias acaban con; este carácter separa una sentencia de la siguiente.
Normalmente, las sentencias se ponen unas debajo de otras, aunque sentencias
cortas pueden colocarse en una misma línea. He aquí algunos ejemplos de
sentencias
int i=1;
import java.awt.*;
System.out.println("El primer programa");
rect.mover(10, 20);
Bloques de código
Expresiones
Una expresión es todo aquello que se puede poner a la derecha del operador
asignación =. Por ejemplo:
x=123;
y=(x+100)/4;
area=circulo.CalcularArea(2.5);
9
Rectangulo r=new Rectangulo(10, 10, 200, 300);
Variables
Una variable es un nombre que se asocia con una porción de la memoria del
ordenador, en la que se guarda el valor asignado a dicha variable. Hay varios tipos
de variables que requieren distintas cantidades de memoria para guardar datos.
de instancia
de clase
locales
Las variables de instancia o miembros dato como veremos más adelante, se usan
para guardar los atributos de un objeto particular.
Las variables de clase o miembros dato estáticos son similares a las variables de
instancia, con la excepción de que los valores que guardan son los mismos para
todos los objetos de una determinada clase. En el siguiente ejemplo, PI es una
variable de clase y radio es una variable de instancia. PI guarda el mismo valor para
todos los objetos de la clase Circulo, pero el radio de cada círculo puede ser
diferente
class Circulo{
static final double PI=3.1416;
double radio;
//...
}
10
Las variables locales se utilizan dentro de las funciones miembro o métodos. En el
siguiente ejemplo area es una variable local a la función calcularArea en la que se
guarda el valor del área de un objeto de la clase Circulo. Una variable local existe
desde el momento de su definición hasta el final del bloque en el que se encuentra.
class Circulo{
//...
double calcularArea(){
double area=PI*radio*radio;
return area;
}
}
int x=0;
String nombre="Angel";
double a=3.5, b=0.0, c=-2.4;
boolean bNuevo=true;
int[] datos;
int año=1999;
double radioCirculo=3.2;
11
Declarar
Inicializar
Usar
Tipo Descripción
Caracteres Unicode de 16 bits Los caracteres alfa-numéricos son los mismos que
char los ASCII con el bit alto puesto a 0. El intervalo de valores va desde 0 hasta 65535
(valores de 16-bits sin signo).
byte Tamaño 8 bits. El intervalo de valores va desde -27 hasta 27 -1 (-128 a 127)
short Tamaño 16 bits. El intervalo de valores va desde -215 hasta 215-1 (-32768 a 32767)
Tamaño 64 bits. Números en coma flotante de doble precisión. Estándar IEEE 754-
double
1985. (de 4.94065645841246544e–324d a 1.7976931348623157e+308d.)
Caracteres
En Java los caracteres no están restringidos a los ASCII sino son Unicode. Un
carácter está siempre rodeado de comillas simples como 'A', '9', 'ñ', etc. El tipo de
dato char sirve para guardar estos caracteres.
12
Carácter Secuencia de escape
retorno de
\r
carro
tabulador
\t
horizontal
nueva línea \n
barra invertida \\
Variables booleanas
boolean encontrado=false;
{...}
encontrado=true;
Variables enteras
int numero=1205;
int x, y;
long m=30L;
13
int es la palabra reservada para declarar una variable entera. En el primer caso, el
compilador reserva una porción de 32 bits de memoria en el que guarda el número
1205. Se accede a dicha porción de memoria mediante el nombre de la
variable, numero. En el segundo caso, las porciones de memoria cuyos nombres
son x e y, guardan cualquier valor entero si la variable es local o cero si la variable
es de instancia o de clase. El uso de una variaable local antes de ser
convenientemente inicializada puede conducir a consecuencias desastrosas. Por
tanto, declarar e inicializar una variable es una práctica aconsejable.
Las variables del tipo float o double (coma flotante) se usan para guardar números
en memoria que tienen parte entera y parte decimal.
double PI=3.14159;
double g=9.7805, c=2.9979e8;
float a=12.5f;
float b=7f;
double c=7.0;
double d=7d;
En la primera línea 12.5 lleva el sufijo f, ya que por defecto 12.5 es double. En la
segunda línea 7 es un entero y por tanto 7f es un número de tipo float. Y así el resto
de los ejemplos.
14
valores de las variables en coma flotante en un ordenador solamente se aproximan
a los verdaderos números reales en matemáticas. La aproximación es tanto mejor,
cuanto mayor sea el tamaño de la memoria que reservamos para guardarlo. De este
hecho, surgen las variables del tipo float y double. Para números de precisión
arbitararia se emplea la clase BigDecimal.
Valores constantes
Además de los ocho tipos de datos primitivos, las variables en Java pueden ser
declaradas para guardar una instancia de una clase, como veremos en el siguiente
capítulo (Clases y objetos).
15
En una cadena se pueden insertar caracteres especiales como el carácter tabulador
'\t' o el de nueva línea '\n'
Palabras reservadas
16
Otras: super, null, this.
Un objeto de la clase Matcher se crea a través del método matcher() del objeto
instanciado de la clase Pattern.
La clase matcher tiene los siguientes métodos: matches para una coincidencia
exacta, lookingAt cuando se encuentra el patrón en parte de la cadena, find
permite buscar subcadenas que coincidan con el patrón.
El método find permite utilizar los métodos start y end para encontrar la primera
y última coincidencia.
17
Errores sintácticos en JAVA.
Olvidarse de importar una clase: Cada vez que desee utilizar una función de la
API de Java en particular, debe importar la clase asociada a su aplicación. Por
ejemplo, si su aplicación contiene Cadena de nombre de usuario, entonces debe
agregar java.lang.String- importación para importar la clase String.
18
El tratamiento de un método estático como un método de instancia: Los
métodos estáticos son aquellos que están asociados con una clase específica,
mientras que los métodos de instancia se asocian con un objeto creado a partir de
la clase.
Missing llaves: Cada vez que desee una característica de Java para aplicar a
múltiples líneas de código, debe incluir toda la manzana entre llaves ({}). En la
mayoría de los casos, el compilador detectará este error para usted. Por ejemplo, si
usted trata de poner fin a una clase sin incluir la llave de cierre, el compilador
generará un error. Este es un error que el compilador puede no mostrar la ubicación
exacta del error porque no puede detectar donde falta el corchete - simplemente
sabe que falta uno.
Por ejemplo, si usted trata de poner fin a una clase sin incluir la llave de cierre, el
compilador generará un error. Este es un error que el compilador puede no mostrar
la ubicación exacta del error porque no puede detectar donde falta el corchete -
simplemente sabe que falta uno.
Este tipo de error también puede crear errores de ejecución. Por ejemplo, cuando
se supone que una sentencia if para aplicar a múltiples líneas de código, pero dejar
de lado las llaves, la sentencia if sólo afecta a la siguiente línea de código, y la
aplicación funciona de forma incorrecta.
Olvidar el nombre de clase o un objeto como parte de una llamada al método:
Siempre se incluye la clase u objeto asociado a un método antes de hacer la llamada
al método. Por ejemplo, Character.toUpperCase () y System.out.print () son
correctas, sino simplemente llamando toUpperCase () o print () es incorrecta.
La omisión de la cláusula de rescisión de sentencias switch: Es fácil olvidar añadir
las cláusulas de rescisión de una sentencia switch. Además, el compilador no
detectará este error.
Como consecuencia de dejar de lado la cláusula de rescisión, la aplicación seguirá
para ejecutar el código en una sentencia switch hasta que se encuentra con una
cláusula de rescisión o de la sentencia switch es completa. Por ejemplo, el siguiente
fragmento de código muestra la ejecución de una tarea por defecto, pero las
cláusulas de rescisión están comentadas.
19
Al ejecutar este código y responder a una, la aplicación emite todas las posibles
respuestas, como se muestra en esta figura. Si se compara esta salida a la salida
que se muestra en la segunda figura, verás que la aplicación no funciona
correctamente.
Conclusión
20
Mistyping la cabecera para el método main (): El compilador no se quejará de
este problema, pero verás inmediatamente cuando intenta iniciar la aplicación. Java
se quejará de que no puede encontrar el método main (). Recuerde que un método
main () debe aparecer así:
Puede crear muchos otros errores de sintaxis. Como usted ha descubierto mediante
la lectura de esta lista, el compilador se encuentran algunos de ellos, el JRE
encontrará otros, pero algunos, como la omisión de la cláusula de rescisión de una
sentencia switch, se dejó para que usted pueda averiguar. De los tres tipos
principales de errores, errores sintácticos tienden a ser los más fáciles de encontrar.
21
Conclusión
La breve conclusión sobre ese tema es que seleccionamos el lenguaje
de programación con el cual trabajaremos para nuestro compilador, el
objetivo del trabajo fue que conozcamos su funcionamiento, sus reglas
de sintaxis, los elementos con los que trabaja, sus patrones para ampliar
su ámbito de programación y los posibles errores sintácticos y léxicos
que pueden crearse si uno son sigue las reglas.
22
Referencias Bibliográficas
https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)
http://personales.upv.es/rmartin/cursoJava/Java/Introduccion/PrincipalesCaracteristicas.htm
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Caracter%C3%ADsticas_del_lenguaje
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/introduccion/primero.htm
http://slideplayer.es/slide/4638779/
http://maniqui.ru/computadoras-y-software/programacin/java/10167-errores-sintcticos-en-java.html
23