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

20
3/19/2019 1 JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora Actualmente se utiliza particularmente para desarrollar aplicaciones para Internet.

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

Page 1: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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.

Page 2: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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.

Page 3: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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

Page 4: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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 >

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

Page 5: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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

Page 6: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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

Page 7: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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> ::=

Page 8: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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 > ::=

Page 9: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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<3)

estado = ´A´;

else

estado = ´C´;

Introducción a la Programación Orientada a Objetos

estado = ´B´;

if (promedio > 7)

{ if (inasistencias<3)

estado = ´A´; }

else

estado = ´C´

Page 10: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

3/19/2019

10

CONDICIONAL

• Switch

switch (<expression>) {

[ case <constante> : <instruccion> ]*

default: <instruccion>

}

Introducción a la Programación Orientada a Objetos

<instruccion switch>::=

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

Page 11: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

3/19/2019

11

ITERACIÓN

while (<expresion booleana>)

<instrucción>

do

<instrucción>

while (<expresion booleana>)

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

Page 12: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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 ( <asignacion>; <expresion> ; <expresion>)

<instrucción>

for ( n = 1 ; n <= 10 ; n++ )

System.out.println( n, n*n );

for ( int n = 1 ; n <= 10 ; n++ )

System.out.println( n, n*n );

Introducción a la Programación Orientada a Objetos

< instruccion for > ::=

Page 13: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

3/19/2019

13

ITERACIÓN

sum = 0 ;

for ( n = 1 ; n <= 10 ; n++ )

sum = sum + n ;

for ( n = 1, sum = 0 ; n <= 10 ; n++ )

sum = sum + n ;

for (n=1,sum=0; n<=10; sum=sum+n,n++);

Introducción a la Programación Orientada a Objetos

ESTRUCTURA DE UN PROGRAMA

• La unidad básica de programación en Java es laclase.

• Un programa en Java está constituido por unacolección de clases .

• La implementación de una clase consiste endefinir sus miembros:

• Atributos: variables de instancia y de clase

• Servicios: constructores y métodos

Introducción a la Programación Orientada a Objetos

Page 14: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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

Page 15: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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

Page 16: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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

Page 17: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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

Page 18: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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+” ”); }

}

Page 19: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

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<=Math.sqrt(n) && es; i++)

if (n%i == 0 )

es = false ;}

return es;

}

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

Notemos que es una versión más eficiente.

EJEMPLO

Page 20: JAVA: ELEMENTOS BÁSICOSlt/ipoo/downloads/ClasesPractica/0.01_Java EB.pdf · JAVA: ELEMENTOS BÁSICOS Introducción a la programación Orientada a Objetos - 2019 JAVA Java es un lenguaje

3/19/2019

20

¿PREGUNTAS?