410 likes | 746 Views
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. Java.
E N D
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. Java Introducción a la Programación Orientada a Objetos
Elementos Básicos de Java 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.
Variables y Constantes 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. Declaración [< modificador>] < tipo > < ident > [ , < ident > ] ; Introducción a la Programación Orientada a Objetos
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 de Dato Tipos Elementales Introducción a la Programación Orientada a Objetos
Tipos de Dato Tipos Elementales Introducción a la Programación Orientada a Objetos
Operadores relacionales Expresiones Operadores booleanos • Conjunción • Disyunción • Negación Introducción a la Programación Orientada a Objetos
Evaluación • Completa • En cortocircuito Expresiones Conversión Jerarquía de Tipos byte →short→int→long→float→double Introducción a la Programación Orientada a Objetos
Expresiones Reglas de Precedencia y Asociatividad Introducción a la Programación Orientada a Objetos
< ident > = < expresion >; Expresiones < 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. Asignación El error puede salvarse mediante una operación de casting. 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 Expresiones Conversión automática de tipos 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 Expresiones Casting Introducción a la Programación Orientada a Objetos
Instrucciones < instruccion > ::= < declaración de variable > | < expresion > ; | < bloque > | < instruccion if > | < instruccion while > | < instruccion for > | < instruccion switch > | < instruccion try > | < instruccion return > | < break > | < continue > | Estructuras de Control en Java Introducción a la Programación Orientada a Objetos
Bloques { [< instruccion > ]* } < bloque> ::= Estructuras de Control en Java { 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
Bloques Estructuras de Control en Java 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
Condicional Estructuras de Control en Java < instruccion if > ::= if < expresion booleana > < instruccion > else < instrucción > Introducción a la Programación Orientada a Objetos
Estructuras de Control en Java Condicional if (x > y) max = x; else max = y; if (x > y) { max = x; min = y ;} else { max = y; min = x ; } if (x > y) { int temp; temp = x; x = y; y = temp; } Introducción a la Programación Orientada a Objetos
Condicional if (x > y) if (x > z) max = x; else max = z; else if (y > z) max = y; else max = z; if (nota > 9) estado = ´A´; else if (nota > 7) estado = ´B´ ; else if (nota > 4) estado = ´C´ ; else if (nota < 4) estado = ´D´ ; Estructuras de Control en Java Introducción a la Programación Orientada a Objetos
Condicional estado = ´B´; if (promedio > 7) if (inasistencias<3) estado = ´A´; else estado = ´C´; Estructuras de Control en Java estado = ´B´; if (promedio > 7) { if (inasistencias<3) estado = ´A´; } else estado = ´C´ Introducción a la Programación Orientada a Objetos
Condicional switch Estructuras de Control en Java <instruccion switch>::= switch (<expression>) { [ case <constante> : <instruccion> ]* default: <instruccion> } Introducción a la Programación Orientada a Objetos
Condicional switch Estructuras de Control en Java 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
Iteración < instruccion while > ::= Estructuras de Control en Java while (<expresion booleana>) <instrucción> < instruccion do while> ::= do <instrucción> while (<expresion booleana>) Introducción a la Programación Orientada a Objetos
Iteración 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); Introducción a la Programación Orientada a Objetos
Iteración 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); Introducción a la Programación Orientada a Objetos
Iteración < instruccion for > ::= Estructuras de Control en Java 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
Iteración sum = 0 ; for ( n = 1 ; n <= 10 ; n++ ) sum = sum + n ; Estructuras de Control en Java for ( n = 1, sum = 0 ; n <= 10 ; n++ ) sum = sum + n ; for (n=1,sum=0; n<=10; sum=sum+n,n++); for ( n = 1, sum = 0 ; sum <= 100 ; n++ ) sum = sum + n ; for ( int n = 1, sum = 0 ;sum <= 100 ; n++ ) sum = sum + n ; Introducción a la Programación Orientada a Objetos
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 Estructura de un programa en JAVA Introducción a la Programación Orientada a Objetos
Símbolos separadores Estructura de un programa en JAVA ( ) { } [ ] : , 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
Métodos Sintaxis [ < Modificador > ]* [< Tipo del Resultado > ] < Identificador > ( [< Parámetros Formales > ]* ) { < bloque > } Estructura de un programa en JAVA Introducción a la Programación Orientada a Objetos
Métodos Para que un programa en JAVA pueda ejecutarse es necesario definir una clase que incluya un método llamado main(). Estructura de un programa en JAVA class Hello { public static void main (String args[]) { System.out.println("Hello World!"); } } Introducción a la Programación Orientada a Objetos
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. Estructura de un programa en JAVA Introducción a la Programación Orientada a Objetos
Entrada y Salida System.out.print System.out.println ES.leerChar (); ES.leerEntero (); ES.leerEnteroLargo (); ES.leerFloat (); ES.leerDouble ();
Ejemplo Implemente un método para decidir si un número es primo y úselo para mostrar los números primos menores a 100. 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) { } } Introducción a la Programación Orientada a Objetos
Ejemplo 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; } } Aunque la solución es correcta, no es recomendable que un método tenga varios puntos de salida. Introducción a la Programación Orientada a Objetos
Ejemplo 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; } } Notemos que es una versión más eficiente. Introducción a la Programación Orientada a Objetos
Ejemplo 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
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. Problema Introducción a la Programación Orientada a Objetos
Ejemplo 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
BlueJ Introducción a la Programación Orientada a Objetos
Implemente un programa que lea dos números y muestre el mínimo Ejercicios Propuestos 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. Introducción a la Programación Orientada a Objetos