Programación básica

1,815 views

Published on

Programación básica en java

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,815
On SlideShare
0
From Embeds
0
Number of Embeds
145
Actions
Shares
0
Downloads
83
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Programación básica

  1. 1. Programación Básica<br />
  2. 2. Variables<br />Tipos de Variables<br />Variables<br />Son<br />Pueden cambiar<br />Espacios reservados en la memoria<br />Contenido <br />Durante la<br />Son declaradas dentro de las clases y fuera de los métodos, afectan a todos los métodos.<br />Ejecución de un programa <br />Trabajan dentro de un método en particular<br />Declaración de variables<br />Ejemplo: <br />int numero1;<br />long numero2;<br />
  3. 3. Tipo de Datos<br />Definición<br />Categorías<br />Tipo de Datos<br />Es un conjunto<br />Conjunto de valores <br />Que puede tomar<br />Una Variable<br />
  4. 4. Operadores y Expresiones<br />Operadores y Expresiones<br />Unarios<br />Asignación<br />Relacionales<br />Manipulación de Bits<br />Lógicos<br />Aritméticos<br />Ternarios<br />
  5. 5. Asignación<br />Estos operadores de asignación no siempre se utilizan, aunque los programadores en Java se acostumbran usarlos para el ahorro de escritura<br />
  6. 6. Aritméticos, unarios y ternarios<br /><ul><li>Los operadores unarios son aquellos que determinan si una expresión es negativa o positiva (+; -)
  7. 7. Es importante retomar la prioridad
  8. 8. Ternario, es aquel que devuelve un resultado que depende de una condición, tiene tres operandos.
  9. 9. Ejemplo: (ventas >15) ? Comision = 100 : Comision : 0;</li></li></ul><li>Relacionales<br /><ul><li>Un error común de los programadores es confundir el operador de asignación con el de igualdad.
  10. 10. Cuando se utiliza un operador relacional en una expresión. La evaluación produce como resultado true o false.
  11. 11. Ejemplo: c=3<7;o sea el valor de c es true.</li></li></ul><li>Lógicos<br />Tabla de Verdad de O lógico<br />Tabla de Verdad de O exclusivo<br />Tabla de Verdad de y lógico<br />Tabla de verdad de la negación<br />
  12. 12. Sentencias de Control<br />
  13. 13. Condicionales If - Else<br />Características<br />Sintaxis If Simple<br />Sintaxis en un ejemplo<br />if(condicion) Sentencia<br /><ul><li>Es la estructura de control de selección principal
  14. 14. Tiene dos alternativas o formatos posibles
  15. 15. La sintaxis está expresada como lo tenemos a la derecha </li></ul>importjava.util.Scanner;<br />publicclass Divide<br />{<br />publicstaticvoidmain(Stringargs[])<br />{<br />float numero1 = 0;<br />float numero2 = 0;<br />float resultado;<br />Scanner reader = new Scanner(System.in);<br />System.out.println("Introduce el primer número:");<br />numero1 = reader.nextFloat();<br />System.out.println("Introduce el segundo número:");<br />numero2 = reader.nextFloat();<br />if(numero2==0)<br />{<br />System.out.println("El Resultado no está definido");<br />else<br />{<br />resultado = numero1/numero2;<br />System.out.println("La división es " + numero1 + " / " + numero2 + " = " + resultado);<br />}<br />}<br />}<br />Sintaxis del If - Else<br />if(condicion)<br />{<br />//Sentencia<br />}<br />else<br />{<br />//Sentencia<br />}<br />Esta estructura de Control es utilizada para condiciones para ejecutar una expresión u otra<br />Se puede expresar en una parte o en dos, en dependencia de lo que se desea<br />
  16. 16. Anidamiento de If<br />Características<br />Sintaxis en un ejemplo<br />Sintaxis If Simple<br /><ul><li>Se pueden obtener decisiones que impliquen diferentes alternativas
  17. 17. Las sentencias If anidadas permiten tener tantas opciones como if se aniden</li></ul>importjava.util.Scanner;<br />publicclass Nota<br />{<br />publicstaticvoidmain(Stringargs[])<br />{<br />float numero1 = 0;<br />Scanner reader = new Scanner(System.in);<br />System.out.println("Introduzca la nota:");<br />numero1 = reader.nextFloat();<br />if(numero1<60)<br />System.out.println("Deficiente");<br />else<br />{<br />if(numero1<70)<br />System.out.println("Regular");<br />else<br /> {<br />if(numero1<80)<br /> {<br />System.out.println("Bueno");<br /> }<br />else<br /> {<br />System.out.println("Excelente");<br /> }<br /> }<br />}<br />}<br />}<br />if(condición)<br /> sentencia1<br />else<br />{<br /> sentencia2<br />if(condición2)<br /> sentencia3<br />else<br /> sentencia4<br />}<br />Permite escoger entre más de dos alternativas<br />
  18. 18. Switch<br />Características<br />Sintaxis en un ejemplo<br />Sintaxis If Simple<br /><ul><li>La Sentencia Switch es una sentencia de java que se utiliza para seleccionar múltiples alternativas.
  19. 19. Las sentencias switch es especialmente útil cuando la selección se basa en el valor de una variable simple o de una expresión simple denominada expresión de control o selector.
  20. 20. El valor de esta expresión puede ser int o char, pero no double.</li></ul>importjava.util.Scanner;<br />publicclassClasificacion<br />{<br />publicstaticvoidmain(Stringargs[])<br />{<br />int numero1 = 0;<br />Scanner reader = new Scanner(System.in);<br />System.out.println("Ingrese 0 o 1:");<br />numero1 = reader.nextInt();<br />switch (numero1)<br />{<br />case 0:<br />System.out.println("Cero");<br /> break;<br /> case 1: <br />System.out.println("Uno");<br /> break;<br />default:<br />System.out.println("Fuera de rango");<br />}<br />}<br />}<br />switch (opcion)<br />{<br />case 0:<br />System.out.println(“Cero”);<br />break;<br />case1:<br />System.out.println(“Uno”);<br />break;<br />}<br />Permite escoger entre más de dos alternativas<br />
  21. 21. Ciclos<br />
  22. 22. While<br />¿Qué es un Bucle?<br />Bucle While<br />Sintaxis de un Bucle While<br />importjava.util.Scanner;<br />publicclassDivide_while<br />{<br />publicstaticvoidmain(Stringargs[])<br />{<br />floatnumero1 = 0;<br />float numero2 = 0;<br />float resultado;<br />Scanner reader = new Scanner(System.in);<br />System.out.println("Introduce el primer número:");<br />numero1 = reader.nextFloat();<br />System.out.println("Introduce el segundo número:");<br />numero2 = reader.nextFloat();<br />while(numero2==0)<br />{<br />System.out.println("Ingrese nuevamente, el resultado no está definido");<br />numero2 = reader.nextFloat();<br />}<br />resultado = numero1/numero2;<br />System.out.println("La división es " + numero1 + " / " + numero2 + " = " + resultado);<br />}<br />}<br /><ul><li>Es cualquier construcción de programa que repite una secuencia de sentencias un número de veces.
  23. 23. La sentencia que se repite se le denomina cuerpo
  24. 24. Existen dos interrogantes: ¿cuál es el cuerpo del bucle y como definirlo? Y ¿Cuántas veces se iterará el cuerpo del bucle?
  25. 25. Tiene una condición del bucle (expresión lógica) que está delante del cuerpo del Bucle.
  26. 26. Se ejecuta a si mismo, se evalúa la condición antes de que ejecute el cuerpo del bucle
  27. 27. El bucle es repetitivo mientras la condición siga siendo verdadera
  28. 28. Si la condición es incialmente falsa el cuerpo del bucle no se ejecutará</li></ul>Se puede usar la sentencia break en los bucles para determinar una salida inesperada<br />Condición<br />Verdadero<br />Falso<br />Sentencia<br />
  29. 29. For<br />Bucle For<br />Sintaxis de un Bucle For<br />import java.util.Scanner;<br />public class Ciclo_for<br />{<br />public static void main(String args[])<br />{<br />intnumero1 = 0;<br />int numero2 = 0;<br />Scanner reader = new Scanner(System.in);<br />for(inti= 1; i<11; i++)<br />{ <br />System.out.println("Introduce el valor: "+i);<br />numero1 = reader.nextInt();<br />numero2+=numero1;<br />} <br />System.out.println("El resultadoes: " + numero2);<br />}<br />}<br /><ul><li>Es el más indicado para utilizar bucles controlados por contador
  30. 30. Se diferencia del bucle while porque las operaciones de control se realizan en la cabecera
  31. 31. Contiene cuatro partes : Inicialización, condición, incremento, Sentencias (cuerpo)
  32. 32. Inicialización: Inicializa las variables de control del bucle
  33. 33. Condición: contiene la expresión lógica que hace que el bucle realice las iteraciones sentenciadas
  34. 34. Incremento: Incremento o decremento en dependencia de la variable de control del bucle
  35. 35. Sentencias: Acciones o sentencias que se ejecutan en cada iteración</li></ul>Variable_control=Valor_inicial<br />Variable_control= valor_limite<br />Falso<br />Verdadero<br />Sentencia<br />Expresion_incremento<br />Hay que tener mucho cuidado en los ciclos for para evitar ciclos infinitos escribiendo bien la condición.<br />
  36. 36. Do While<br />Bucle Do While<br />Sintaxis de un bucle Do While<br />import java.util.Scanner;<br />public class Do_while<br />{<br />public static void main(String args[])<br />{<br />float numero1 = 0;<br />float numero2 = 0;<br />float resultado=0;<br />Scanner reader = new Scanner(System.in);<br />System.out.println("Introduce el primer valor: ");<br />numero1 = reader.nextFloat();<br />do<br />{ <br />System.out.println("Introduce el segundo valor -Si se muestramás de dos vecesestasentencia sera porque se ha cometido un error-: ");<br />numero2 = reader.nextFloat();<br />}<br />while(numero2==0);<br />resultado=numero1/numero2;<br />System.out.println("El resultadoes: " + resultado);<br />}<br />}<br /><ul><li>Se utiliza para especificar un bucle condicional que ejecuta el cuerpo del bucle al menos una vez.
  37. 37. Comienza ejecutando una sentencia a través del DO, luego se evalúa una expresión, si esta es verdadera entonces sigue el bucle de lo contrario no.
  38. 38. Es parecido al while, la única diferencia es que el do while se ejecuta al menos una vez</li></ul>Sentencia<br />Verdadero<br />Condición<br />Falso<br />Los ciclos tienen diferentes utilidades las cuales debes ir conociendo para que puedas identificar cual usar.<br />
  39. 39. ForEach<br />Bucle ForEach<br />Sintaxis de un bucle ForEach<br /><ul><li>Sirve par a moverse dentro de los elementos de una estructura de datos, podría ser un vector
  40. 40. Los componentes son: Elementos, tipo de datos, Conjunto, Cuerpo.
  41. 41. Elemento: Es el nombre de la variable que toma el elemento iterado en el cuerpo del bucle
  42. 42. Tipo de Dato: Es el tipo de dato de dicha variable.
  43. 43. Conjunto: Es la estructura de datos que se quiere iterar (Suelen ser vectores o arreglos)
  44. 44. Cuerpo: Son las sentencias que se ejecutarán dentro del bucle.
  45. 45. Es otro tipo de utilización del ciclo for solo que emplea otra clase de parámetros</li></ul>import java.util.Scanner;<br />public class For_each<br />{<br />public static void main(String args[])<br />{<br /> String [] arrStr = {"1", "2", "3", "4", "5"};<br /> for(String elemento : arrStr) {<br />System.out.println(elemento);<br /> }<br /> }<br />}<br />El ciclo Foreach salió con la versión java5, lo que trajo, nuevas formas de utilización de los bucles<br />
  46. 46. Arreglos<br />Arreglos<br />Forma de declarar un arreglo<br />Tipos disponibles<br />import java.util.Scanner;<br />public class Divide_arreglo<br />{<br />public static void main(String args[])<br />{<br />float [] arreglo1;<br />arreglo1=new float[3];<br />arreglo1[2]=0;<br />Scanner reader = new Scanner(System.in);<br />System.out.println("Introduce el primer número:");<br />arreglo1[0] = reader.nextFloat();<br />System.out.println("Introduce el segundonúmero:");<br />arreglo1[1] = reader.nextFloat();<br />if(arreglo1[1]==0)<br />{<br />System.out.println("El Resultado no estádefinido");<br />}<br />else<br />{<br />arreglo1[2] = arreglo1[0]/arreglo1[1];<br />System.out.println("La divisiónes " + arreglo1[0] + " / " + arreglo1[1] + " = " + arreglo1[2]);<br />}<br />}<br />}<br /><ul><li>Es una secuencia de datos de un mismo tipo
  47. 47. Los elementos de un arreglo pueden tener cualquier tipo de dato simple de java.
  48. 48. Cada item de un arreglo se le denomina elemento
  49. 49. Para declararse un arreglo se hace de forma similar a una variable normal, sólo que diferenciándolo con corchetes ([]).
  50. 50. Para indicar el número de elementos que tiene un arreglo se utiliza el operador New
  51. 51. El primer item se inicializa en la posición 0</li></ul>El arreglo se guarda en memoria de forma continua<br />
  52. 52. Arreglos<br />La propiedad Length<br />Forma de declarar un arreglo<br />public class Funcion_length<br />{<br />public static void main (String args [])<br />{<br />float [] valor;<br />valor=new float[5]; <br />System.out.println("El tamaño del arregloes " + valor.length);<br />}<br />}<br /><ul><li>Define el tamaño de un arreglo
  53. 53. Resulta muy útil cuando se pasa un arreglo a un método
  54. 54. Se utiliza de la siguiente manera: variable.length, teniendo a variable como un arreglo.
  55. 55. El operador length no puede ser modificado.</li></ul>Es importante definir un arreglo correctamente, debido a que su índice va desde 0 hasta el tamaño -1<br />Los arreglos son necesarios cuando se tiene listas y tablas de valores<br />
  56. 56. Arreglos <br />La propiedad Length<br />Arreglo Tabla<br />Tabla <br />import java.util.Scanner;<br />public class Tabla<br />{<br />public static void main (String args [])<br />{<br />int [][] valor;<br />inttabla;<br />valor=new int[12][3]; <br />Scanner reader = new Scanner(System.in);<br />System.out.println("Ingrese el valor de la tabla a calcular");<br />tabla = reader.nextInt();<br />for(inti=0;i<12;i++)<br />{<br />valor [i][0]=i+1;<br />valor[i][1]=tabla;<br />valor[i][2]=valor [i][0]*valor[i][1];<br />System.out.println(" "+valor[i][0]+ " * "+valor[i][1]+" = "+valor[i][2]);<br />}<br />}<br />}<br /><ul><li>Son arreglos que están definidos por filas y columnas, por eso son llamados Matriz.
  57. 57. Generalmente para ingresar e imprimir (entrada y salida), se utilizan dos ciclos for que controlan el avance de las posiciones del arreglo.</li></ul>Los arreglos bidimensionales permiten trabajar tablas<br />
  58. 58. Algoritmos de Búsqueda y ordenación<br />Métodos de ordenación<br />Métodos de búsqueda<br />
  59. 59. Métodos<br />Método<br />Ejemplo<br />import java.util.Scanner;<br />public class Divide_metodo<br />{<br />public static void main(String args[])<br />{<br />float numero1 = 0, numero2=0,resultado;<br />Scanner reader = new Scanner(System.in);<br />System.out.println("Introduce el primer número:"); <br />numero1 = reader.nextFloat();<br />System.out.println("Introduce el segundonúmero:");<br />numero2 = reader.nextFloat();<br />if(numero2==0)<br />{<br />System.out.println("El Resultado no estádefinido");<br />}<br />else<br />{<br />resultado = dividir(numero1,numero2);<br />System.out.println("La divisiónes " + numero1 + " / " + numero2 + " = " + resultado);<br />}<br />}<br />static float dividir(float valor1, float valor2)<br />{<br />float resultado;<br />resultado = valor1/valor2;<br />return resultado;<br />}<br />}<br /><ul><li>Es un bloque de código que tiene un nombre, tipo de acceso, tipo de retorno y una lista de argumentos o parámetros
  60. 60. Puede tener palabras claves asociadas tales como: static, abstract, final.
  61. 61. A excepción de las sentencias de declaración de objetos y variables y bloques de inicialización estática.</li></ul>Su estructura es la signiente:<br />Tipo nombre (parámetros)<br />{<br />}<br />Tipo: Especifica el tipo de datos devuelto por el método<br />Nombre: Identifica al método(suele escribirse en minúsculas)<br />Parámetros(los valores que necesita un método para funcionar)<br />La sentencia return es utilizada par a devolver valores de un método<br />Los métodos son parte muy importante de la programación orientada a objetos<br />
  62. 62. Llamada de Métodos<br />Cómo?<br />Ejemplo<br /><ul><li>Para poder ser llamados deben ser invocados
  63. 63. El método que llama a otro es llamado invocador
  64. 64. El método llamado se le denomina invocado
  65. 65. La llamada a un método desde otro de la misma clase se realizará escribiendo el nombre y un par de paréntesis(abre y cierra)
  66. 66. Cuando se llama a un método en otra clase se realiza utilizando el nombre de la clase + “.”+ el nombre del método entre paréntesis</li></ul>import java.util.Scanner;<br />public class Divide_metodo_class<br />{<br />public static void main(String args[])<br />{<br />float numero1 = 0;<br />float numero2 = 0;<br />float resultado;<br />Scanner reader = new Scanner(System.in);<br />System.out.println("Introduce el primer número:"); <br />numero1 = reader.nextFloat();<br />System.out.println("Introduce el segundonúmero:");<br />numero2 = reader.nextFloat();<br />if(numero2==0)<br />{<br />System.out.println("El Resultado no estádefinido");<br />}<br />else<br />{<br />resultado = Divide_metodo.dividir(numero1,numero2);<br />System.out.println("La divisiónes " + numero1 + " / " + numero2 + " = " + resultado);<br />}<br />}<br />}<br />No se pueden hacer métodos anidados<br />
  67. 67. Sobrecarga de Métodos<br />Cómo?<br />Ejemplo<br />static float calculo(float valor1, float valor2)<br />{<br />float resultado;<br />resultado = valor1/valor2;<br />return resultado;<br />}<br />static intcalculo(int valor)<br />{<br />intresultado=1;<br />for (int i=1;i<valor; i++)<br />{<br />resultado*=i;<br />}<br />return resultado;<br />}<br /><ul><li>Es posible definir dos métodos dentro de la misma clase que compartan nombre, y sus parámetros sean diferentes, a esto se le llama métodos sobrecargados.
  68. 68. La máquina determina a que método se hace referencia basándose en sus argumentos
  69. 69. La llamada no puede ser ambigua.
  70. 70. Medigante la sobrecarga se puede implementar el polimorfismo</li></ul>La sobrecarga aplica el polimorfismo sobre los métodos<br />
  71. 71. Métodos recursivos<br />Cómo?<br />Ejemplo<br /><ul><li>Es un método que se llama así mismo directa o indirectamente.
  72. 72. La recursividad o recursión directa es el proceso por el cual un método se llama así mismo desde el propio cuerpo del método.
  73. 73. La recursividad indirecta es cuando se realiza entre más de un método
  74. 74. Ejemplo de ejercicios que se pueden realizar son: Factoriales, fibonacci, etc.</li></ul>static intrecursivo(int valor)<br />{<br />if(valor>1)<br />{<br />return valor * recursivo(valor-1);<br />}<br />return 1;<br />}<br />//Este método peretenece a la clase Recursividad y es //llamado de la siguiente manera!!!<br />//resultado2=Recursividad.recursivo(factorial);<br />No se pueden hacer métodos anidados<br />
  75. 75. Métodos constructores<br />Tipos de Constructores<br />Qué es?<br /><ul><li>Un Constructor es un método miembro de propósito específico que se ejecuta automáticamente cuando se crea un objeto de una clase.
  76. 76. Tiene el mismo nombre que su clase
  77. 77. Puede tener 0 o más parámetros
  78. 78. No devuelve ningún valor</li></ul>Estructura de un Constructor<br />Recordemos que los constructores son los que se encargan de crear los objetos en una clase<br /><ul><li>Cuando se define un objeto, se aplica el operador new al constructor que se desee, si tiene parámetros pasan los valores de los parámetros al constructor utilizando una sintaxis similar a una llamada normal del método
  79. 79. Por ejemplo:
  80. 80. Cuadrado c = new Cuadrado();</li></li></ul><li>Constructores por defecto<br />Ejemplo Clase<br />Qué es?<br />public class Cuadrado<br />{<br />public double lado;<br />double area()<br />{<br />double resultado;<br />resultado=lado*lado;<br />return resultado;<br />}<br />double perimetro()<br />{<br />double resultado;<br />resultado=4*lado;<br />return resultado;<br />}<br />}<br /><ul><li>Es un constructor que no tiene parámetros.
  81. 81. Inicializa los miembros dato asignándoles valores por defecto</li></ul>El ejemplo hace uso de constructores por defecto<br />public class Cuadrado_constructor<br />{<br />public static void main(String args[])<br />{<br />double area_total;<br />double perimetro_total;<br />Cuadrado c = new Cuadrado();<br />c.lado = 5;<br />area_total = c.area();<br />perimetro_total=c.perimetro();<br />System.out.println("El area es "+ area_total+ " y el perímetroes "+ perimetro_total);<br />}<br />}<br />
  82. 82. Constructores alternativos<br />Qué es?<br />Ejemplo Clase<br /><ul><li>Son constructores que hacen uso de parámetros.
  83. 83. Los parámetros inicializan las variables definiendo valores de entrada en el constructor de objetos</li></ul>El ejemplo hace uso de la clase cuadrado, asignando atributos específicos a la clase para definirla como objeto<br />Podemos hacer uso del método finalize()como destructorr, aunque java maneja uno automático<br />public class Cuadrado_constructor<br />{<br />public static void main(String args[])<br />{<br />double area_total;<br />double perimetro_total;<br />Cuadrado c = new Cuadrado();<br />area_total = c.area(5);<br />perimetro_total=c.perimetro();<br />System.out.println("El area es "+ area_total+ " y el perímetroes "+ perimetro_total);<br />}<br />}<br />
  84. 84. Constructores sobrecargados<br />Qué es?<br />Ejemplo Clase<br />public class Rectangulo<br />{<br />public double lado1;<br />public double lado2;<br />double area(double l1)<br />{<br />double resultado;<br />lado1=l1;<br />resultado=lado1*lado1;<br />return resultado;<br />}<br />double area(double l1, double l2)<br />{<br />double resultado;<br />lado1=l1;<br />lado2=l2;<br />resultado=lado1*lado2;<br />return resultado;<br />}<br />}<br /><ul><li>Al igual que los métodos, también podemos sobrecargar los constructores
  85. 85. Los constructores sobrecargados son bastante frecuentes</li></ul>Constructor Sobrecargado<br />public class Rectangulo_constructor<br />{<br />public static void main(String args[])<br />{<br />double area_cuadrado;<br />double area_rectangulo;<br />Rectangulo c = new Rectangulo();<br />area_cuadrado = c.area(5);<br />area_rectangulo = c.area(4,5);<br />System.out.println("El area es "+ area_cuadrado+ " y el perímetroes "+ area_rectangulo);<br />}<br />}<br />El ejemplo hace uso de la clase cuadrado, asignando atributos específicos a la clase para definirla como objeto<br />
  86. 86. Métodos getter y setter<br />Qué es?<br /><ul><li>Son métodos de acceso, lo que significa que generalmente son una interfaz para cambiar miembros de clases privadas.
  87. 87. Los métodos getter y setter se utilizan para definir una propiedad
  88. 88. Se accede como propiedades situadas fura de la clase, aunque las defina dentro de las clases como métodos</li></ul>Ventajas: Posibilidad de crear miembros con funcionalidad sofisiticada a los que puede acceder como propiedades. <br /><ul><li>Permiten crear propiedades de solo escritura y lectura
  89. 89. Desventajas: Dificultan el mantenimiento del código en ocasiones
  90. 90. Proporcionan acceso a la implementación de la clase (lo cual no es muy recomendado en POO)</li></ul>Con el método Setter se le asignan valores a los atributos<br />Y con el Getter se obtienen valores de los atributos<br />
  91. 91. Excepciones<br />Ejemplo de Excepción<br />Qué es?<br />try <br />{<br />System.out.println ("Introduzca un numeradorentero: ");<br />intnumerador= reader.nextInt();<br />System.out.println("Introduzca un denominadorentero: ");<br />intdenominador=reader.nextInt();<br />intresultado = cociente(numerador,denominador);<br />System.out.printf("n Resultado : %d / %d = %dn", numerador, denominador, resultado);<br />}<br />catch(InputMismatchExceptioninputMismactchException)<br />{<br />System.err.printf("n Exception : %sn", inputMismactchException);<br />reader.nextLine();<br />System.out.println("Debeintroducirenteros. Intente de nuevo. n");<br />}<br />catch (ArithmeticExceptionarithmeticException)<br />{<br />System.err.printf("n Exception : %sn", arithmeticException);<br />System.out.println("Cero es un denominadorinválido. Intente de nuevo. n");<br />}<br /><ul><li>Son normalmente condiciones de error imprevistas.
  92. 92. Normalmente estas condiciones terminan el programa del usuario con un mensaje de error proporcionado por el sistema. Ejemplo: División por 0, arreglos fuera de límites.
  93. 93. Java posee un mecanismo para manejar excepciones, los cuales son objetos con jerarquía proporcionada por el lenguaje.
  94. 94. Throws presenta el formato: throwsObjetoExcepcion;
  95. 95. Se define utilizando la sentencia </li></ul>try<br />{<br />}<br />Catch(argumento formal)<br />El bloque finally, se utiliza para que se ejecute independientemente que haya o no una excepción<br />Estas dos excepciones sirven para validar valores de entrada y cálculos aritméticos<br />

×