Not as Java 2

24
Fundamentos de Programación Java Unidad IV. INTRODUCCION A LA PROGRAMACION Clasificación del Software: El software es la parte lógica(intangible) de una computadora, que permite el manejo de los recursos y la realización de tareas especificas, también denominados programas. En general el software se clasifica en 2 grupos: 1. Software de Sistemas 2. Software de Aplicación 1. SOFTWARE DE SISTEMAS: Son aquellos programas que permiten la administración de la parte física o los recursos de la computadora, es la que interactúa entre el usuario y los componentes hardware de la computadora. En seguida se muestra como se clasifica a su vez este grupo: Compiladores Procesadores de Lenguajes Lic. Felipe Rodríguez Ramírez 1/24 Intérpretes software de Sistemas: Basados en caracteres Sistemas Operativos Basados en una Interfaz Gráfica 2. SOFTWARE DE APLICACION: Son aquellos programas que nos ayudan a realizar tareas específicas como son: edición de textos, imágenes, cálculos, etc. a estos programas también se les conoce como aplicaciones. Software de Uso General El software para uso general ofrece la estructura para un gran número de aplicaciones empresariales, científicas y personales. El software de hoja de cálculo, de diseño asistido por computadoras (CAD), de procesamiento de texto, de manejo de Bases de Datos, pertenece a esta categoría. La mayoría de software para uso general se vende como paquete; es decir, con software y documentación orientada al usuario (manuales de referencia, plantillas de teclado y demás ). Software de aplicaciones El software de aplicación esta diseñado y escrito para realizar tareas específicas personales, empresariales o científicas como el procesamiento de nóminas, la administración de los recursos humanos o el control de inventarios. Todas éstas aplicaciones procesan datos (recepción de materiales) y generan información (registros de nómina) para el usuario. Definición de Lenguaje Lenguajes de Programación: Cualquier lenguaje es solamente un conjunto de reglas para especificar la forma en que las cosas deben expresarse a fin de que sean entendidas. Un lenguaje de programación es un conjunto de símbolos, caracteres y reglas que le permiten a las personas comunicarse con la computadora. Los lenguajes de programación tienen un conjunto de instrucciones o sentencias cada una de las cuales especifica ciertas operaciones que debe ejecutar la computadora.

Transcript of Not as Java 2

Fundamentos de Programación Java

Unidad IV. INTRODUCCION A LA PROGRAMACION Clasificación del Software: El software es la parte lógica(intangible) de una computadora, que permite el manejo de los recursos y la realización de tareas especificas, también denominados programas. En general el software se clasifica en 2 grupos:

1. Software de Sistemas 2. Software de Aplicación

1. SOFTWARE DE SISTEMAS: Son aquellos programas que permiten la administración de la parte física o los recursos de la computadora, es la que interactúa entre el usuario y los componentes hardware de la computadora. En seguida se muestra como se clasifica a su vez este grupo: Compiladores

Procesadores de Lenguajes

Lic. Felipe Rodríguez Ramírez 1/24

Intérpretes software de Sistemas: Basados en caracteres Sistemas Operativos Basados en una Interfaz Gráfica 2. SOFTWARE DE APLICACION: Son aquellos programas que nos ayudan a realizar tareas específicas como son: edición de textos, imágenes, cálculos, etc. a estos programas también se les conoce como aplicaciones. Software de Uso General El software para uso general ofrece la estructura para un gran número de aplicaciones empresariales, científicas y personales. El software de hoja de cálculo, de diseño asistido por computadoras (CAD), de procesamiento de texto, de manejo de Bases de Datos, pertenece a esta categoría. La mayoría de software para uso general se vende como paquete; es decir, con software y documentación orientada al usuario (manuales de referencia, plantillas de teclado y demás ). Software de aplicaciones El software de aplicación esta diseñado y escrito para realizar tareas específicas personales, empresariales o científicas como el procesamiento de nóminas, la administración de los recursos humanos o el control de inventarios. Todas éstas aplicaciones procesan datos (recepción de materiales) y generan información (registros de nómina) para el usuario. Definición de Lenguaje Lenguajes de Programación: Cualquier lenguaje es solamente un conjunto de reglas para especificar la forma en que las cosas deben expresarse a fin de que sean entendidas. Un lenguaje de programación es un conjunto de símbolos, caracteres y reglas que le permiten a las personas comunicarse con la computadora. Los lenguajes de programación tienen un conjunto de instrucciones o sentencias cada una de las cuales especifica ciertas operaciones que debe ejecutar la computadora.

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 2/24

Los lenguajes de programación se clasifican en: Lenguaje Maquina: Son aquellos cuyas instrucciones están escritas en lenguajes directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria mas pequeña el bit (dígito binario 0 o 1) ya que son cadenas binarias que especifican una operación y las direcciones de memoria implicadas.. Ventajas del Lenguaje Máquina Posibilidad de cargar (transferir un programa a memoria) sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación. Desventajas del Lenguaje Máquina Dificultad y lentitud en la codificación. Poca fiabilidad. Gran dificultad para verificar y poner a punto los programas. Los programas solo son ejecutables en el mismo procesador (CPU). Lenguaje de Bajo Nivel (Ensamblador): Son más fáciles de utilizar que los lenguajes máquina. Son dependientes del hardware. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos para las operaciones y direcciones simbólicas.. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son : ADD, SUB, DIV, etc. Un programa escrito en lenguaje ensamblador, requiere de una fase de traducción al lenguaje máquina para poder ser ejecutado directamente por la computadora.

Ventajas del lenguaje ensamblador frente al lenguaje máquina Mayor facilidad de codificación y, en general, su velocidad de cálculo. Desventajas del lenguaje ensamblador Dependencia total de la máquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes máquinas, la formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las técnicas de programación, sino también el conocimiento del interior de la máquina.

