JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS...

Click here to load reader

  • date post

    12-Mar-2020
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS...

  • 3/19/2019

    1

    JAVA: ELEMENTOS BÁSICOSIntroducción a la programación Orientada a Objetos -2019

    JAVA

    Java es un lenguaje de programación presentadoen 1995 enfocado a:

    • soportar los fundamentos de la programaciónorientada a objetos.

    • generar código independiente de la arquitecturade la computadora

    Actualmente se utiliza particularmente paradesarrollar aplicaciones para Internet.

  • 3/19/2019

    2

    ELEMENTOS BÁSICOS

    • Variables, constantes y expresiones

    • Asignación.

    • Tipos Elementales. Precedencia de los operadores. Casting

    • Estructuras de Control. Condicional e iteración.

    • Estructura de una Clase en Java.

    • Métodos.

    • El método main.

    • ENTRADA/SALIDA

    VARIABLES Y CONSTANTES• Declaración

    [< modificador>] < tipo > < ident > [ , < ident > ] ;

    Introducción a la Programación Orientada a Objetos

    int i,I,j101;

    static char fin =‘.’;

    boolean eureka;

    La declaración establece el nombre, tipo, alcance

    y determina si es variable o constante.

    Una declaración de constante establece también

    el valor.

    En el caso de una variable el valor puede quedar

    establecido en la declaración o no.

  • 3/19/2019

    3

    TIPOS DE DATO• Todas las variables de un tipo comparten una

    misma representación, toman valores de unmismo conjunto y pueden participar de las mismasoperaciones.

    • El lenguaje establece restricciones que aseguranla consistencia entre los operadores provistos y losoperandos. Estas restricciones van a sercontroladas por el compilador o en ejecución.

    • El compilador decide cuánto espacio dealmacenamiento va a requerir cada dato enejecución, de acuerdo a su tipo.

    Introducción a la Programación Orientada a Objetos

    Nombre de

    Tipo

    valor memoria

    requerida

    Rango

    byte integer 1 byte -128 a 127

    short integer 2 bytes -32768 a

    32767

    int integer 4 bytes -2147483648 a

    2147483647

    long integer 8 bytes

    float floating-point 4 bytes

    double floating-point 8 bytes

    char single

    character

    2 bytes UNICODE

    boolean true or false 1 bit

    TIPOS DE DATOS

    Introducción a la Programación Orientada a Objetos

  • 3/19/2019

    4

    EXPRESIONES• Operadores relacionales

    • Operadores booleanos

    •Conjunción: & (and)

    •Disyunción: | (or)

    •Negación: ! (not)

    igual ==

    distinto !=

    menor <

    menor o igual

    mayor o igual >=

    Introducción a la Programación Orientada a Objetos

    •Completa ej: a & b

    •En cortocircuito ej: a && b

    EXPRESIONES

    • En la evaluación completa se evalúan siempretodos los términos de la expresión. En laevaluación en cortocircuito sólo se evalúa lonecesario para verificar el resultado de laexpresión. EJ: si a es falso, ya no es necesarioevaluar b, porque sin importar su valor la expresióna&&b será falsa.

    Introducción a la Programación Orientada a Objetos

  • 3/19/2019

    5

    EXPRESIONES

    ++, --, !,-(valor negativo) ,

    +(valor positivo) , type-cast

    *, /, %

    +, -

    , =

    ==, !=

    &&

    ||

    =, +=, -=, *=, /=, %=

    Introducción a la Programación Orientada a Objetos

    EXPRESIONES

    • Asignación

    < ident > = < expresion >;

    < tipo >< ident > = < expresion >;

    Cuando la expresión que aparece a la derecha de

    una asignación no coincide con el tipo de la variable

    que está a la izquierda puede producirse una

    conversión automática o un error.

    Introducción a la Programación Orientada a Objetos

  • 3/19/2019

    6

    EXPRESIONES

    Introducción a la Programación Orientada a Objetos

    La conversión entre tipos es automática si

    •Los dos tipos son compatibles.

    •El tipo de la variable destino es de un rango mayor al

    tipo de la variable que se va a convertir.

    Jerarquía de Tipos

    byte →short→int→long→float→double

    EXPRESIONES• Cuando el número a convertir está fuera del

    rango del tipo a que se quiere convertir, laconversión automática es imposible. Este errorpuede salvarse mediante una conversión forzada(explicita), que se denomina casting.

    • La sintaxis para realizar un casting es:

    destino = (tipo_destino) valor

    • En el caso de los tipos numéricos, al "recortar" elvalor de la variable de rango mayor se pierdeprecisión

    Introducción a la Programación Orientada a Objetos

  • 3/19/2019

    7

    ESTRUCTURAS DE CONTROL< declaración de variable > |

    < expresion > ; |

    < bloque > |

    < instruccion if > |

    < instruccion while > |

    < instruccion for > |

    < instruccion switch > |

    < instruccion try > |

    < instruccion return > |

    < break > | < continue > |

    Introducción a la Programación Orientada a Objetos

    < instruccion > ::=

    ESTRUCTURAS DE CONTROL

    • Bloques

    { [< instruccion > ]* }

    { promedio = total / n ;

    System.out.print("El promedio es ");

    System.out.println(promedio); }

    { int temp;

    temp = x;

    x = y;

    y = temp; }

    Introducción a la Programación Orientada a Objetos

    < bloque> ::=

  • 3/19/2019

    8

    ESTRUCTURAS DE CONTROL

    • Un bloque define un nuevo ambiente dereferenciamiento.

    • Las variables declaradas dentro de un bloque sonlocales y no son visibles fuera de él.

    • Adoptaremos la convención de declarar lasvariables de un bloque al principio e inicializarlasexplícitamente.

    Introducción a la Programación Orientada a Objetos

    ESTRUCTURAS DE CONTROL

    • Condicional

    if < expresion booleana >

    < instruccion >

    else

    < instrucción >

    Introducción a la Programación Orientada a Objetos

    < instruccion if > ::=

  • 3/19/2019

    9

    if (x > y) {

    max = x;

    min = y ;}

    else {

    max = y;

    min = x ;

    }

    if (x > y) {

    int temp;

    temp = x;

    x = y;

    y = temp;

    }

    if (x > y)

    max = x;

    else

    max = y;

    Introducción a la Programación Orientada a Objetos

    CONDICIONAL

    CONDICIONAL

    estado = ´B´;

    if (promedio > 7)

    if (inasistencias 7)

    { if (inasistencias

  • 3/19/2019

    10

    CONDICIONAL

    • Switch

    switch () {

    [ case : ]*

    default:

    }

    Introducción a la Programación Orientada a Objetos

    ::=

    CONDICIONAL

    switch ( nota ) {

    case 10:

    case 9:

    estado = ´A´ ;

    break;

    case 8:

    case 7:

    estado = ´B´ ;

    break;

    case 6:

    case 5:

    estado = ´C´ ;

    break;

    default: estado = ´D´; }

    Introducción a la Programación Orientada a Objetos

  • 3/19/2019

    11

    ITERACIÓN

    while ()

    do

    while ()

    Introducción a la Programación Orientada a Objetos

    < instruccion while > ::=

    < instruccion do while> ::=

    ITERACIÓN

    int numero;

    int digitos = 0;

    System.out.println (“Ingrese el numero”);

    numero = ES.leerEntero ();

    while ( número > 0 ) {

    numero /=10;

    digitos++; }

    System.out.println(digitos);

    Introducción a la Programación Orientada a Objetos

  • 3/19/2019

    12

    ITERACIÓN

    int numero;

    int digitos = 0;

    System.out.println (“Ingrese el numero”);

    numero = ES.leerEntero ();

    do {

    numero /=10;

    digitos++; }

    while ( número > 0 );

    System.out.println(digitos);

    Introducción a la Programación Orientada a Objetos

    ITERACIÓN

    for ( ; ; )

    for ( n = 1 ; n

  • 3/19/2019

    13

    ITERACIÓN

    sum = 0 ;

    for ( n = 1 ; n

  • 3/19/2019

    14

    ESTRUCTURA DE UN PROGRAMA

    • Símbolos separadores

    ( ) { } [ ] ; ,

    •Comentarios:

    • Los que ocupan varias líneas y se encierran

    entre símbolos /* … */ o /** … */

    • Los que comienzan con el símbolo // y terminan

    junto con la línea

    Introducción a la Programación Orientada a Objetos

    MÉTODOS

    [ < Modificador > ]* [< Tipo del Resultado > ]

    < Identificador > ( [< Parámetros Formales > ]* )

    { < bloque > }

    Introducción a la Programación Orientada a Objetos

  • 3/19/2019

    15

    MÉTODOS• Para que un programa en JAVA pueda ejecutarse

    es necesario definir una clase que incluya un método llamado main.

    class Hello { //define una clase llamada Hello

    public static void main (String args[]) {

    // define el método main, asociado a los modificadores public y

    static. IMPORTANTE no alterar el encabezamiento de main.

    System.out.println("Hello World!");

    // La instrucción System.out.println muestra un literal en pantalla.

    }

    }Introducción a la Programación Orientada a Objetos

    EJEMPLO

    ProcesarNumero

    sumaDIg(n:entero):enteroestaDig(n:entero,d:entero):booleano

  • 3/19/2019

    16

    class ProcesadorNumero {

    public static int sumaDig(int n ){

    // Retorna la suma de los dígitos del número n

    ……

    }

    public static boolean estaDig (int n, int d ){

    //Retorna true si y solo si d es un dígito del

    número n

    ……

    }

    }

    EJEMPLO

    class ProcesadorNumero {

    public static int sumaDig(int n ){

    //Retorna la suma de los dígitos del número n

    int s=0;

    while (n>0) {

    s = s + n % 10;

    n = n/10;

    }

    return s;

    }

    …}

    EJEMPLO

  • 3/19/2019

    17

    public static boolean estaDig(int n,int d ){

    /* Retorna true si y solo si d es un dígito del número

    n */

    boolean esta = false;

    while ((n>0) && !esta) {

    if (d == n % 10)

    esta = true;

    n = n/10;

    }

    return esta;

    }

    EJEMPLO

    public static void main (String args[]) {

    int s = sumaDig(25036);

    System.out.println(“La suma es “+s);

    if (estaDig (250, 6))

    System.out.println(“El digito esta“);

    else

    System.out.println(“El digito NO esta “);

    }

    Introducción a la Programación Orientada a Objetos

    EJEMPLO

  • 3/19/2019

    18

    ENTRADA Y SALIDA

    • Salida:

    • Entrada:

    ES.leerChar ();

    ES.leerEntero ();

    ES.leerEnteroLargo ();

    ES.leerFloat ();

    ES.leerDouble ();

    System.out.print (…);

    System.out.println (…);

    Introducción a la Programación Orientada a Objetos

    EJEMPLOImplemente un método para decidir si un número es primo yúselo para mostrar los números primos menores a T (valoringresado por el usuario).

    import IPOO.*;

    class mostrarPrimos {

    public static void main (String args[]) {

    System.out.print(” Ingrese el valor del

    limite”);

    int T = ES.leerEntero();

    for (int i = 0; i < T; i++)

    if (esPrimo(i))

    System.out.print(i+” ”); }

    }

  • 3/19/2019

    19

    EJEMPLO

    class mostrarPrimos {

    public static void main (String args[])

    {…}//bloque método main

    static boolean esPrimo (int n){

    boolean es= true;

    if (n < 2 ) return false ;

    if (n == 2) return true ;

    for (int i = 2;(i < n) && es ; i++)

    if (n%i == 0)

    es=false;

    return es;

    }

    }//fin de la clase

    Aunque la solución es correcta,

    no es recomendable que un

    método tenga varios puntos de

    salida.

    static boolean esPrimo (int n){

    boolean es;

    if (n < 2) es = false;

    else

    if (n == 2) es = true;

    else

    if (n%2 == 0) es =false;

    else

    {for (int i = 2; i

  • 3/19/2019

    20

    ¿PREGUNTAS?