02 Fundamentos del lenguaje

Embed Size (px)

Citation preview

  • 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