Lenguaje de Alto Nivel: (C, Pascal, Cobol, Fortran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensión del programa. Un programa escrito en lenguaje de alto nivel es independiente de la máquina (las instrucciones no dependen del diseño del hardware o de una computadora en particular), por lo que estos programas son portables .

Ventajas de los lenguajes de alto nivel

El tiempo de formación de los programadores es relativamente corto comparado con otros lenguajes, la escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos, las modificaciones y puestas a punto de los programas son más fáciles. Desventajas de los lenguajes de alto nivel Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo. No se aprovechan los recursos internos de la

Fundamentos de Programación Java

máquina que se explotan mucho mejor en lenguajes máquina y ensambladores. Aumento de la ocupación de memoria. El tiempo de ejecución de los programas es mucho mayor. Tipos De Datos El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable. Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como 35.

Numéricos Simples Lógicos (sin estructura) alfanuméricos (string) Tipos de

Lic. Felipe Rodríguez Ramírez 3/24

datos Arreglos (Vectores, Matrices) Estructurados Registros Archivos Tipos de Datos Simples Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos). Datos Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas. Ejemplo: “Fundamentos de Programación ” LENGUAJE DE PROGRAMACION JAVA

¿Qué es Java? Java es toda una tecnología orientada al desarrollo de software con el cual podemos realizar cualquier tipo de programa. Hoy en día, la tecnología Java ha cobrado mucha importancia en el ámbito de Internet gracias a su plataforma J2EE. Pero Java no se queda ahí, ya que en la industria para dispositivos móviles también hay una gran acogida para este lenguaje.

La tecnología Java está compuesta básicamente por 2 elementos: el lenguaje Java y su plataforma. Con plataforma nos referimos a la máquina virtual de Java (Java Virtual Machine).

Una de las principales características que favoreció el crecimiento y difusión del lenguaje Java es su capacidad de que el código funcione sobre cualquier plataforma de software y hardware. Esto significa que nuestro mismo programa escrito para Linux puede ser ejecutado en Windows sin ningún problema. Además es un lenguaje orientado a objetos que nos brinda una solución para cada necesidad que pudiéramos tener.

EL ENTORNO DE DESARROLLO DE JAVA Existen distintos programas comerciales que permiten desarrollar código Java. La compañía Sun, creadora de Java, distribuye gratuitamente el Java Development Kit (JDK). Se trata de un conjunto

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 4/24

de programas y librerías que permiten desarrollar, compilar y ejecutar programas en Java. Cualquier programador con un mínimo de experiencia sabe que una parte muy importante (muchas veces la mayor parte) del tiempo destinado a la elaboración de un programa se destina a la detección y corrección de errores. Los IDEs (Integrated Development Environment), tal y como su nombre indica, son entornos de desarrollo integrados, con los cuales en un mismo programa es posible escribir el código Java, compilarlo y ejecutarlo sin tener que cambiar de aplicación. Estos entornos integrados permiten desarrollar las aplicaciones de forma mucho más rápida, incorporando en muchos casos librerías con componentes ya desarrollados, los cuales se incorporan al proyecto o programa. Ejemplos de este tipo de entornos encontramos a JCreator, Eclipse, Netbeans, etc. El compilador de Java Se trata de una de las herramientas de desarrollo incluidas en el JDK. Realiza un análisis de sintaxis del código escrito en los archivos fuente de Java (con extensión *.java). Si no encuentra errores en el código genera los archivos compilados (con extensión *.class). En otro caso muestra la línea o líneas erróneas. En el JDK de Sun dicho compilador se llama javac.exe. Tiene numerosas opciones, algunas de las cuales varían de una versión a otra. La JVM es el intérprete de Java. Ejecuta los “bytecodes” (archivos compilados con extensión *.class) creados por el compilador de Java (javac.exe). Tipos de datos y Variables en JAVA Todas las variables en el lenguaje Java deben tener un tipo de dato. El tipo de la variable determina los valores que la variable puede contener y las operaciones que se pueden realizar con ella. Existen dos categorías de datos principales en el lenguaje Java: los tipos primitivos y los tipos referenciados. Los tipos primitivos contienen un sólo valor e incluyen los tipos como los enteros, coma flotante, los caracteres, etc.. La tabla siguiente muestra todos los tipos primitivos soportados por el lenguaje Java, su formato, su tamaño y una breve descripción de cada uno.

Tipo Tamaño Descripción Valor (Números enteros) byte 1 byte Entero de un Byte -128 a 127 short 2 bytes Entero corto -32768 a 32767 int 4 bytes Entero -2.147.483.648 a 2.147.483.647

long 8 bytes Entero largo -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

(Números reales)

float 4 bytes IEEE 754 Coma flotante de precisión simple Entre 6 y 7 cifras decimales

-3.402823E38 a -1.401298E-45 y de 1.401298E-45 a 3.402823E38

double 8 bytes IEEE 754 Coma flotante de precisión doble (15 cifras decimales)

-1.79769313486232E308 a -4.94065645841247E-324 y de 4.94065645841247E-324 a 1.79769313486232E308

(otros tipos) char 16-bit Caracter Un sólo carácter Código ASCII boolean 1 byte valor booleano (verdadero o falso) True o false

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 5/24

Los tipos primitivos de Java tienen algunas características importantes que se resumen a Continuación: 1. El tipo boolean no es un valor numérico: sólo admite los valores true o false. El tipo bolean no se identifica con el igual o distinto de cero, como en C/C++. El resultado de la expresión lógica que aparece como condición en un bucle o en una bifurcación debe ser boolean. 2. El tipo char contiene caracteres en código UNICODE (que incluye el código ASCII), y ocupan 16 bits por carácter. Comprende los caracteres de prácticamente todos los idiomas. 3. Los tipos byte, short, int y long son números enteros que pueden ser positivos o negativos, con distintos valores máximos y mínimos. A diferencia de C/C++, en Java no hay enteros unsigned. 4. Los tipos float y double son valores de punto flotante (números reales) con 6-7 y 15 cifras decimales equivalentes, respectivamente. 5. Se utiliza la palabra void para indicar la ausencia de un tipo de variable determinado. 6. A diferencia de C/C++, los tipos de variables en Java están perfectamente definidos en todas y cada una de las posibles plataformas. Por ejemplo, un int ocupa siempre la misma memoria y tiene el mismo rango de valores, en cualquier tipo de computadora. Caracteres de Java Los caracteres de java pueden agruparse en letras, digitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. Letras, dígitos y otros Estos caracteres son utilzados para formar las constantes, los identificadores y las palabras clave de Java. Son los siguientes:

• Letras mayúsculas de los alfabetos internacionales: A-Z (son válidas las letras acentuadas y la Ñ)

• Letras Minúsculas de los alfabetos internacionales: a-z (son válidas las letras acentuadas y la ñ)

• Digitos de los alfabetos internacionales, entre los que se encuentran 0-9 • Caracteres “_”, “$” y cualquier caracter Unicode por encima de 00C0

