Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


lenguaje Java 2, Apuntes de Programación Orientada a Objetos

Acerca del uso del lenguaje java

Tipo: Apuntes

2018/2019

Subido el 26/02/2019

paquipaqui
paquipaqui 🇪🇸

1 documento

1 / 52

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Libro Java 1
APÉNDICE W3
Guía de sintaxis del lenguaje Java 2
El lenguaje Java se describe por su sintaxis y su semántica. La sintaxis define la
estructura y apariencia de al escritura del código Java. La semántica define lo que
significa cada parte del código y cómo se comportará cuando se ejecuta.
Los componentes básicos de la sintaxis son las palabras reservadas (keywords) y
componentes de léxico (tokens). Una palabra reservada es una palabra o identificador
que tiene un significado específico en el lenguaje. Las palabras reservadas sólo se
pueden utilizar en el mundo en que está definido en el lenguaje. Los componentes de
léxico( token) incluyen cada palabra, símbolo o grupo de símbolos que aparecen en el
código fuente del programa.
Una gramática se utiliza para llevar juntos todos los componentes de la sintaxis y
definir la estructura de unidades sintácticamente correcta del código Java. La gramática
Java específica el orden preciso en el que se puedan escribir las palabras reservadas y
los símbolos, y se utilizan por el compilador Java para asegurar que el programador
hace las cosas correctas. Cualquier código que no esté escrito de modo correcto emitirá
mensajes de error y no construirá un programa ejecutable.
Este apéndice describe las reglas básicas de sintaxis de Java que cumplen las
diferentes versiones existentes en la fecha de publicación de este libro: JDK1.1, 1.2 y
1.3, con el compilador Java 2.0. Gran parte de la sintaxis de Java se basa en C y/o C++
A.1
¿Qué es un programa Java?.
Un programa Java es una colección de clases. Algunas clases se escriben y algunas
forman parte del lenguaje Java. Un programa Java debe contener un método estático
denominado main ( ).El programa comienza especificando el nombre de esta clase
al sistema Java al tiempo de ejecución que llama al método main ( ).
De modo alternativo se puede escribir un applet. Los applet se ejecutan dentro de un
programa navegador web.
El SDK (Java Software Devolopment) se puede descargar del sitio web de Java
(http://java.sun_com). también se conoce como JDK (Java Development
Kit). La versión actual de Java es 1.3 y existe una versión beta 1.4.
Tabla A.1 Herramientas de JDK
Herramientas Uso
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34

Vista previa parcial del texto

¡Descarga lenguaje Java 2 y más Apuntes en PDF de Programación Orientada a Objetos solo en Docsity!

APÉNDICE W

Guía de sintaxis del lenguaje Java 2

El lenguaje Java se describe por su sintaxis y su semántica. La sintaxis define la estructura y apariencia de al escritura del código Java. La semántica define lo que significa cada parte del código y cómo se comportará cuando se ejecuta. Los componentes básicos de la sintaxis son las palabras reservadas (keywords) y componentes de léxico ( tokens). Una palabra reservada es una palabra o identificador que tiene un significado específico en el lenguaje. Las palabras reservadas sólo se pueden utilizar en el mundo en que está definido en el lenguaje. Los componentes de léxico( token) incluyen cada palabra, símbolo o grupo de símbolos que aparecen en el código fuente del programa. Una gramática se utiliza para llevar juntos todos los componentes de la sintaxis y definir la estructura de unidades sintácticamente correcta del código Java. La gramática Java específica el orden preciso en el que se puedan escribir las palabras reservadas y los símbolos, y se utilizan por el compilador Java para asegurar que el programador hace las cosas correctas. Cualquier código que no esté escrito de modo correcto emitirá mensajes de error y no construirá un programa ejecutable. Este apéndice describe las reglas básicas de sintaxis de Java que cumplen las diferentes versiones existentes en la fecha de publicación de este libro: JDK1.1, 1.2 y 1.3, con el compilador Java 2.0. Gran parte de la sintaxis de Java se basa en C y/o C++

A.

¿Qué es un programa Java?.

