Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de...

39
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. Introducción a la Programación Orientada a Objetos

Transcript of Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de...

Page 1: 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.

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.

Introducción a la Programación Orientada a Objetos

Page 2: 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.

VARIABLES, CONSTANTES Y EXPRESIONES

ASIGNACIÓN. ENTRADA Y SALIDA

TIPOS ELEMENTALES. PRECEDENCIA DE LOS OPERADORES. CASTING

ESTRUCTURAS DE CONTROL. CONDICIONAL E ITERACIÓN. RECURSIVIDAD

ESTRUCTURA DE UNA CLASE EN JAVA.

MÉTODOS.

EL MÉTODO MAIN.

Elementos Básicos de Java

Page 3: 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.

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 4: 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.

Tipos de Dato

Factorizar Propiedades. Todas las variables de un tipo comparten una misma representación, toman valores de un mismo conjunto y pueden participar de las mismas operaciones.

Efectuar Controles. El lenguaje establece restricciones que aseguran la consistencia entre los operadores provistos y los operandos. Estas restricciones van a ser controladas por el compilador o en ejecución.

Administrar la Memoria. El compilador decide cuánto espacio de almacenamiento va a requerir cada dato en ejecución, de acuerdo a su tipo.

Tipos Elementales

Introducción a la Programación Orientada a Objetos

Page 5: 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.

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 a2147483647

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 Elementales

Introducción a la Programación Orientada a Objetos

Tipos de Dato

Page 6: 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.

Operadores booleanos•Conjunción •Disyunción •Negación

Operadores relacionales

igual ==

distinto !=

menor <

menor o igual <=

mayor >

mayor o igual >=

Expresiones

Introducción a la Programación Orientada a Objetos

Page 7: 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.

Evaluación

•Completa•En cortocircuito

Conversión

Jerarquía de Tipos

byte →short→int→long→float→double

Expresiones

Introducción a la Programación Orientada a Objetos

Page 8: 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.

Reglas de Precedencia y Asociatividad

++, --, !, unary – undary +, type-cast

*, /, %

+, -

<, >, <=, >=

==, !=

&&

||

?:

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

Expresiones

Introducción a la Programación Orientada a Objetos

Page 9: 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.

Asignación

< ident > = < expresion >;

< tipo >< ident > = < exp > [,< ident > = < exp > ];

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.

El error puede salvarse mediante una operación de casting.

Expresiones

Introducción a la Programación Orientada a Objetos

Page 10: 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.

Conversión automática de tipos

Expresiones

Introducción a la Programación Orientada a Objetos

Si al hacer la conversión de un tipo a otro se dan las 2

siguientes premisas:

•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.

Entonces, la conversión entre tipos es automática

Page 11: 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.

Casting

Expresiones

Introducción a la Programación Orientada a Objetos

•Cuando  el número a convertir está fuera del rango del tipo a que se quiere convertir, entonces la conversión automática es imposible.

•El programador se ve obligado a realizar 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" el valor de la variable de rango mayor perdemos precisión

Page 12: 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.

Estructuras de Control en Java

Instrucciones

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

Page 13: 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.

Estructuras de Control en Java

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

Bloques

Page 14: 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.

Estructuras de Control en JavaBloques

Un bloque define un nuevo ambiente de referenciamiento.

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

Un mismo nombre no puede ligarse a dos variables en el mismo bloque ni en bloques anidados.

Una variable puede ser referenciada a partir de la instrucción que sigue a su declaración.

Adoptaremos la convención de declarar las variables de un bloque al principio e inicializarlas explícitamente.

Introducción a la Programación Orientada a Objetos

Page 15: 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.

Estructuras de Control en Java

if < expresion booleana > < instruccion > else < instrucción >

Condicional

Introducción a la Programación Orientada a Objetos

< instruccion if > ::=

Page 16: 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.

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;

Condicional

Estructuras de Control en Java

Introducción a la Programación Orientada a Objetos

Page 17: 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.

Estructuras de Control en Java

if (x > y) if (x > z) max = x; else max = z; else if (y > z) max = y; else max = z;

Condicional

Introducción a la Programación Orientada a Objetos

if (nota > 9) estado = ´A´; else if (nota > 7) estado = ´B´ ; else if (nota > 4) estado = ´C´ ; else if (nota < 4) estado = ´D´ ;

Page 18: 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.

Estructuras de Control en Java

estado = ´B´;if (promedio > 7) if (inasistencias<3) estado = ´A´; else estado = ´C´;

Condicional

Introducción a la Programación Orientada a Objetos

estado = ´B´; if (promedio > 7) { if (inasistencias<3) estado = ´A´; } else estado = ´C´

Page 19: 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.

Estructuras de Control en Java

switch

switch (<expression>) { [ case <constante> : <instruccion> ]* default: <instruccion> }

Condicional

Introducción a la Programación Orientada a Objetos

<instruccion switch>::=

Page 20: 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.

Estructuras de Control en Java

switch 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´; }

Condicional

Introducción a la Programación Orientada a Objetos

Page 21: 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.

Estructuras de Control en Java

while (<expresion booleana>) <instrucción>

do <instrucción>while (<expresion booleana>)