Espacios en Blanco

Los caracteres espacio en blancotabulador horizontal, avance de página, nueva línea, retorno de carro, son caracteres denominados espacios en blanco, porque la labor que desempeñan es la misma que la del espacio en blanco: actuar como separadores entre los elementos de un programa, lo cual permite escribir programas más legibles. Los espacios en blanco en exceso son ignorados por el compilador. Caracteres especiales y signos de puntuación Este grupo de caracteres se utiliza de diferentes formas; por ejemplo, para indicar que un identificador es una función o un array; para especificar una determinada operación, etc. Son los siguientes:

, . ; : ? ‘ “ ( ) [ ] { } < ! | / \ ~ + % ^ * - = > Secuencias de escape Una secuencia de escape esta formada por el carácter \ seguido de una letra o combinación de digitos. Son utilizados para hacer referencia a caracteres no imprimibles.

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 6/24

El lenguaje Java tiene predefinidas las siguientes secuencias de escape:

Secuencia ASCII Definición \n CR+LF Ir al principio de la siguiente línea \t HT Tabulador Horizontal \b BS Retroceso (Backspace) \r CR Retorno de carro sin avance de línea \f FF Alimentación de página solo para impresora \’ ‘ Comilla simple \” “ Comilla doble \\ \ Barra invertida \ddd Carácter ASCII. Representación octal \udddd Carácter ASCII. Representación Unicode \u0007 BEL Alerta, pitido \u000B VT Tabulador vertical (sólo para impresora) Identificadores Es un conjunto de caracteres de cualquier longitud que sirve para identificar las entidades del programa (clases, métodos, constantes, variables, paquetes, sentencias del programa, etc.). Cada lenguaje tiene sus propias reglas que definen como pueden estar construidos. Un identificador en Java se forma de la siguiente manera: consta de uno o más caracteres en donde el primer carácter debe ser una letra, el carácter de subrayado _ o el carácter $. No se pueden comenzar por un digito ni pueden contener caracteres especiales. Las letras pueden ser mayúsculas o minúsculas. Una letra mayúscula es diferente a una minúscula. Pueden tener cualquier número de caracteres. Constantes Simbólicas El uso de constantes dentro de un programa es importante porque hace más fácil de modificar un programa. Declarar una constante simbólica significa decirle al compilador Java el nombre de la constante y su valor. Esto se hace utilizando el calificador final y/o el static, como se indica en seguida: fnal static int cte1=1 ; final static String cte2= »Pulse una tecla para continuar”; final double cte3=3.1416; Como se observa para declara una constante simbólica se debe anteponer el calificador final, o bien los calificadores final y static, al tipo y nombre de la constante, que será iniciada con el valor deseado. El primer caso corresponde cuando se desea declarar una constante dentro del cuerpo de un método para que solo sea visible dentro de el y solo existe durante la ejecución del mismo; en este caso se dice que es una constante local al método. El segundo caso corresponde cuando se desea declarar una constante simbólica dentro de una clase y fuera de todo método esto con el fin de que solo exista un acopia de la constante para todos los objetos que se declaren de esa clase (esto se logra con el calificador static).Si no se especifica static cada objeto incluirá su propia copia de la constante.Con el calificador final se especifica que el valor de la constante no se puede modificar durante el programa ya que daría lugar a un error.

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 7/24

Nombres de Variables en Java Un programa se refiere al valor de una variable por su nombre. Por convención, en Java, los nombres de las variables empiezan con una letra minúscula (los nombres de las clases empiezan con una letra mayúscula). Si una variable está compuesta de más de una palabra, como 'nombreDato' las palabras se ponen juntas y cada palabra después de la primera empieza con una letra mayúscula. Un nombre de variable Java. Debe ser un identificador legal de Java comprendido en una serie de caracteres Unicode. Unicode es un sistema de codificación que soporta texto escrito en distintos lenguajes humanos. Unicode permite la codificación de 34.168 caracteres. Esto le permite utilizar en sus programas Java varios alfabetos como el japonés, el griego, el ruso o el hebreo. Esto es importante para que los programadores puedan escribir código en su lenguaje nativo. No puede ser el mismo que una palabra clave o el nombre de un valor booleano (true or false), no deben tener el mismo nombre que otras variables cuyas declaraciones aparezcan en el mismo ámbito. Palabras Clave Son una serie de palabras reservadas las cuales tienen un significado especial para Java y por lo tanto no se pueden utilizar como nombres de variables. Dichas palabras son:

abstract boolean break byte case catch char class const continue

default do double else extends final finally float for goto

If implements import instanceof int interface long native new null

package private protected public return short static super switch synchronized

this throw throws transient try void volatile while

Declaración La Sintaxis para la declaración de una variable es la siguiente:

tipo variable; Donde tipo es el nombre de un tipo de dato conocido por Java y variable es un identificador válido en Java. Es preciso declarar las variables antes de utilizarlas. Se puede declara una variable en tres lugares:

• En una clase como miembro de la clase • Al principio de un método o bloque de código • En el punto de utilización

El ámbito de una variable es el ámbito en le que están declaradas. Comentarios

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 8/24

Un comentario es un mensaje a cualquiera que lea el código fuente con la intención de hacer mas clara y fácil la comprensión de un programa. Java incluye tres tipos de comentarios:

1. Para comentarios que ocupan más de una línea se utilizan los caracteres /* al empezar y */ para finalizar el comentario. Estos comentarios pueden ocupar varias líneas, sin embargo no pueden anidarse.

2. Para comentarios de una sola línea se utilizan los caracteres // al inicio de la línea. 3. Son comentarios especiales que se utilizan para generar la documentación acerca del

programa. Este tipo de comentario comienza con /** y termina con */. Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a+(b * 2)/c Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en: Aritméticas, relaciónales y lógicas Operadores y Operandos Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Operadores de Java Los operadores realizan algunas funciones en uno o dos operandos. Los operadores que requieren un operador se llaman operadores unarios. Por ejemplo, ++ es un operador unario que incrementa el valor su operando en uno. Los operadores que requieren dos operandos se llaman operadores binarios. El operador = es un operador binario que asigna un valor del operando derecho al operando izquierdo. Los operadores unarios en Java pueden utilizar la notación de prefijo o de sufijo. La notación de prefijo significa que el operador aparece antes de su operando.

operador operando La notación de sufijo significa que el operador aparece después de su operando:

operando operador Todos los operadores binarios de Java tienen la misma notación, es decir aparecen entre los dos operandos:

op1 operador op2 Además de realizar una operación también devuelve un valor. El valor y su tipo dependen del tipo del operador y del tipo de sus operandos. Por ejemplo, los operadores aritméticos (realizan las operaciones de aritmética básica como la suma o la resta) devuelven números, el resultado típico

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 9/24

de las operaciones aritméticas. El tipo de datos devuelto por los operadores aritméticos depende del tipo de sus operandos: si sumas dos enteros, obtendrás un entero. Operadores Aritméticos El lenguaje Java soporta varios operadores aritméticos incluyendo + (suma), - (resta), * (multiplicación), / (división), y % (módulo) en todos los números enteros y de coma flotante. Esta tabla sumariza todas las operaciones aritméticas binarias en Java.

Operador Uso Descripción + op1 + op2 Suma op1 y op2 - op1 - op2 Resta op2 de op1 * op1 * op2 Multiplica op1 y op2 / op1 / op2 Divide op1 por op2 % op1 % op2 Obtiene el resto de dividir op1 por op2

Nota: El lenguaje Java extiende la definición del operador + para incluir la concatenación de cadenas. Los operadores + y - tienen versiones unarias que seleccionan el signo del operando.

Operador Uso Descripción + + op Indica un valor positivo- - op Niega el operando

Además, existen dos operadores de atajos aritméticos, ++ que incrementa en uno su operando, y -- que decrementa en uno el valor de su operando.

Operador Uso Descripción ++ op ++ Incrementa op en 1; evalúa el valor antes de incrementar ++ ++ op Incrementa op en 1; evalúa el valor después de incrementar -- op -- Decrementa op en 1; evalúa el valor antes de decrementar -- -- op Decrementa op en 1; evalúa el valor después de decrementar

Operadores Relacionales y Condicionales Los valores relacionales comparan dos valores y determinan la relación entre ellos. Por ejemplo, != devuelve true si los dos operandos son distintos. Esta tabla resume los operadores relacionales de Java.

Operador Uso Devuelve true si > op1 > op2 op1 es mayor que op2 >= op1 >= op2 op1 es mayor o igual que op2 < op1 < op2 op1 es menor que op2 <= op1 <= op2 op1 es menor o igual que op2 = = op1 = = op2 op1 y op2 son iguales != op1 != op2 op1 y op2 son distintos

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 10/24

Frecuentemente los operadores relacionales se utilizan con otro juego de operadores, los operadores condicionales, para construir expresiones de decisión más complejas. Uno de estos operadores es && que realiza la operación Y booleana . Por ejemplo se puede utilizar dos operadores relacionales diferentes junto con && para determinar si ambas relaciones son ciertas. En algunas situaciones, el segundo operando de un operador relacional no será evaluado. Consideremos esta sentencia:

((count < NUM_ENTRIES) && (System.in.read() != -1)) Si count es menor que NUM_ENTRIES, la parte izquierda del operando de && evalúa a false. El operador && sólo devuelve true si los dos operandos son verdaderos. Por eso, en esta situación se puede determinar el valor de && sin evaluar el operador de la derecha. En un caso como este, Java no evalúa el operando de la derecha. Así no se llamará a System.in.read() y no se leerá un carácter de la entrada estándar. Operadores condicionales.

Operador Uso Devuelve true si && op1 && op2 op1 y op2 son verdaderos || op1 || op2 uno de los dos es verdadero ! ! op op es falso

El operador & se puede utilizar como un sinónimo de && si ambos operadores son booleanos. Similarmente, | es un sinonimo de || si ambos operandos son booleanos. Operadores de Asignación Puedes utilizar el operador de asignación =, para asignar un valor a otro. Además del operador de asignación básico, Java proporciona varios operadores de asignación que permiten realizar operaciones aritméticas, lógicas o de bits y una operación de asignación al mismo tiempo. Específicamente, supónga que se quiere añadir un número a una variable y asignar el resultado dentro de la misma variable, como esto: i = i + 2; Puedes simplificar esta sentencia utilizando el operador +=. i += 2; Las dos líneas de código anteriores son equivalentes. Esta tabla lista los operadores de asignación y sus equivalentes.

Operador Uso Equivale a += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2&= op1 &= op2 op1 = op1 & op2|= op1 |= op2 op1 = op1 | op2 ^= op1 ^= op2 op1 = op1 ^ op2

Fundamentos de Programación Java

Expresiones Java Las expresiones realizan el trabajo de un programa Java. Entre otras cosas, las expresiones se utilizan para calcular y asignar valores a las variables y para controlar el flujo de un programa Java. El trabajo de una expresión se divide en dos partes: realizar los cálculos indicados por los elementos de la expresión y devolver algún valor. Definición: Una expresión es una serie de variables, operadores y llamadas a métodos (construida de acuerdo a la sintaxis del lenguaje) que evalúa a un valor sencillo. El tipo del dato devuelto por una expresión depende de los elementos utilizados en la expresión. La expresión count++ devuelve un entero porque ++ devuelve un valor del mismo tipo que su operando y count es un entero. Otras expresiones devuelven valores booleanos, cadenas, etc... Una expresión de llamada a un método devuelve el valor del método; así el tipo de dato de una expresión de llamada a un método es el mismo tipo de dato que el valor de retorno del método. En Java los operadores con una precedencia más alta se evalúan primero. La tabla siguiente muestra la precedencia asignada a los operadores de Java. Los operadores se han listado por orden de precedencia de mayor a menor. Los operadores con mayor precedencia se evalúan antes que los operadores con precedencia relativamente menor. Lo operadores con la misma precedencia se evalúan de izquierda a derecha. Conversión entre tipos de datos Cuando Java tiene que evaluar una expresión en la que intervienen operandos de diferentes tipos, primero convierte, sólo para realizar las operaciones solicitadas, los valores de los Operandos al tipo del operando cuya preescisión sea más alta. Cuando se trata de una asignación, convierte el valor de la derecha al tipo de la variable de la izquierda siempre que no haya pérdida de información. En otro caso Java exige que la conversión se realice explícitamente. La siguiente figura resume los tipos colocados de izquierda a derecha de menos a más precisos; las flechas indican las conversiones implícitas permitidas:

short

char

int long float byte

