












































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Acerca del uso del lenguaje java
Tipo: Apuntes
1 / 52
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!













































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++
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
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 */
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”
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.
int i=100; char c=´d´; float f=45.
int i; {i=100;}
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
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:
doble a = 6.
float b; b= (float) a;
la variable double a se convierte a float y se asigna a la variable b
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
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]
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
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
{ 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{