Un programa Java es una colección de clases. Algunas clases se escriben y algunas forman parte del lenguaje Java. Un programa Java debe contener un método estático denominado main ( ).El programa comienza especificando el nombre de esta clase al sistema Java al tiempo de ejecución que llama al método main ( ). De modo alternativo se puede escribir un applet. Los a pplet se ejecutan dentro de un programa navegador web. El SDK (Java Software Devolopment) se puede descargar del sitio web de Java (http://java.sun_com). también se conoce como JDK (Java Development Kit). La versión actual de Java es 1.3 y existe una versión beta 1.4.

Tabla A.1 Herramientas de JDK Herramientas Uso

Javac Compilador Java Java Interprete Java, utilizado para ejecutar programas compilados

Aplletviewer Utilizado para visualizar el applet tal como puede ser visto por el navegador

JDb Depurador

Javadoc Generador de documentación

A.2 COMENTARIOS

Los comentarios permiten añadir al código fuente notas o comentarios de texto que son ignorados por el compilador. Los comentarios vienen en tres formatos:

1 // Comentario de una sola línea 2 /* Comentario multilínea / 3 //* Comentario de documentación */

  1. Los comentarios de una sola línea comienzan con // y continuan hasta el final de la línea.
  2. Los comentarios comienzan con /* y terminan con */
  3. Los comentarios de documentación son un tipo especial de comentarios multilínea que arranca con /**.Se utiliza para empotrar en la documentación del código fuente de una clave y se puede leer con el propio código fuente con la herramienta Javadoc para genera documentación HTML para sus clases.
A.3 PALABRAS RESERVADAS

Ciertas palabras están reservadas para uso interno por Java y no se pueden utilizar como nombres de variables.

abstract conft finally int pblic this bolean continue float interfac

e return throw break default fov long glont throw byte do goto native

static tranfien t care double if new scictpf try catch elye implemet

s package super voil chaw extendy import private switch volatile

class final instance of protecte ddd synchr onized while.

Las palabras reservadas cont y goto son reservadas pero no se utilizan.

slust Número entero entre 2bytes Rango 32.768 .. 32.

A.5.1 Literales

Los literales permiten valores de tipos primitivo, el tipo string o null se escriben directamente como un texto de programa.

Literales enteros

Valores decimales de tipo int (32 bit)

0,124, -525, 55661, 2354657, -

Valores hexadecimales de tipo int () precedidos por un 0 o bien DX (los dígitos hexadecimales se pueden representar de a–f o bien A-F.

DXD DX12F OXFFED DXFFFF 0X12DEFF

Valores octales de tipo int están precedidos por un 0 a la izquierda seguido por dígitos en el rango 0-

00, 0123, 0777, -045321, -

Literales de coma flotante

Los números básicos de una coma flotante incluyen un punto decimal.

1.2345 1234.5678 0.1 305 -24.

Si el número de coma flotante termina con un sufijo f o F será de tipo Float.

1.23f 3.456F of .5Ff -45673F

El sufijo d o D se pueden utilizar para representar tipos double.

Regla Los literales en coma flotante en Java son por defecto double precisión .Para especificar un literal float se debe añadir una constante F o f. Se puede especificar explícitamente un literal de tipo double añadiendo D o d.

Literales boolean Existen dos valores lógicos que pueden tener un valor lógico o boolean true ( verdadero) y false ( falso)

Literales carácter Un Literal carácter representa un solo carácter encerrado entre comillas simples.

´a´, ´A´ ,´¡´,´4´,

Tabla A.2 Secuencia de escape Secuencia de escape Descripción

\ ddd Carácter octal (dddd)

\ uxxx Carácter hexadecimal UNICODE (xxxx)

\ ´ Comilla simple

\ ´´ Comillas doble

\ Diagonal

\ r Retorno de carro

\ n Nueva línea

\ f Avance de página

\ t Tabulación

\ b Retroceso


Literales de cadena

Los literales de cadena se especifican encerrado una secuencia de caracteres esntre un par de comillas dobles.

“Hola Carchelejo” “cinco/nlineas” “Esto es una cadena”,”Hola mundo/n”

A.6 VARIABLES

Las variables son unidades básicas de almacenamiento en Java .Una variable se define por la combinación de un identificador, un tipo y un inicializador opcional. Además las variables tiene un ámbito que define su visibilidad y una duración.

A.6.1 Declaración de variables Una variable debe ser declarada antes de poder ser utilizada.

Sintaxis nombretipo identificador no mbretipo identificador =expresión

Es posible declarar dos o más variables a la vez.

  1. int i=100; char c=´d´; float f=45.

  2. int i; {i=100;}

  3. asignación dentro del cuerpo de un constructor int a=10,b,c=5;

A.6.4 Variables parámetro Estas variables se inicializan siempre a una copia del valor utilizado en la llamada del método o constructor.

A.6.5 Variables locales Todas las variables locales deben ser explícitamente directa o indirectamente antes de un uno.

{ int i=10; ... }

o por una asignación hecha a la variable antes de ser utilizada en cualquier otra expresión.

{ int i; // no puede haber ninguna ¿? Que utilice i

i =?¿

A.6.6 Variables finales Las variables que se declaran final deben ser inicializadas cuando son declaradas y no pueden ser modificadas.

Static final int MAX-CUENTA=100,

A.6.7 Conversión de tipos y moldeado Cuando un tipo de dato se asigna a otro tipo de variable tiene lugar una conversión automática de tipos si se cumplen las dos condiciones siguientes:

  • Los dos tipos son compatibles
  • El tipo destino es más grande que el tipo fuerte.

doble a = 6.

float b; b= (float) a;

la variable double a se convierte a float y se asigna a la variable b

  • Las variables primitivas nunca se pueden moldear a un objeto clase String obj-str=(string)0, //err
  • Para convertir un entero a una cadena ,añadir un literal de cadena vacía. String obj-str=0+¨¨; // el operador + significa

CARACTERES ESPECIALES Los caracteres especiales de difícil representación

Tabla A.3 Caracteres especiales Sintaxis Significado \´ Comillas simples \´´ Dobles comillas \ Diagonal \b Retroceso \f Avance de página \n Nueva línea \r Retorno de carro \t Tabulación \dee Representación octal \xdd Representación hexadecimal \udddd Carácter unicode

A.7 ARRAYS

Un array es un grupo de variables de tipos similares que se conocen con un nombre común. Los diferentes elementos contenidos en un array se definen por un índice y se acceden a ellos utilizando su índice; los índices arrancan en 0. Los arrays pueden ser multidimensionales y al igual que los objetos de la clase se crean utilizando la palabra reservada new.

A.7.1 Arrays de una dimensión Para crear un array se debe crear primero una variable array de tipo deseado. La declaración es

_Tipo nombre van[ ]; Int dia_mes [ ];

El operador new sirve para asignar memoria y crear un array de una dimensión.

Var_array=new tipo[longitud]; Dia_mes=new int [12]; //array de 12 enteros Dia_mes[1]=28, //array 28 a dia_mes

Sintaxis

TipoVariable [][]nombreArray=new tipoVAriable[filas][columnas].

Crea un objeto array de dos dimensiones. Si el número de columnas se deja en blanco, el array puede tener un número de columnas diferentes por cada final.

Ejemplo

Crear un array bidimensional con 8 filas y un número variable de columnas por cada fila. La primera fila se crea con 20 columnas y la tercera con 100 columnas.

class TestArraybidimensional { Public static void main (string arrays[]){ Int[][]multD=new int[8]; MultD[0]=new int[20]; MultD[1]=new int[1000]; } }

Inicialización de un array de dos dimensiones

TipoVariable[]nombreArray={{val1,val2,...},{val1,val2,...}}

Crea un array bidimensional e inicializa las columnas con los valores contenidos entre llaves. Cada conjunto de llaves representa una fila del array bidimensional.

Ejemplo Inicializar un array bidimensional de valores enteros de modo que se visualice el elemento [0][2]

Public class tesArray2D Public static void main(string arrays[]){int[][]multiD=}{1,2,3,4,5}{6,7,8,} }; system.out.printl/”El elemento[0][2]es + multiD[0][2];

A.7.4 La variable lenght

Todos los arrays unidimensionales tienen una variable de instancia denominada lenght asociada con ellos. Esta variable contiene la longitud del array. En el caso de arrays bidimensionales, La variable lenght se utiliza para acceder a la longitud de la primera fila. Public class teslongitudinal public static void main(sting arrays[]){int[][]multiD=}{1,2,3,4,}{5,6,7} }; system.out.printl (“ la longitud de la 1ªfase +multiD[0].lenght);} }

Salida

La longitud de la primera fila es 4

A.8 EXPRESIONES Las expresiones se utilizan para buscar, calcular y asignar valores. Excepto para una llamada a un método con un tipo de retorno void, todas las expresiones devuelvan un valor, permitiendo a las expresiones combinarse en más expresiones complejas Las expresiones principales traen o crean valores y son las siguientes:

Las palabras reservadas this, super y null Un valor literal Una expresión con paréntesis Una expresión de campo, utilizando ´.´ Una expresión de índices de array, utilizando ´[]´ Una expresión de llamada a métodos Una expresión de asignación.

Expresión con paréntesis

(expresión)

Expresión de campo

Identificador

Expresión principal. Identificador Paquete. Identificador

Expresión de índices de arrays

Término[expresionValorentero]

Expresión de asignación

New numbetipo (listaArgumentos) New numbetipo [expresionEntera]

A.9 OPERADORES

Los operadores permiten a las expresiones combinarse en expresiones más complejas. Java proporciona una colección grande de operadores que se pueden utilizar para manipular datos, incluyendo operadores aritméticos, asignación ,lógicos y de moldeado. Las reglas de asociación y de prioridad se utilizan para determinar como evaluar expresiones utilizando operadores.

A.9.1 Operadores aritméticos Los operadores aritméticos se utilizan en expresiones matemáticas de igual modo que se utilizan en Álgebra.

XOR lógica(OR exclusiva) OR cortocircuito(condicional) ANDcortocircuito(condicional) NOT unitario lógico signación AND signación OR signación XOR Igual a No igual a Ternario if-then-che.(si-entonces-sino) ¿¿*

Tabla A.7 Tabla de verdad

A B AIB A&B A^B !A Falso falso falso falso falso verdadero Verdadero falso verdadero falso verdadero falso Falso verdadero verdadero falso verdadero verdadero Verdadero verdadero verdadero verdadero falso falso

A.9.3 Operador ternario (condicional) Java incluye un operador especial ternario que puede reemplazar a ciertos tipos de sentencias if-then-else.Su formato es :

Expresión1 ?expresión2= expresión

Expresión1 , es cualquier expresión que se evalúa a un valor lógico(boolean). Si expresión1 es verdadera entonces se evalúa la expresión2; El resultado de la operación? es el de la expresión evaluada. Tanto expresión2 como expresión3 han de devolver el mismo tipo de retorno que no puede ser void.

1 k=i<0? –i=i; se obtiene el valor absoluto de i 2 int i=j<0?5:10, asigna a i si j es menor que 0,y 10 en caso contrario.

A.9.4Operadores relacionales Los operadores relacionales determinan la relación que un operador tiene con otro.

Específicamente determina igualdad y ¿¿

Tabla A.8 Operadores relacionales

Operador Significado = = Igual a ! => No igual a

Mayor que < Menor que = Mayor o igual que <= Menor o igual que

A.9.6 REGLAS DE PRECEDENCIA

La tabla A.5 muestra el orden de precendecia (prioridad)de mayor o menor. Los paréntesis se usan para alterar la procedencia de la operación.

Tabla A.9 Precedencia de los operadores Java

Mas alta () [ ]. ++ --

  • / % +-

<< = < <= = = I= & ^ I && II ?: = op= Más baja

Los paréntesis elevan la precedencia de las operaciones que están en su interior. Esta técnica se utiliza para obtener el resultado deseado.

A.10 Impresión básica El flujo de salida estándar permite acceder a los métodos básicos de impresión; print () y println(),de la clase PrintStream. Proporciona una referencia a un objeto de printStream que puede acceder a esos métodos .La variable out es un miembro de la clase System.

Sintaxis System.out // uno de la variable out

A.10.1 Método print( ) Print( ) imprime el argumento parado a la salida estándar (normalmente la consola). Sin un carácter fin de línea.

Sintaxis public void print(String s) public void print(Boolean b) public void print(Char c) public void print(double d) public void print(float f) public void print(int i) public void print(long l) public void print(object ob)

A.10.2 Método println( ) Println( ) es similar al método print( ) excepto un carácter fin de línea o secuencia se añade al final.

nombre = expresiónLegal;

Ejemplos

longitud = 5 + 7; i += 5;

Sentencias return

Las sentencias return proporcionan una salida de un método con un valor de retorno no void. Las sentencias de retorno pueden no aparecer en un método con un tipo de retorno void. Las sentencias return pueden aparecer en cualquier parte de una estructura de control;producen un retorno inmediato del método. El valor de la expresión a continuación del retorno debe coincidir con el tipo de retorno del método.

Ejemplo

public int calcularResta( int x, int y) { return x-y; }

Sentencias compuestas

Las sentencias compuestas se encierran entre llaves {} y se ejecutan secuencialmente dentro del bloque.

Ejemplo

{ int m = 25; // asigna el valor 25 a m int n = 30; // asigna el valor 30 a n int p = m + n; // asigna el valor 55 (m + n) a p }

Sentencia if

Las sentencias de selección proporcionan control sobre dos alternativas basadas en el valor lógico de una expresión.

if ( expresiónLógica ) bloqueSentencias1 //si son varias sentencias se encierran entre {} [ else if ( expresiónLógica ) bloqueSentencias2 ] ... [ else bloqueSentenciasN ]

Ejemplo

if (i < 0) System.out.println("Número negativo"); else { System.out.print("Número válido, "); System.out.println("es positivo"); }

Sentencia switch

La sentencia switch es la bifurcación múltiple

switch ( expresion_int ) { case constante_exp1 : sentencias1 ; /*si se trata de múltiples acciones no es necesario encerrarlas entre llaves */ [ break ;] [ case constante_exp2 : sentencias2 ; [ break ;]] ... [ case constante_expN : sentenciasN ; [ break ;]] [ default sentenciasX ; [ break ;]] }