double Estructura básica de un programa en Java Un programa en Java esta dividido en clases. Una clase en si se puede entender como un programa independiente, tiene sus propios datos y también maneja esos datos "a su modo", hablamos de atributos y métodos. Un método es un grupo de instrucciones que realizan una o más acciones. Uno de los métodos de la clase principal debe ser obligatoriamente main().Asimismo, un programa contendrá una serie de declaraciones import que permitirán incluir clases predefinidas. La estructura general sería la siguiente:

Lic. Felipe Rodríguez Ramírez 11/24

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 12/24

import paquete; //Declaración para importar clases incluidas en algún paquete class NombreClase { public static void main( String [] args) { /* Esta línea especifica un método que el intérprete Java busca para ejecutar en primer

lugar, public significa que el método main puede ser llamado por cualquiera, incluyendo el intérprete Java, static es una palabra clave que le dice al compilador que main se refiere a la clase principal y no a ninguna instancia de la clase. De esta forma, si alguien intenta hacer otra instancia de la clase, el método main no se instanciaría, void indica que main no devuelve nada. Esto es importante ya que Java realiza una estricta comprobación de tipos, incluyendo los tipos que se ha declarado que devuelven los métodos. args[] es la declaración de un array de Strings. Estos son los argumentos escritos tras el nombre de la clase en la línea de comandos:

*/ //Declaraciones locales; Sentencias; } // Definiciones de otros métodos dentro de la clase static tipo func1(…) { } static tipo func2(…) { } } Una mínima aplicación en java La aplicación más pequeña posible es la que simplemente imprime un mensaje en la pantalla. Tradicionalmente, el mensaje suele ser "Hola Mundo". Esto es justamente lo que hace el siguiente fragmento de código: // Aplicación HolaMundo class HolaMundo { public static void main( String[ ] args ) { System.out.println("\n*********HOLA MUNDO BIENVENIDO A JAVA*******"); } // cierra main } // cierra clase Este ejemplo necesita una pequeña explicación.

• Todo en Java está dentro de una clase, incluyendo programas autónomos. • El código fuente se guarda en archivos con el mismo nombre que la clase que contienen y con

extensión “.java”. Una clase (class) declarada pública (public) debe seguir este convenio. En el ejemplo anterior, la clase es Hola, por lo que el código fuente debe guardarse en el fichero “Hola.java”

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 13/24

• El compilador genera un archivo de clase (con extensión “.class”) por cada una de las clases definidas en el archivo fuente.

• Los programas que se ejecutan de forma independiente y autónoma, deben contener el método ”main()”.

• La palabra reservada ”void” indica que el método main no devuelve nada. • El método main debe aceptar un array de objetos tipo String. Por acuerdo se referencia como

”args”, aunque puede emplearse cualquier otro identificador. • La palabra reservada ”static” indica que el método es un método de clase, asociado con la

clase en vez de a instancias de la misma. El método main debe ser estático o ‘’’de clase’’’. • La palabra reservada public significa que un método puede ser llamado desde otras clases, o

que la clase puede ser usada por clases fuera de la jerarquía de la propia clase. Otros tipos de acceso son ”private” o ”protected”.

• La utilidad de impresión (en pantalla por ejemplo) forma parte de la librería estándar de Java: la clase ‘’’System’’’ define un campo público estático llamado ‘’’out’’’. El objeto out es una instancia de ‘’’PrintStream’’’, que ofrece el método ‘’’println(String)’’’ para volcar datos en la pantalla (la salida estándar).

Aplicación HolaMundo Vamos ver en detalle la aplicación anterior, línea a línea. Esas líneas de código contienen los componentes mínimos para imprimir Hola Mundo en la pantalla. // // Aplicación HolaMundo Estas líneas son comentarios. class HolaMundo { Esta línea declara la clase HolaMundo. El nombre de la clase especificado en el archivo fuente se utiliza para crear un archivo nombredeclase.class en el directorio en el que se compila la aplicación. En nuestro caso, el compilador creará un archivo llamado HolaMundo.class. public static void main( String args[] ) { Como se comento toda clase debe contener el método main System.out.println("\n*********HOLA MUNDO BIENVENIDO A JAVA*******"); Esta es la funcionalidad de la aplicación. Esta línea muestra el uso de un nombre de clase y método. Se usa el método println() de la clase out que está en el paquete System. El método println() toma una cadena como argumento y la escribe en el stream de salida estándar; en este caso, la ventana donde se lanza la aplicación. } //cierra main } //cierra clase Finalmente, se cierran las llaves que limitan el método main() y la clase HolaMundoApp. Compilacion y Ejecucion de HolaMundo Archivos Fuente Java Se deberá construir usando cualquier editor de texto ascii por ejemplo el Bloc de notas de windows y se deberá grabar en un nuevo archivo con el nombre de la clase (HolaMundo) y la

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 14/24

extensión .java. Respetar mayusculas y minusculas que se hayan puesto en la clase, tener cuidado si utiliza notepad porque en ocasiones lo graba como holamundo.java.txt si esto sucede no se puede compilar o sdk informa que no lo encuentra, en notepad seleccionar tipo=all files o irse a msdos y renombrarlo a .java solamente. Compilación El compilador javac se encuentra en el directorio bin por debajo del directorio java, donde se haya instalado el JDK. Este directorio bin, si se han seguido las instrucciones de instalación, debería formar parte de la variable de entorno PATH del sistema. Si no es así, tendría que revisar la Instalación del JDK. El compilador de Java traslada el código fuente Java a byte-codes, que son los componentes que entiende la Máquina Virtual Java. Una vez creado el archivo fuente HolaMundoApp.java, se puede compilar con la línea siguiente:

c:\j2sdk1.4.0\misejemplos>javac HolaMundo.java observar que j2sdk1.4.0\misejemplos es el folder que contiene el archivo HolaMundo.java. javac es el compilador de java y lo que hace aparte de mostrar los errores que puede tener el programa es crear un nuevo archivo con extensión .class, es decir en este ejemplo en el folder ahora aparte de tener holamundo.java deberá haber un archivo llamado HolaMundo.class, que es el equivalente a los archivos.exe o executables de windows. Si no se han cometido errores al teclear ni se han tenido problemas con el path al archivo fuente ni al compilador, no debería aparecer mensaje alguno en la pantalla, y cuando vuelva a aparecer el prompt del sistema, se debería ver un archivo HolaMundoApp.class nuevo en el directorio donde se encuentra el archivo fuente.

