Date post: | 08-Apr-2018 |
Category: |
Documents |
Upload: | ruben-vergara |
View: | 225 times |
Download: | 0 times |
of 72
8/7/2019 02 Fundamentos del lenguaje
1/72
Fundamentos del lenguaje
8/7/2019 02 Fundamentos del lenguaje
2/72
Taller de Java
Estructura de un programa
La estructura de un programa se componede los siguientes elementos: Una o ninguna declaracin de un package.
Ninguna o varias sentencias import.
Una o muchas clases (slo una de ellas puedeser pblica).
8/7/2019 02 Fundamentos del lenguaje
3/72
Taller de Java
Ejemplo: Estructura de un Programa
package ejercicio.clase; //ruta de los archivos
import java.io.*; //importa las clases del paquete java.io
import java.sql.*; //importa las clases del paquete java.sql
public class Miclase //inicio de la clase
{
variables //declaracin de variables
mtodos //inicio de mtodos
{
/*
sentencias...
*/
}
}
8/7/2019 02 Fundamentos del lenguaje
4/72
Taller de Java
Paquete
Es una manera en la que Java agrupa los ficheros fuente.
Uso del package. Sirve para ayudar a organizar los ficheros fuente en directorios.
Sintaxis. package dir1.dir2 ;
Ejemplo:package ejercicios.capII.;public class Hola{
....
}equivaldra a:
set classpath=c:\clases;c:\otro_directorioc:\clases\ ejercicios\capII \Hola.class
8/7/2019 02 Fundamentos del lenguaje
5/72
Taller de Java
Import
Es una palabra reservada que indica qu clases se van a cargar. Sintaxis.
importpaquete.nombre_clase ; importpaquete.* ;
Uso del Import. Se utiliza cuando se requieren utilizar los ficheros fuente que estn en
otros paquetes. Se puede utilizar el smbolo asterisco * para indicar que se carguen
todas las clases de un paquete en particular. Las clases en el paquete java.lang no necesitan ser importadas.
Ejemplo. import java.sql.*; import java.util.Vector;
8/7/2019 02 Fundamentos del lenguaje
6/72
Taller de Java
Comentarios
// Este es un comentario en una lnea
/*Este es un comentarioen varias lneas
*/
/**
Este es un comentario para generar la documentacincon la herramienta javadoc*/
8/7/2019 02 Fundamentos del lenguaje
7/72
Taller de Java
Identificadores Java
Qu es un identificador?. Es una secuencia de caracteres que nombra una variable, mtodo, clase, interfaz o
paquete.
Caractersticas. Se puede expandir en un mximo de una lnea, sin usar espacios en blanco. En Java, un identificador se forma de letras, dgitos, caracteres de moneda $ y/o
caracteres de continuidad de caracteres _. El primer caracter debe ser una letra, un caracter monetario o un caracter de
continuidad. Los identificadores Java son sensibles a maysculas/minsculas. Cualquier carcter de cualquier idioma que represente una letra vlida o un dgito,
puede ser parte de un identificador Java.
Ejemplos:jcontador8_apellidoPaternosaldo$
8/7/2019 02 Fundamentos del lenguaje
8/72
Taller de Java
Identificadores Reservados para Java
Son palabras que tienen un significado especial paraJava ya que los usa para nombrar tipos de datos uoperaciones de programas.abstract boolean break byte casecatch char class const continuedefault do double else extendsfalse final finally float forgoto if implements import instanceofint interface long native newnull package private protected publicreturn short static strictfp super
switch synchronized this throw throwstransient true try void volatilewhile
8/7/2019 02 Fundamentos del lenguaje
9/72
Taller de Java
Tipos de datos Java
Qu es un tipo de dato?. Es la representacin interna, en cdigo binario, de un dato.
Tipos de datos Java.1. Primitivos.
Tipos de datos predefinidos que son nombrados por palabrasreservadas. boolean.
byte . char double float int
long short2. Referencia.
Tipos de datos definidos por el desarrollador (se vern con ms detalleposteriormente).
8/7/2019 02 Fundamentos del lenguaje
10/72
Taller de Java
Tipos de datos primitivos
(-264) a (264-1)64 bits0Entero con signolong
-2,147,483,648 a2,147,483,647
32 bits0Entero con signoint
-3.4E+38 a 3.4E+38.32 bits0.0IEEE 754 float-poitfloat
-1.8E+308 a 1.8E+30864 bits0.0IEEE 754 float-point
double
-128 a 1278 bits0Entero con signobyte
ValoresTamaoDefaultContieneTipo
-32,768 a 32,76716 bits0Entero con signoshort
\u0000 \uFFFF16 bits\u0000Unicode Carcterchar
32 bitsfalsetrue o falseboolean
8/7/2019 02 Fundamentos del lenguaje
11/72
8/7/2019 02 Fundamentos del lenguaje
12/72
Taller de Java
Literales Booleanas y Caracter
Booleanas. Las palabras reservadas true y false sealan una
literal booleana. Si la literal true o false se pone entre comillas, seconsidera como una literal cadena.
Carcter. Corresponde a un slo caracter rodeado de comillas
sencillas. Ejemplo: A, a, 1 Las secuencias de escape Unicode tambin
son literales carcter. Ejemplo: \u3043 (representa lai en Hiragana, Japons).
8/7/2019 02 Fundamentos del lenguaje
13/72
Taller de Java
Secuencias de Escape
\n \t \b \r \f \ \
\ \ \d \xd
\ud
NOTA: d corresponde al nmero
Lnea nueva. Tabulador horizontal. Retroceso
Retorno de carro Salto de pgina. Diagonal invertida. Comilla sencilla.
Comilla doble. Octal. Hexadecimal. Caracter Unicode.
8/7/2019 02 Fundamentos del lenguaje
14/72
Taller de Java
Literales de Punto Flotante
Consiste en un nmero compuesto de las siguientes partes: una parte no fraccional. un punto decimal.
una parte fraccional. un exponente (opcional). una literal de punto flotante de doble precisin, d o D, o una literal de punto
flotante, f o F (opcionales).
Si ni d, D, f o F estn presentes, el tipo de dato por omisin es elpunto flotante de doble precisin.
Ejemplos: 2.7815 0.7D -55.2E+31 3.14159f
8/7/2019 02 Fundamentos del lenguaje
15/72
Taller de Java
Literales Enteras
Consiste en un nmero sin punto decimal o en un nmero expresado ennotacin decimal, hexadecimal (precedido por los caracteres 0x o 0X) u octal(precedido por el caracer O) y seguido por la letra para nmeros enteroslargos, l o L (opcional).
Si la literal l o L no es especificada, el tipo de dato por omisin es entero.
Para representar un nmero entero negativo, se antepone el smbolo menos-.
Ejemplos: 1794
0x4A O6 -4556 23L
8/7/2019 02 Fundamentos del lenguaje
16/72
Taller de Java
Literal null y Literales Cadena
null. La palabra reservada de Java para designar un nulo es la literal
null. Esta palabra reservada asigna una direccin de memoria no
existente a la referencia de una variable. El tipo de dato null es una referencia.
Cadena. Es identificada por la presencia de cero o ms caracteres y
secuencias de escape rodeadas por dobles comillas.
Internamente, el compilador convierte una cadena en un objeto. Ejemplo.Hola, Mundo!\n
8/7/2019 02 Fundamentos del lenguaje
17/72
Taller de Java
Variables
Una variable almacena un dato y caracteriza unnombre y un tipo de dato.
Sintaxis: tipo_dato nombre_variable = valor_inicial ; En tipo_dato se sustituye por una palabra reservada,
si se trata de un tipo de dato primitivo, o por elnombre de una clase, si se trata de un tipo de dato
referencia. En nombre_variable se provee de un identificador. En valor_inicial se debe escribir una literal que
concuerde con tipo_dato.
8/7/2019 02 Fundamentos del lenguaje
18/72
Taller de Java
Variables
Ejemplos:int j; //Declaracin de una variable entera llamada j,
//sin valor inicial asignadoshort s = 100; //Declaracin de una variable entera corta
//llamada s con un valor inicial de 100boolean first = true;char grado = C;String planeta = Tierra;
float PI = 3.14159; //Es correcto?
Se pueden listar mltiples variables de un mismo tipo de dato en una soladeclaracin. Sintaxis:
tipo_dato nombre_variable = valor_inicial ,nombre_variable = valor_inicial ... ;
Ejemplo:double PI = 3.14159, aceleracion, salario = 30000.0;
8/7/2019 02 Fundamentos del lenguaje
19/72
Taller de Java
Variables
Arreglos: Java tambin soporta la declaracin de variables de arreglo. Sintaxis:
tipo_dato nombre_variable [ ] = inicializador ; tipo_dato [ ] nombre_variable = inicializador ;
Inicializador tiene la siguiente sintaxis: { valor_inicial1 , valor_inicial2 ,... }
Ejemplos:String animales[] = {Tigre,Cebra,Kanguro};char[] vocales = new char[2];
Constantes: Java tambin soportavariables finales , las cuales son de slolectura, es decir, constantes.
final int = 3;
final int[] x = {1, 2};
8/7/2019 02 Fundamentos del lenguaje
20/72
Taller de Java
Operadores
Qu es un operador?. Es una combinacin de caracteres que identifican una operacin
de datos.
Qu es un operando?.
Es un dato que sirve como argumento de un operador.
Caractersticas de los operadores. Transforman uno o ms operandos en un nuevo dato. Evalan los operandos de acuerdo al orden de evaluacin
predefinido.
8/7/2019 02 Fundamentos del lenguaje
21/72
Taller de Java
Operadores
Clasificacin de los operadores. De acuerdo al nmero de operandos requeridos, se clasifican en:
Unario
Por ejemplo, la negacin. Binario Por ejemplo, multiplicacin y divisin.
Ternario El nico operador ternario de Java es el operador condicional.
De acuerdo a la posicin de un operador relativo a su operandose clasifican en:
Prefijos (antes de) Por ejemplo, el operador a bit complemento.
Posfijos (despus de) Por ejemplo, el operador de post-incremento. Infijos (entre)
Por ejemplo, el operador de suma.
8/7/2019 02 Fundamentos del lenguaje
22/72
8/7/2019 02 Fundamentos del lenguaje
23/72
Taller de Java
Operadores de Asignacin
Es un operador infijo binario . Caractersticas:
Es el ms simple de todos los operadores. Asigna a su operando derecho, que debe ser una
variable, su operando izquierdo.
Sintaxis: nombre_variable = operando
Ejemplos:int num = 27; //Es usado para inicializar una variablenum = 32 //Es usado para asignar un valor
//a una variable existente
8/7/2019 02 Fundamentos del lenguaje
24/72
Taller de Java
Operadores Aritmticos
Java proporciona once operadores aritmticos:1. Suma.2. Resta.3. Multiplicacin.4. Mdulo.5. Divisin.
6. Pre incremento.7. Pos tincremento.8. Pre decremento.9. Post decremento.10.Resta unaria.11.Suma unaria.
8/7/2019 02 Fundamentos del lenguaje
25/72
Taller de Java
Suma
Es un operador infijo binario que aade sus dos operandos y regresala suma.
Caractersticas: Cada operando debe tener un tipo de dato que sea byte, char, double,float, int, long o short.
Sintaxis:operando + operando
Se pueden juntar los operadores de suma y de asignacin paralograr una adicin con asignacin en una sola operacin. Eloperando del extremo izquierdo debe ser una variable. Sintaxis:
operando += operando Ejemplo:double sum = 1.0;sum += 6.3; //equivale a especificar sum = sum + 6.3
8/7/2019 02 Fundamentos del lenguaje
26/72
8/7/2019 02 Fundamentos del lenguaje
27/72
Taller de Java
Multiplicacin
Es un operador infijo binario que multiplica sus operandos y regresa elproducto.
Caractersticas:
Cada operando debe tener un tipo de dato que sea byte, char, double, float,int, long o short. Sintaxis:
operando *operando
Para complementar multiplicacin con asignacin en una operacin, sepueden combinar los dos operadores. El operando del extremo izquierdodebe ser una variable. Sintaxis:
operando *=operando Ejemplo:
float x = 3.2f;
x *= 2.0f;
8/7/2019 02 Fundamentos del lenguaje
28/72
Taller de Java
Mdulo
Es un operador infijo binario que divide su operando izquierdo entre suoperando derecho y regresa el residuo.
Caractersticas:
Debido a que este operador realiza divisiones enteras, ambos operandos deben ser detipo byte, char, int, long o short. Sintaxis:
operando % operando
Tal y como sucede con los operadores anteriores, se pueden usar losoperadores de mdulo con asignacin en una operacin. El operando delextremo izquierdo debe ser una variable. Sintaxis:
operando %=operando Ejemplo:
int numero = 17;
numero %= 10; //numero cotiene 7, porque 17 % 10 = 7
8/7/2019 02 Fundamentos del lenguaje
29/72
Taller de Java
Divisin
Es un operador infijo binario que divide su operando izquierdo por suoperando derecho y regresa el cociente.
Caractersticas:
Cada operando debe tener un tipo de dato que sea byte, char, double, float, int,long o short. Sintaxis:
operando / operando
Para complementar divisin con asignacin en una operacin, se puedencombinar los dos operadores. El operando del extremo izquierdo debeser una variable. Sintaxis:
operando /= operando Ejemplo:
char c = 130;
c /= 2;
8/7/2019 02 Fundamentos del lenguaje
30/72
Taller de Java
Divisin
Cuando se intenta dividir entre cero, puededarse uno de los siguientes casos:
1. Si el dividendo es de tipo de dato byte, char, int, long o short y eldivisor es 0, Java lanza un aviso que describe un problema.2. Si el dividendo y/o el divisor son double o float, y se trata de
dividir 0 entre 0, se obtiene el valor especialNaN (not a number).
3. Si el dividendo y/o el divisor son double o float, y se trata dedividir un nmero positivo entre 0, se obtiene el valor especial+Infinity (infinito positivo).
4. Si el dividendo y/o el divisor son double o float, y se intentadividir un nmero negativo entre 0, se obtiene el valor especial infinity (infinito negativo).
8/7/2019 02 Fundamentos del lenguaje
31/72
Taller de Java
Pre-Incremento y Post-Incremento
Es un operador prefijo unario que aade 1 a su operando yregresa el resultado. Si se agrega el 1 antes, espreincremento y si se agrega despus, es postincremento.
Caractersticas: Los tipos de dato de los operandos deben ser byte, char, double,float, int, long o short.
El operando debe ser una variable.
Sintaxis:++ operando //preincrementooperando ++ //postincremento
Ejemplo:int i = 0;++i; // Qu valor imprimi i ?int j = ++i; // Qu valor imprimi j ?int k = ++i; // Qu valor imprimi k ?/* Cul sera el resultado si se usa el operador postincremento ?*/
8/7/2019 02 Fundamentos del lenguaje
32/72
Taller de Java
Resta Unaria
Es un operador prefijo unario que niega el valorde su operando y regresa el resultado.
Caractersticas: Si el operando el positivo, el resultado es negativo; encaso contrario, el resultado es positivo.
Los tipos de datos de los operandos deben ser byte,char, double, float, int, long o short.
Sintaxis:- operando
Ejemplo:long m = 65; //el tipo de dato 65 es convertido de int a//long
long n = -n;
8/7/2019 02 Fundamentos del lenguaje
33/72
Taller de Java
Pre-Decremento y Post-Decremento
Es un operador prefijo unario que substrae 1 de su operandoy regresa el resultado.
Caractersticas: Los tipos de dato de los operandos deben ser byte, char, double,
float, int, long o short. El operando debe ser una variable.
Sintaxis:-- operando //predecrementooperando -- //postdecremento
Ejemplo:int i = 0;--i;
int j = --i;
int k = --i;
8/7/2019 02 Fundamentos del lenguaje
34/72
Taller de Java
Suma Unaria
Es un operador prefijo unario que regresa su operando. Caractersticas.
El operando debe tener un tipo de dato que sea byte, char, double,float, int, long o short.
Los valores de punto flotante que requieren un nmero infinito debits para ser representados adecuadamente pueden causar unaimprecisin.
Sintaxis:+ operando
Ejemplo:int i = +5;
8/7/2019 02 Fundamentos del lenguaje
35/72
Taller de Java
Operadores Indice de Arreglos
Es un operador postfijo unario que indexa dentro de unarreglo y asigna un valor a un elemento del arreglo o queregresa el valor de un elemento del arreglo en un ndicedado.
Caractersticas: Los operando deben ser de tipo byte, char, integer o short,
especificando el ndice. Sintaxis:nombre_arreglo [ operando ]
Ejemplo:String[] nombres = {Hesenrre, Jorge,
Victor, ?};
8/7/2019 02 Fundamentos del lenguaje
36/72
Taller de Java
Operadores de Manipulacin de Bits
Java provee siete operadores para manipulacinde bits.1. AND.2. OR inclusivo.3. OR exclusivo.4. Complemento.5. Desplazamiento a la izquierda.6. Desplazamiento a la derecha con signo.7. Desplazamiento a la derecha con cero.
Caractersticas: Manipulan datos a nivel de dgitos binarios (bit)
8/7/2019 02 Fundamentos del lenguaje
37/72
Taller de Java
AND
Es un operador infijo binario que regresa los bits correspondientes desu dos operandos al aplicar el operador AND.
Caractersticas: Cada operando debe ser de tipo byte, char, integer, long o short. Para cada posicin del bit, si ambos bits son 1, regresa 1; en caso contrario
regresa 0.
Sintaxis:operando &operando.
Se puede usar el operador AND y el operador de asignacin en unasola operacin. Sintaxis:
operando &=operando Ejemplo:
byte b = 0x23; b &= 0x31;
8/7/2019 02 Fundamentos del lenguaje
38/72
Taller de Java
OR Inclusivo
Es un operador infijo binario que regresa los bits correspondientes desu dos operandos al aplicar el operador OR inclusivo.
Caractersticas: Cada operando debe ser de tipo byte, char, integer, long o short Para cada posicin del bit, si ambos bits son 0, regresa 0; en caso contrario
regresa 1.
Sintaxis:operando | operando
Se puede usar el operador OR inclusivo y el operador de asignacinen una sola operacin. Sintaxis:
operando |= operando Ejemplo:
byte b = 0x23; b |= 0x31;
8/7/2019 02 Fundamentos del lenguaje
39/72
Taller de Java
OR Exclusivo
Es un operador infijo binario que regresa los bits correspondientes de su dosoperandos al aplicar el operador OR exclusivo.
Caractersticas: Cada operando debe ser de tipo byte, char, integer, long o short. Para cada posicin del bit, si ambos bits son 0 o 1, regresa 0; en caso
contrario regresa 1. Sintaxis:
operando ^ operando Se puede usar el operador OR exclusivo y el operador de asignacin en una
sola operacin. Sintaxis:
operando ^= operando
Ejemplo: byte b = 0x23; b ^= 0x31;
8/7/2019 02 Fundamentos del lenguaje
40/72
Taller de Java
Complemento
Es un operador prefijo unario que lanza los bits de sus operandos yregresa el resultado.
Caractersticas: Cada operando debe ser de tipo byte, char, integer, long o short Para cada posicin del bit, si el bit es 1, regresa 0; en caso contrario
regresa 1.
Sintaxis:~ operando
Ejemplo:
byte b = 0x23;
b = ~b;
l l d
8/7/2019 02 Fundamentos del lenguaje
41/72
Taller de Java
Desplazamiento a la izquierda
Es un operador infijo binario que desplaza bits del lado izquierdo de suoperando a lado izquierdo de acuerdo al nmero de posiciones especificadaspor el operando del extremo derecho y regresa el resultado.
Caractersticas: Por cada desplazamiento, un 0 desplazado del bit del extremo derecho y
el valor del bit del extremo izquierdo son descartados. El tipo de dato de los operandos debe ser byte, char, int, long o short.
Sintaxisoperando
8/7/2019 02 Fundamentos del lenguaje
42/72
Taller de Java
Desplazamiento a la derecha con signo
Es un operador infijo binario que desplaza sus bits de los operandos delextremo izquierdo por el nmero de posiciones especificadas por su operandodel extremo derecho y regresa el resultado.
Caractersticas: Por cada desplazamiento, una copia del signo del valor del bit se
despleza a la derecha y el valor del bit derecho se elimina. El tipo de dato de los operandos debe ser byte, char, int, long o short.
Sintaxis:operando >> operando
Se pueden usar el operador de desplazamiento a la derecha con signo y eloperador de asignacin en una misma operacin. Sintaxis:
operando >>=operando Ejemplo:int i = -2;
i >>= 1;
D l i l D h C
8/7/2019 02 Fundamentos del lenguaje
43/72
Taller de Java
Desplazamiento a la Derecha con Cero
Es un operador infijo binario que desplaza los bits de su operando delextremo izquierdo hacia la derecha de acuerdo al nmero de posicionesespecificadas por el operando de su extremo derecho y regresa el resultado.
Caractersticas: Por cada desplazamiento, un 0 se despleza un bit del lado izquierdo y el
valor del bit del lado derecho es descartado. El tipo de dato de los operandos debe ser byte, char, int, long o short.
Sintaxis:operando >>>operando
Se pueden usar el operador de desplazamiento a la derecha con cero y eloperador de asignacin en una misma operacin. Sintaxis:
operando >>>=operando Ejemplo:int i = -2;
i >>>= 1;
O d B l
8/7/2019 02 Fundamentos del lenguaje
44/72
Taller de Java
Operadores Booleanos
Java provee cuatro operadoresbooleanos. Estos operadorestrabajan con datos booleanos, nocon bits individuales.1. AND.2. OR inclusivo.3. OR exclusivo.4. NOT.
AND
8/7/2019 02 Fundamentos del lenguaje
45/72
Taller de Java
AND
Es un operador infijo binario que regresa el valor booleano de susdos operandos al aplicar el AND.
Caractersticas:
Si ambos valores son verdaderos, el resultado es verdadero; de locontrario es falso. Cada operando debe ser de tipo boolean.
Sintaxis:operando & operando
Se pueden juntar un operador booleano AND y un operador deasignacin en una sola operacin. Sintaxis:
operando &= operando
Ejemplo:boolean result = true;
result &= true; //result = result & true;
OR Inclusivo
8/7/2019 02 Fundamentos del lenguaje
46/72
Taller de Java
OR Inclusivo
Es un operador infijo binario que regresa el valor booleano de susdos operandos al aplicar el OR inclusivo.
Caractersticas:
Si ambos valores son falsos, el valor del resultado es falso; de locontrario es verdadero. Cada operando debe ser de tipo boolean.
Sintaxis:operando | operando
Se pueden juntar un operador booleano OR inclusivo y un operadorde asignacin en una sola operacin. Sintaxis:
operando |= operando
Ejemplo:boolean result = true;
result |= true;
OR Exclusivo
8/7/2019 02 Fundamentos del lenguaje
47/72
Taller de Java
OR Exclusivo
Es un operador infijo binario que regresa el valor booleano de susdos operandos al aplicar el OR exclusivo.
Caractersticas. Si ambos valores son falsos o verdaderos, el resultado es falso; de lo
contrario, si uno de los valores es verdadero y el otro valor es falso, elresultado es verdadero. Cada operando debe ser de tipo boolean.
Sintaxis:
operando ^ operando Se pueden juntar un operador booleano OR exclusivo y un operadorde asignacin en una sola operacin Sintaxis:
operando ^= operando Ejemplo:
boolean result = true;result ^= true;
NOT
8/7/2019 02 Fundamentos del lenguaje
48/72
Taller de Java
NOT
Es un operador prefijo unario que lanza el valorbooleano de su operando y regresa el booleanoresultante.
Caractersticas: Si el valor es verdadero, el resultado es falso; en caso contrario
es verdadero. El operando debe ser de tipo booleano.
Sintaxis:! operando
Ejemplo:boolean resultado = !true;
Operador Cast
8/7/2019 02 Fundamentos del lenguaje
49/72
Taller de Java
Operador Cast
Es un operador prefijo unario que convierte el tipo dedato de un operando a un tipo de dato especificado.
Caractersticas: Si el compilador detecta que el operando no puede ser
convertido al tipo de dato especificado, genera un aviso de error.
Sintaxis:( tipo_dato ) operando
Ejemplo:int count;
count = (int) 2.5;
Operadores Condicionales
8/7/2019 02 Fundamentos del lenguaje
50/72
Taller de Java
Operadores Condicionales
El operador ternario elige uno de dos operandos. Sintaxis.
operando1 ? operando2 : operando3 ;
Caractersticas. La JVM evala eloperando1 booleano. Si el valor del operando es
verdadero, operando2 es evaluado y se regresa el resultado; en caso
contrario, evalaoperando3 y regresa el resultado. operando2 y operando3 deben ser del mismo tipo de dato.
Ejemplos:
boolean b = true;int x = (b == true) ? 1 : 0;
b = (x != 0) ? true : false;
Operadores Lgicos
8/7/2019 02 Fundamentos del lenguaje
51/72
Taller de Java
Operadores Lgicos
AND Es un operador infijo binario que regresa el valor de sus dos
operandos al evaluarlos con el operador AND. Si algn operando es falso, la sentencia es falsa. Sintaxis:
operando &&operando. Ejemplo:
boolean result = true && true; OR
Es un operador infijo binario que regresa el valor de sus dosoperandos al evaluarlos con el operador OR inclusivo.
Si algn operando es verdadero, la sentencia es verdadera. Sintaxis:
operando || operando Ejemplo:
boolean resultado = false || true;
Operadores Relacionales
8/7/2019 02 Fundamentos del lenguaje
52/72
Taller de Java
Operadores Relacionales
Los operadores relacionales proveen la base para tomaruna decisin.
Comparan los valores de sus operandos numricos paradeterminar si los valores son idnticos o si un valor esms grande que otro o si un valor es menor a otro, etc.
o perando < o perando bo o lean resultado = 5 < 4;operando > operando boolean resultado = 1.5 > .2;
operando = 1;operando == operando boolean resultado = .3 == .9;
operando != operando boolean resultado = .8 != .8;
Operador de Concatenacin de
8/7/2019 02 Fundamentos del lenguaje
53/72
Taller de Java
Cadenas El operador infijo binario concatena el operando derecho con su
operando izquierdo. Caractersticas:
El operando izquierdo convierte mplicitamente a un String si la literal esuna cadena.
El operando derecho convierte mplicitamente a un String (a pesar deque ya sea un String) previo a la concatenacin.
Sintaxis:
operando + operando Tambin se pueden usar el operador de concatenacin de cadenasy el operador de asignacin en una sola operacin. Sintaxis:
operando += operando
Ejemplos:String uno = A + 6; //el resultado es A6String dos = abc;String dos += xyz; // dos = abcxyz
Expresiones
8/7/2019 02 Fundamentos del lenguaje
54/72
Taller de Java
Expresiones
Es una secuencia de operadores y operandos, construidos acordea la sintaxis Java, que evalan a un valor de un tipo de datoespecfico.
Las expresiones son evaluadas en un orden de evaluacin(empezando de izquierda a derecha) en el cual ciertos operadoresevalan sus operandos antes que otros operadores, a lo cual se lellamaprecedencia.
La evaluacin proceder comenzando desde el grupo deparntesis ms internos.
La precedencia en Java, empezando desde la ms alta, es lasiguiente:
1. Los operadores postfijos, ndice de arreglos, punto, params,postincremento y postdecremento tienen la ms alta precedencia. Losoperadores se evalan de izquierda a derecha.
8/7/2019 02 Fundamentos del lenguaje
55/72
Expresiones
8/7/2019 02 Fundamentos del lenguaje
56/72
Taller de Java
p
7. Los operadores relacionales = y de comprobacin detipos de dato referencia. Se evalan de izquierda a derecha.8. Los operadores relaciones == y !=. Se evalan de izquierda a
derecha.9. El operador a bit AND y el operador booleano AND. Se evalande izquierda a derecha.10. El operador a bit OR exclusivo y el operador booleano OR
exclusivo. Se evalan de izquierda a derecha.
11. El operador a bit OR inclusivo y el operador booleano ORinclusivo. Se evalan de izquierda a derecha.12. El operador lgico AND, que se evala de izquierda a derecha.13. El operador lgico OR, que se evala de izquierda a derecha.
14. El operador condicional, que se evala de derecha a izquierda.15. Los operadores de asignacin son los de ms bajo nivel. Seevalan de derecha a izquierda.
Ejemplos: Expresiones
8/7/2019 02 Fundamentos del lenguaje
57/72
Taller de Java
j p p
1. int x = 9;2. int y = (x + 3) * (7 (x 3));
a) Evala la expresin x + 3b) Evala la expresin x - 3,c) Evala 7- el resultado de x - 3d) Multiplica el resultado de x + 3 por el resultado de
7- el resultado de x - 3e) Almacena el resultado int en y3. int j = 2, k = 3;4. boolean result = !j > k;5. double d = 1 / 0;
Son correctas todas las expresiones?
Ejercicio
8/7/2019 02 Fundamentos del lenguaje
58/72
Taller de Java
j
Consulta la gua de laboratorios para mas detalles
Sentencias
8/7/2019 02 Fundamentos del lenguaje
59/72
Taller de Java
Es el cdigo fuente que construye la declaracin devariables, asigna el resultado de expresiones avariables, ejecuta repetidamente otras sentencias en
ciclos, controla ciclos, efecta decisiones, etc.
Tipos de sentencias:
1. Simples : declaracion_variable | asignacion | ciclo | ciclo_control |decisin | otros
2. Compuestas, tambin conocidas como bloques: { sentencia_simple | sentencia_compuesta ... }
Declaracin de Variables y Asignacin
8/7/2019 02 Fundamentos del lenguaje
60/72
Taller de Java
Sentencia de declaracin de variables. Es una sentencia que declara e inicializa una o ms variables de
un cierto tipo. Sintaxis:
tipo_dato nombre_variable = valor_inicial ; Ejemplo:
int i, k;String s = abc;
Sentencia de asignacin Es una sentencia que asigna el resultado de una expresin auna variable.
Sintaxis: nombre_variable = expresion ;
Ejemplo:int i, j, x, y = 2; //declaracin de variablesi = (int) 3.5; //asignacin del resultado del castj = ++i; //asignacin del resultado de un preincremento
x= y+=3; //asignacin del resultado de una acumulacin
Sentencias de Ciclo (while)
8/7/2019 02 Fundamentos del lenguaje
61/72
Taller de Java
Es una sentencia que ejecuta repetidamente otra sentencia.. Sintaxis:
while | do-while | for Sentencia de ciclo while
Evala una expresin booleana y si est expresin es verdadera, ejecutaotra sentencia. Despus de que la sentencia es ejecutada, la sentenciade ciclo while reevala la expresin booleana. El ciclo se repite hastaque la expresin booleana es falsa.
Sintaxis:while ( expresin_boleana ) {
sentencias}
Ejemplo:int i = 0;while ( i < 10)
System.out.println (i = + i++);
do - while
8/7/2019 02 Fundamentos del lenguaje
62/72
Taller de Java
Ejecuta una sentencia y entonces evala la expresin booleana. Sila expresin es verdadera, se reejecuta la sentencia. El ciclo serepite hasta que la expresin booleana es falsa.
La sentencia cclica do-while se ejecuta al menos una vez. Lasentencia cclica while puede que nunca se ejecute.
Sintaxis:do {
sentencia
} while ( expresin_booleana );
Ejemplo:do {
System.out.println (Ingrese s para si, n para no: );
ch = System.in.read();
} while (ch != y && ch != n);
for
8/7/2019 02 Fundamentos del lenguaje
63/72
Taller de Java
Ejecuta repetidamente otra sentencia bajo el control de uno o ms variablesde control de ciclo.
Sintaxis:for ( inicio_ciclo ; prueba_ciclo ; ajusta_ciclo ){
sentencias}
Inicio_ciclo es una clusula que corresponde a una sentencia dedeclaracin de variable de tipo no arreglo o una lista de sentencias deasignacin delimitadas por coma. La clusula inicializa uno o ms
variables de control del ciclo y se ejecuta slo una vez, cuando se entrapor primera vez. Prueba_ciclo ejecuta la clusula. Consiste en una expresin booleana
que determina cundo debe o no proceder el ciclo. Una vez que se ejecut la sentencia , se ejecuta ajuste_ciclo . Esta
clusula modifica la variable de control del ciclo. La reejecucin deprueba_ciclo sigue de la ejecucin deajusta_ciclo. Ejemplo:
for (int i = 0; i < 10; i++)System.out.println (i = + i);
Sentencias de Control (break)
8/7/2019 02 Fundamentos del lenguaje
64/72
Taller de Java
Es una sentencia que determina cundo termina prematuramente unciclo o si parte de las sentencias compuestas del ciclo sonignoradas.
Sintaxis: ( break | continue) break
Es un sentencia que termina la iteracin del ciclo actual y se sale delciclo
Consiste en una palabra reservadabreak , opcionalmente seguidapor una etiqueta. Sintaxis break:
break etiqueta ; Ejemplo:
while (true){int ch = System.in.read();if (ch == x)
break;}System.out.println (x fue leda);
Continue
8/7/2019 02 Fundamentos del lenguaje
65/72
Taller de Java
Es una sentencia que termina la iteracin del ciclo actual y contina conla siguiente iteracin.
Consiste de una palabra reservadacontinue, seguida opcionalmente deuna etiqueta.
Sintaxis: continueetiqueta ;
Ejemplo:int ch, numLetras = 0;System.out.println (Ingrese algunas letras:);do {
ch = System.in.read();if ( ch < A || ch > Z )
continue;numLetras++;
}while (ch != \n);System.out.println (El nmero de letras maysculas ingresadas fue:
+ numLetras);
Ejemplo:
8/7/2019 02 Fundamentos del lenguaje
66/72
Taller de Java
Copie el siguiente cdigo en un mtodo main perteneciente a una clase. Compile, ejecute y analice el resultado.
outer_loop:for (int i = 0; i < 5; i++){
for (int j = 0; j < 3; j++){
if (i == 3)break outer_loop;
elseSystem.out.println ("par = " + i + ", impar = " + j);
}}outer_for:for (int i = 0; i < 5; i++){
for (int j = 0; j < 3; j++){if ((i - 2) == 0)
continue outer_for;System.out.print ("i = " + i + ", j = " + j + ": ");System.out.println ((float) j / (i - 2));
}}
Sentencias de Decisin (if)
8/7/2019 02 Fundamentos del lenguaje
67/72
Taller de Java
Esta sentencia elige la ejecucin de una serie de rutas alternativas. Las sentencias de decisin pueden ser:
if | if-else | if-else encadenado | switch
if Evala una expresin booleana y ejecuta otra sentencia si la expresin fue
verdadera Sintaxis
if ( expresion_boleana ){
sentencia
}
Ejemplo
double tempCuerpo = 39.5if (tempCuerpo > 37.0)
System.out.println(Tienes fiebre!);
if - else
8/7/2019 02 Fundamentos del lenguaje
68/72
Taller de Java
Evala una expresin booleana y permite que se ejecute una sentencia, sila expresin fue verdadera, y otra sentencia es ejecutada si la expresinevaluada fue falsa.
Sintaxis:if ( expresion_boleana ) {
sentencia1} else {
sentencia2}
Ejemplo:double tempCuerpo = 39.5if (tempCuerpo != 37.0){
System.out.println(Hay un problema!);
if (tempCuerpo > 37.0)System.out.println(Tienes fiebre);
} elseSystem.out.println (Estas saludable!);
8/7/2019 02 Fundamentos del lenguaje
69/72
switch
8/7/2019 02 Fundamentos del lenguaje
70/72
Taller de Java
Es una versin del if-else encadenado, ms compactapero menos flexible.
Sintaxis Ejemplo
switch (expresion_numerica ) System .out.println (Estas seguro (s si, n no)? );
{ int ch = System .in.read();
caseexpresion_constante : switch (ch){
sentencia ... case y: System .out.println(Estoy seguro);breaketiqueta ; break;
... case n: System .out.println(No estoy seguro);
default : break;
sentencia ... default: System .out.println (Eleccin incorrecta);
breaketiqueta ; }
}
Otras Sentencias
8/7/2019 02 Fundamentos del lenguaje
71/72
Taller de Java
Sentencias vacas: Consiste en un punto y coma ; solamente. Ejemplo:
if (true)
{
;
}
Sentencias de retorno. Regresan los valores de los mtodos (return).
Sentencias de lanzamiento. Lanzan un objeto a la JVM. A su vez, la JVM busca
por algn cdigo que maneje la excepcin (throw).
Ejercicio
8/7/2019 02 Fundamentos del lenguaje
72/72
Taller de Java
Consulta la gua de laboratorios para mas detalles