Ejemplos

  1. switch (y / 50) { case 2: elemento = new Demo2(0, 0); break ; case 3: elemento = new Demo3(0, 0, 100); break ; case 4: elemento = new Demo4(0, 0, 200); break ; case 5: elemento = new Demo5(0, 0); break ; }
  2. switch (n) { case 1: case 2:

{ System.out.print(cuenta + ", "); cuenta++; }

Sentencia do-while

La sentencia do-while se utiliza para repetir la ejecución de sentencias y se ejecuta al menos una vez.

do bloqueSentencias //el bloqueSentencias se ejecuta al menos una vez while ( expresiónLógica );

Ejemplo

do { System.out.print(cuenta + ", "); cuenta++; } while (cuenta <= numero)

Sentencia for

La sentencia for se usa para repetir un número fijo de veces la ejecución de una serie de sentencias

for ([ iniciación ]; [ condiciónDeTest ]; [ actualización ]) sentencias

Ejemplo

for (int i = 0; i < 10; i++) a[i] = 5 * i;

Método exit y sentencia break

La sentencia break se puede utilizar en una sentencia switch o en cualquier tipo de sentencia de bucles. Cuando se ejecuta break el bucle que lo contiene o la sentencia switch terminan y el resto del cuerpo del bucle no se ejecuta. Una invocación al método exit termina una aplicación. El formato normal de una invocación al método exit es

System.exit(0);

Las estructuras de control proporcionan un medio para controlar el flujo de la ejecución de un programa. Las sentencias de control de un programa en Java se dividen en tres categorías: selección ,iteración y salto. Las sentencias de selección permiten a un programa elegir caminos diferentes de ejecución basados en el valor de una expresión o el estado de una variable. Las sentencias de iteración permiten la repetición de una o más sentencias (estas repeticiones o iteraciones se conocen como bucles)

Las sentencias de salto o bifurcación permiten a un programa ejecutarse de un modo no lineal.

Sentencias de selección : if,switch Sentencias de repetición (bucles:) while,do,for Sentencias de transferencia: break,continue, return

A.11.1Sentencia de selección La sentencia if es una sentencia de bifurcación condicional dependiendo del valor de una expresión lógica.

Sintaxis

1 if( expresión lógica) 2.if ( expresión lógica) sentencia sentencia else sentencia 3.if (c ondición1 ){ sentencia; }else if ( condición2){ sentencia; {else{ sentencia; {

Ejemplo

1 if(a= = b){ 2. if(a= =b) c=10; c=10; d=25; else } d=25; h=1.5; h=1.5;

3.if (a= =b) if(c= =d){ system.out.printl(“c= =d”); } else{ ¨system.out.printl(“c!=d); }

4.public class prueba If{