Ejecución Para ejecutar la aplicación HolaMundoApp, hemos de recurrir al intérprete java, que también se encuentra en el directorio bin, bajo el directorio j2sdk1.4.0. Se ejecutará la aplicación con la línea siguiente

c:\j2sdk1.4.0\misejemplos>java HolaMundo Enseguida aparecera en pantalla la respuesta de Java con el mensaje que se mando a desplegar en este caso : HOLA MUNDO BIENVENIDO A JAVA (entre asteriscos). Problemas de compilación A continuación presentamos una lista de los errores más frecuentes que se presentan a la hora de compilar un archivo con código fuente Java, nos basaremos en errores provocados sobre nuestra mínima aplicación Java de la sección anterior, pero podría generalizarse sin demasiados problemas. Command not found No se ha establecido correctamente la variable PATH del sistema para el compilador javac. El compilador javac se encuentra en el directorio bin, que cuelga del directorio java, que cuelga del directorio donde se haya instalado el JDK (Java Development Kit). method printl(java.lang.String) not found in class java.io.PrintStream.

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 15/24

System.out.printl( "HolaMundo!); ^ Error tipográfico, el método es println no printl. Can´t find class HolaMundoApp Este es un error muy sutil. Generalmente significa que el nombre de la clase es distinto al del archivo que contiene el código fuente, con lo cual el archivo nombre_archivo.class que se genera es diferente del que cabría esperar. Por ejemplo, si en nuestro archivo de código fuente de nuestra aplicación HolaMundo.java colocamos en vez de la declaración actual de la clase HolaMundo, la línea: class Holamundo { se creará un archivo Holamundo.class, que es diferente del HolaMundo.class, que es el nombre esperado de la clase; la diferencia se encuentra en la a minúscula y mayúscula. Un problema muy comun al tiempo de ejecución es que java mande un mensaje de classnotfound, si esto pasa al querer ejecutar el programa, solo irse al prompt de msdos y escribir la orden: C:>SET CLASSPATH=.; Y volver a ejecutar el programa. Un código fuente Java sólo puede tener una clase con el modificador de acceso public. Si el modificador de la clase es public, el código fuente debe tener el mismo nombre que la clase. Un archivo fuente (*.java) puede contener más de una clase, pero sólo una puede ser public. CARACTERISTICAS DE PROGRAMAS O APLICACIONES EN CONSOLA 1.- Todos los programas en java son y empiezan con una clase. 2.- Todos los programas en java deben llevar un método principal, llamado main() quien es quien contiene el código normal del programa. 3.- La clase y el método main deben abrir y cerrar sus propias llaves {} 4.- Las instrucciones terminan con punto y coma (;) 5.- Java también es "case sensitive" es decir diferencía mayúsculas y minúsculas. Concepto de Clase Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan sobre esos datos. A estos datos y funciones pertenecientes a una clase se les denomina variables y métodos o funciones miembro. La programación orientada a objetos se basa en la programación de clases. Un programa se construye a partir de un conjunto de clases. Una vez definida e implementada una clase, es posible declarar elementos de esta clase de modo similar a como se declaran las variables del lenguaje (de los tipos primitivos int, double, String, …). Los elementos declarados de una clase se denominan objetos de la clase. De una única clase se pueden declarar o crear numerosos objetos. La clase es lo genérico: es el patrón o modelo para crear objetos. Cada objeto tiene sus propias copias de las variables miembro, con sus propios valores, en general distintos de los demás objetos de la clase. Las clases pueden tener variables static, que son propias de la clase y no de cada objeto

Fundamentos de Programación Java

ENTRADA Y SALIDA EN JAVA

Entradas y salidas de datos son las tareas más comunes en cualquier lenguaje de programación. En Java la entrada y la salida se lee y escribe en flujos (streams). La fuente básica de entrada de datos es el teclado y la fuente de salida de datos es la pantalla. La clase System define dos referencias a objetos static para la gestion de la entrada y la salida por consola:

System.in para entrada por el teclado

System.out para salida por pantalla

El primero es una referencia a un objeto de la clase BufferedInputStream en la cual hay diversos métodos para poder captar caracteres tecleados. El segundo es una referencia a un objeto de la clase PrintStream con métodos como:

print( ) Transfiere una cadena de caracteres al buffer de la pantalla.

println( ) Transfiere una cadena de caracteres y el carácter de fin de línea alal buffer de la pantalla.

Con respecto a la entrada de datos los elementos básicos de este flujo son caracteres individuales, no cadenas como ocurre con el objeto out. Entre los métodos de la clase se encuentra read( ), que devuelve el carácter actual en el buffer de entrada.

No resulta practico el captar la entrada carácter a carácter, es preferible hacerlo línea a línea. Para ello se utilza la clase InputStreamReader, de la que se crea un objeto inicializado con System.in, este objeto que se crea se utiliza a su vez como argumento para inicalizar otro objeto de la clase BufferedReader, que ya permite captar líneas de caracteres del teclado con el método readLine ();

En el siguiente ejemplo se muestra la entrada de datos utilizando lo que se ha descrito.

Programa ejemplo:

import java.io.*; class prog1 { public static void main(String[] args) throws IOException { // declarando variables a usar int edad = 0; String nom=""; // creando un objeto llamado teclado especializado en capturas BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in)); // capturando datos System.out.println("dame nombre: "); nom=teclado.readLine(); System.out.println("dame edad: "); edad = Integer.parseInt(teclado.readLine()); // convirtiendo a meses

Lic. Felipe Rodríguez Ramírez 16/24

Fundamentos de Programación Java

edad =edad * 12; System.out.println(nom+" tu tienes "+edad +" meses"); } // cierra main } // cierra clase En java, generalmente todo se maneja mediante objetos, primero se esta creando un objeto llamado teclado que tenga capacidad de leer una string, desde el dispositivo de entrada estandar (teclado o System.in). Se esta usando la instruccion System.out.println(string); para mandar mensajes al usuario Se esta usando el metodo readline() que tiene el objeto teclado, para leer la string del teclado fisico. Se esta usando Integer.parseInt, , para convertir la string a una variable numérica. Entrada y Salida con Cuadros de dialogo // Imprimir varias líneas de texto en un cuadro de diálogo. // paquetes de Java import javax.swing.JOptionPane; // el programa usa JOptionPane public class Bienvenido4 { // el método main empieza la ejecución de la aplicación de Java public static void main( String args[] ) { JOptionPane.showMessageDialog( null, "Bienvenido\na\nla programacion\nen Java!" ); System.exit( 0 ); // terminar la aplicación con la ventana } // fin del método main } Instrucciones de control de programa permiten alterar la secuencia normal de ejecución de un programa. Estas instrucciones se dividen en tres grandes categorías: 1.- Instrucciones Condicionales que en java se implementan con las instrucciones

• if y switch. b) Instrucciones de ciclos con

• for • while • do...while

INSTRUCCIONES CONDICIONALES JAVA Una de las mas poderosas características de cualquier computador es la capacidad que tiene de tomar decisiones. Es decir al comparar dos alternativas diferentes el computador puede tomar una decisión basándose en la evaluación que hace de alguna condición. ejemplo de instrucciones condicionales:

si sueldo > 3000 desplegar rico si no desplegar pobre Fin-si

Lic. Felipe Rodríguez Ramírez 17/24

Fundamentos de Programación Java

Lic. Felipe Rodríguez Ramírez 18/24

si sexo = 'm' imprime mujer si no imprime hombre Fin-si

De los ejemplos observar que los caminos a seguir por el computador dependerán de la evaluación que el computador hace con y de la condición. Todo lenguaje de programación debe tener instrucciones que permitan formar condiciones e instrucciones que pueden evaluar esas condiciones. Cuando la computadora evalúa una condición el resultado de esa evaluación solo es evaluado de dos maneras o la condición es CIERTA o la condición es FALSA. Esto dependerá del valor que tenga asignado o que se haya capturado para la variable que esta en la condición, por ejemplo si se capturo 6000 en sueldo en el ejemplo a) entonces el computador indicaría que la condición es CIERTA pero en otro caso si a la variable sueldo primero se le asigno un valor de 250 entonces el computador indicaría que la condición es FALSA. Ya dependiendo del resultado de la evaluación, el computador ejecuta las instrucciones contenidas en el grupo de cierto o falso respectivamente. Empezaremos el análisis por la CONDICIÓN. CONDICIONES SIMPLES JAVA Una condición simple se define como el conjunto de variables y/o constantes unidas por los llamados operadores relaciónales. INSTRUCCIÓN IF JAVA Es la instrucción condicional mas usada en los diversos lenguajes de programación, su formato completo y de trabajo en java es:

cargar o asignar la variable de condición; if (condición) { grupo cierto de instrucciones;} else { grupo falso de instrucciones; }; Notas.- Observar donde van y donde no van los puntos y comas; - La condición va entre paréntesis ; - Si un if no ocupa un grupo falso de instrucciones entonces no se pone el else, y la llave antes del else si terminaría con punto y coma. Ejemplo: Prog2.java

import java.io.*; class prog2 { public static void main(String[] args) { // declarando variables a usar int sueldo = 0; // creando un objeto llamado teclado especializado en capturas BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));

Fundamentos de Programación Java

// capturando datos try { System.out.println("dame sueldo: "); sueldo = Integer.parseInt(teclado.readLine()); } catch(IOException variablerror) {System.out.println("error de captura "); } if (sueldo >= 3000) { System.out.println("RICO ");} else { System.out.println("POBRE"); }; } // cierra main } // cierra clase

Recordar que es valido usar mas de una instrucción dentro del grupo cierto o falso del if. Prog3.java: ahora con strings

import java.io.*; class prog3 { public static void main(String[] args) { // declarando variables a usar String carrera=""; // creando un objeto llamado teclado especializado en capturas BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in)); // capturando datos try { System.out.println("dame carrera: "); carrera = teclado.readLine(); } catch(IOException variablerror) {System.out.println("error de captura "); } if ( carrera.compareTo("informatica") == 0 ) { System.out.println("INTELIGENTE ");} else { System.out.println("NORMAL"); }; // cierra if } // cierra main } // cierra clase

TAREAS PROGRAMACION JAVA 1.- Capturar un numero entero cualesquiera e informar si es o no es múltiplo de 4 ( recordar el operador mod(%), analizado en el tema de operadores aritméticos). 2.- Capturar los cinco datos mas importantes de un Empleado, incluyendo el sueldo diario y los días trabajados desplegarle su cheque semanal solo si ganó mas de $500.00 en la semana, en caso contrario desplegarle un bono de despensa semanal de $150.00. 3.- Capturar los datos mas importantes de un estudiante incluyendo tres calificaciones construir una boleta de calificaciones si el estudiante es de la carrera de medicina, en caso contrario construir una pantalla mas bonita todavia que despliega un oficio citando a los padres del estudiante a una platica amistosa con los maestros de la escuela. CONDICIONES COMPUESTAS JAVA

Lic. Felipe Rodríguez Ramírez 19/24

Fundamentos de Programación Java

En muchas ocasiones es necesario presentar mas de una condición para su evaluación al computador. Por ejemplo que el computador muestre la boleta de un alumno si este estudia la carrera de medicina y su promedio de calificaciones es mayor de 70. Una condición compuesta se define como dos o mas condiciones simples unidas por los llamados operadores lógicos. Los operadores lógicos que java reconoce son;

OPERADOR SIGNIFICADO

&& "Y" LOGICO

|| "O" LOGICO

! "NO" NEGACION

Ejemplo: if ( (sueldo > 1000 ) && ( sexo=='m') ) etc, etc, etc. Notas: Observar que cada condición simple lleva sus propios parentesis. Si la variable es de tipo string el dato va entre comillas("), pero si la variable es de tipo char el dato va entre apostrofes('). Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico "&&", las dos condiciones simples deben ser ciertas. Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico "||", basta con que una de las condiciones simples sea cierta. La cantidad total de casos

posibles cuando se unen dos o mas condiciones simples esta dada por la relación donde n = cantidad de condiciones, la primera mitad de ellos empieza en cierto y la segunda mitad en falso. Ejemplo, si formamos una condición compuesta con dos condiciones simples y el operador lógico

"y", la cantidad total de casos posibles serian , y se puede construir la siguiente tabla de verdad. Tabla de verdad con "y"

CONDICION1 CONDICION2 CONDICION1 Y CONDICION2

C C C

C F F

F C F

F F F

La evaluación final, se obtiene usando la regla anteriormente descrita para una condición compuesta, que contiene el operador "Y". Esta tabla significa lo siguiente; 1.- Cualquiera que sean la cantidad de datos procesados, siempre caerá en uno de estos cuatro casos generales. La tabla de verdad para una condición compuesta con "Or" es la siguiente;

Lic. Felipe Rodríguez Ramírez 20/24

Fundamentos de Programación Java

CONDICION1 CONDICION2 CONDICION1 OR CONDICION2

C C C

C F C

F C C

F F F

Construir una tabla de verdad para una condición compuesta de tres o mas condiciones simples, es también tarea sencilla, solo recordar que; 1.- La cantidad posible de casos es 2^n casos posibles, la mitad empiezan con Cierto y la otra mitad empiezan con Falso. 2.- Para evaluar esta condición triple primero se evalúan las dos primeras incluyendo su operador bajo las reglas ya descritas y luego se evalúa el resultado parcial contra la ultima condición y ultimo operador para obtener la evaluación final. TAREAS PROGRAMACION JAVA 1.- Construir un programa que capture un numero cualesquiera e informe si es o no es mayor de 50 y múltiplo de tres. ( solo escribir el mensaje de respuesta de manera muy clara y esto resuelve el problema ) 3.- Capturar los datos de un producto incluyendo su cantidad en existencia, desplegar una orden de compra si la cantidad en existencia del producto es menor que el punto de reorden, o si el origen del producto es nacional. 4.- Construir un programa que capture los datos de un empleado, desplegar su cheque semanal si gana mas de $500.00 y si esta en el departamento de producción, en caso contrario desplegarle un bono de despensa del 25% de su sueldo semanal INSTRUCCIÓN SWITCH También existen ocasiones o programas donde se exige evaluar muchas condiciones a la vez, en estos casos o se usa una condición compuesta muy grande o se debe intentar convertir el problema a uno que se pueda resolver usando la instrucción SWITCH. Esta instrucción es una instrucción de decisión múltiple donde el compilador prueba o busca el valor contenido en una variable ENTERA o CHARACTER contra una lista de constantes apropiadas, es decir enteras, character, cuando el computador encuentra el valor de igualdad entre variable y constante entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un default, aunque este ultimo es opcional. El formato de esta instrucción es el siguiente;

switch(var OPCION) { case const1: instrucción(es); break; case const2: instrucción(es); break; case const3: instrucción(es); break; ..................

Lic. Felipe Rodríguez Ramírez 21/24

Fundamentos de Programación Java

default: instrucción(es); }

prog4.java

import java.io.*; class prog4 { public static void main(String[] args) { // declarando variables a usar char letra=' '; // creando un objeto llamado teclado especializado en capturas BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in)); // capturando datos try { System.out.println("dame una letra : "); letra= teclado.readLine().charAt(0); } catch(IOException variablerror) {System.out.println("error de captura "); } switch(letra) { case 'a': System.out.println("aguila ");break; case 'b': case 'B': System.out.println("becerro ");break; case 'c': System.out.println("caballo "); break; default: System.out.println("no hay "); } } // cierra main } // cierra clase

CICLO FOR Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta. Su formato general es: for (inicialización; condición; incremento) { instrucción(es); }; En su forma simple la inicialización es una instrucción de asignación que carga una variable de control de ciclo con un valor inicial. La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo. El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo. Se deben separar esos 3 argumentos con punto y coma ; EJEMPLO Codigo prog7.java

Lic. Felipe Rodríguez Ramírez 22/24

Fundamentos de Programación Java

import java.lang.*; import java.io.*; class prog7 { public static void main(String[] args) { // ciclo for for(int x=1; x<=5; x++) { System.out.println(x+" MAMA" + '\n'); }; } // cierra main } // cierra clase

Casos Particulares del ciclo for: 1.- El ciclo comienza en uno y se incrementa de uno en uno este es el caso mas general. 2.- Pero el valor inicial puede se diferente de uno, ejemplo; for(x=5;x<=15;x=x+1){ etc.}; 3.- Incluso el valor inicial puede ser negativo, ejemplo; for (x = -3 ;x<= 8; x=x+1) { etc.}; 4.- Los incrementos también pueden ser diferentes al de uno en uno, ej.; for (x=1; x<= 20; x=x+3){ etc. }; 5.- Incluso pueden ser decrementos, solo que en este caso, recordar; 5.1.-el valor inicial de la variable debe ser mayor que el valor final. 5.2.-cambiar el sentido de la condición. Ejemplo: for (x= 50 ; x >= 10; x= x-4 ) { etcétera };

CICLO WHILE JAVA En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina. Su formato general es : cargar o inicializar variable de condición; while(condición) { grupo cierto de instrucciones; instrucción(es) para salir del ciclo; }; Un error muy comun con el while, es poner un punto y coma(;) despues de la (condición) ejemplo while(condicion); <--esto es y causa un error. Prog8.java

import java.lang.*; import java.io.*; class prog8 { public static void main(String[] args) { // ciclo for int x=1; while ( x<=5 ) { System.out.println(x+" PAPA" + '\n'); x++; }; } // cierra main

Lic. Felipe Rodríguez Ramírez 23/24

Fundamentos de Programación Java

} // cierra clase

While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que existan 2 de rompimiento o terminación de ciclo. El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones. La condición puede ser simple o compuesta. Los casos generales de for tambien se aplican a while. A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones. CICLO DO WHILE JAVA Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición. También se le conoce por esta razón como ciclo de condición de salida. Su formato general es : cargar o inicializar variable de condición; do { grupo cierto de instrucción(es); instrucción(es) de rompimiento de ciclo; } while (condición); prog9.java

import java.io.*; class prog9 { public static void main(String[] args) { // ciclo for int x=1; do { System.out.println(x+" HIJO" + '\n'); x++; } while (x<=5) ; } // cierra main } // cierra clase

Otra diferencia básica con el ciclo while es que, aunque la condición sea falsa desde un principio el cuerpo de instrucciones se ejecutara por lo menos una vez. CONCLUSIONES ACERCA DE CICLOS JAVA Dado un problema cualquiera cual ciclo se debe usar: Si se conoce la cantidad exacta de veces que se quiere que se ejecute el ciclo o si el programa de alguna manera puede calcularla usar for. Si se desconoce la cantidad de veces a repetir el ciclo o se quiere mayor control sobre la salida o terminación del mismo entonces usar while. Si se quiere que al menos una vez se ejecute el ciclo entonces usar do while.

Lic. Felipe Rodríguez Ramírez 24/24