Iteración

Introducción a la Programación Orientada a Objetos

< instruccion while > ::=

< instruccion do while> ::=

Page 22: 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.

Estructuras de Control en Java

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

Iteración

Introducción a la Programación Orientada a Objetos

Page 23: 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.

Estructuras de Control en Java

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

Iteración

Introducción a la Programación Orientada a Objetos

Page 24: 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.

Estructuras de Control en Java

for ( <asignacion>; <expresion> ; <expresion>) [ <instrucción>]*

for ( n = 1 ; n <= 10 ; n++ ) System.out.println( n, n*n );

Iteració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 25: 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.

Estructuras de Control en Java

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

Iteración

Introducción a la Programación Orientada a Objetos

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

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

Page 26: 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.

Estructura de un programa en JAVA

La unidad básica de programación en Java es la clase.

Un programa en Java está constituido por una colección de clases .

La implementación de una clase consiste en definir sus miembros:

•Atributos: variables de instancia y de clase

•Servicios: constructores y métodos

Introducción a la Programación Orientada a Objetos

Page 27: 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.

Estructura de un programa en JAVA

( ) { } [ ] : ,

Símbolos separadores

Comentarios

•Los que ocupan varias líneas y se encierran entre símbolos /* y */ o /** y */•Los que comienzan con el símbolo // y terminan junto con la línea

Introducción a la Programación Orientada a Objetos

Page 28: 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.

Estructura de un programa en JAVA

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

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

{ < bloque > }

MétodosSintaxis

Introducción a la Programación Orientada a Objetos

Page 29: 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.

Estructura de un programa en JAVA

Métodos

Para que un programa en JAVA pueda ejecutarse es necesario definir una clase que incluya un método llamado main().

class Hello { public static void main (String args[]) { System.out.println("Hello World!"); }}

Introducción a la Programación Orientada a Objetos

Page 30: 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.

Estructura de un programa en JAVA

Métodos

•La primera línea define una clase llamada Hello.

•La segunda clase define el método main, asociado a los modificadores public y static. Es importante que no omitan ni alteren el encabezamiento de main.

•La palabra void indica que el método main no retorna ningún valor.

•La forma (String args[]) es la definición de los argumentos que recibe el método main.

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

Introducción a la Programación Orientada a Objetos

Page 31: 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.

Entrada y Salida

ES.leerChar (); ES.leerEntero (); ES.leerEnteroLargo (); ES.leerFloat (); ES.leerDouble ();

System.out.printSystem.out.println

Page 32: 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.

class mostrarPrimos { public static void main (String args[]) { for (int i = 0; i < 100; i++) if (esPrimo(i)) System.out.print(i+” ”); } static boolean esPrimo (int n) {

}}

Implemente un método para decidir si un número es primo y úselo para mostrar los números primos menores a 100.

Introducción a la Programación Orientada a Objetos

Ejemplo

Page 33: 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.

class mostrarPrimos { public static void main (String args[]) {… 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; }}

Introducción a la Programación Orientada a Objetos

Aunque la solución es correcta, no es recomendable que un método tenga varios puntos de salida.

Ejemplo

Page 34: 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.

class mostrarPrimos { public static void main (String args[]) {… static boolean esPrimo (int n){

boolean es = true;if (n < 2 ) es = false;else if (n == 2 ) es = true;else if (n%2 == 0) es =false;else {for (int i = 3;

i<=Math.sqrt(n) && es; i=i+2) if (n%i == 0 ) es = false ;}

return es; }}

Introducción a la Programación Orientada a Objetos

Ejemplo

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

Page 35: 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.

class mostrarPrimos { public static void main (String args[])

{ for (int i = 0; i < 100; i++) test (i); }

static void test (int i) { if (esPrimo(i)) System.out.println(i+" "); }

static boolean esPrimo (int n){

}}

Introducción a la Programación Orientada a Objetos

Ejemplo

Page 36: 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.

Problema

Charles Babbage descubrió que el polinomio

f(x) = x2 + x + 41

tiene la curiosa propiedad de generar, en apariencia, sólo números primos. Muestre los primeros 20 números primos generados con este polinomio.

Introducción a la Programación Orientada a Objetos

Page 37: 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.

class Babbage { public static void main (String args[]) {

for (int i = 0; i < 20; i++) System.out.println(i+” ”+babbage(i)); }

static int babbage (int n) { return x*x + x + 41; } }

Introducción a la Programación Orientada a Objetos

Ejemplo

Page 38: 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.

BlueJ

Introducción a la Programación Orientada a Objetos

Page 39: 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.

Ejercicios Propuestos

Introducción a la Programación Orientada a Objetos

Implemente un programa que lea dos números y muestre el mínimo

Implemente un programa que lea dos números enteros a y b y muestre la suma de los números comprendidos en el intervalo cerrado determinado por a y b

Implemente un programa que lea dos pares de números enteros, compute la suma de los números comprendidos en el intervalo cerrado determinado por cada par y muestre el mayor de los dos valores computados.

Implemente un programa que sume los primeros n números naturales hasta alcanzar el primer valor S mayor a un tope establecido por el usuario.