adentrándonos a la programación - universidad veracruzana · 2015-03-04 · receta de cocina...

38
Adentrándonos a la Programación Definición de Algoritmo Es un conjunto pre-escrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. En otras palabras un algoritmo consta de tres fases, una entrada, un proceso y una salida. A estas fases también se les suele conocer como módulos en donde un algoritmo consta de tres módulos siendo: Módulo1: representa la operación o acción para ingresar los datos o variables al problema. Módulo2: representa a la operación o conjunto de operaciones secuenciales que permitan solucionar el problema. Módulo3: representa la operación para comunicar al exterior los resultados alcanzados GUÍA DE CLASE - PROGRAMACIÓN 7

Upload: others

Post on 12-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Adentrándonos a la Programación

Definición de Algoritmo

Es un conjunto pre-escrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. En otras palabras un algoritmo consta de tres fases, una entrada, un proceso y una salida.

!

A estas fases también se les suele conocer como módulos en donde un algoritmo consta de tres módulos siendo:

Módulo1: representa la operación o acción para ingresar los datos o variables al problema. Módulo2: representa a la operación o conjunto de operaciones secuenciales que permitan solucionar el problema.Módulo3: representa la operación para comunicar al exterior los resultados alcanzados

!

GUÍA DE CLASE - PROGRAMACIÓN �7

Page 2: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Las propiedades que presenta un algoritmo son:Finitud: Número finito de pasos.Definibilidad: Cada paso definido de un modo preciso.Conjunto de entradas: Datos iniciales del algoritmo.Conjunto de Salidas: Respuesta que obtenemos del algoritmo.Efectividad: Las operaciones a realizar deben ser lo más básicas posibles para que el procesador pueda realizarlas de modo exacto y en tiempo finito.

Por lo tanto llamamos “algoritmo” al conjunto finito y ordenado de acciones con las que podemos resolver un determinado problema. Llamamos “problema” a una situación que se nos presenta y que, mediante la aplicación de un algoritmo, pretendemos resolver.

Los algoritmos están presentes en nuestra vida cotidiana y, aún sin saberlo, aplicamos algoritmos cada vez que se nos presenta un problema sin importar cuál sea su grado de complejidad. Por ello los aplicamos de manera inadvertida, inconscientemente o automáticamente. Esto se da generalmente debido a que ese problema lo conocemos y lo hemos resuelto con anterioridad un gran número de veces.

Por lo tanto podemos resumir con lo siguiente:Un Algoritmo describe el método para realizar una tarea.Es una secuencia de instrucciones que, ejecutadas adecuadamente, dan lugar al resultado deseado.Ejemplo de algoritmos no pertenecientes al área de programación:

Planos de una casaProcedimiento de una lavadoraReceta de cocina

Diagramas de Flujo

Es la representación gráfica de los algoritmos, usan símbolos conectados con flechas para indicar la secuencia de instrucciones y estos símbolos están regidos por la normatividad ISO(International Organization for Standardization) y la ANSI (American National Standards Institute).

GUÍA DE CLASE - PROGRAMACIÓN �8

Page 3: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Los símbolos utilizados para representar estos algoritmos son usados a nivel internacional, siendo los que se muestran a continuación:

!Las reglas de los diagramas de flujo son:

1. Todo Diagrama de flujo debe tener n inicio y un fin.2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser

rectas, verticales y horizontales.3. Todas las líneas utilizadas para indicar la dirección del flujo del diagrama deben

estar conectadas a un símbolo.

GUÍA DE CLASE - PROGRAMACIÓN �9

Page 4: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

4. El diagrama se construye de arriba hacia abajo.5. La notación utilizada debe ser independiente al lenguaje de programación.6. Es conveniente poner comentarios que ayuden a comprender lo realizado.7. Si el diagrama es muy extenso, se debe usar conectores para cambiar de pagina y

enumerar las hojas.8. No puede llegar más de una línea a un símbolo.

Pseudocódigo

Es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar.

!

Programación Orientada a Objetos

Cuando hablamos de Programación Orientada a Objetos (POO), nos referimos al paradigma de programación más utilizado en el mundo, esto es cuando nos referimos al área del desarrollo de software. Este paradigma se enfatiza en los datos, esto es en la información que vamos a procesar.

Un paradigma orientado a objetos tiene la característica de estar estructurado por clases y objetos. Una clase es una especie de estructura que agrupa datos y funciones. Un objeto es una variable cuyo tipo de dos es una clase.

Algo que debemos tener claro para poder realizar un correcto diseño de nuestros algoritmos orientados a objetos es que los programas se organizan a imagen y semejanza de la organización de objetos del mundo real.

Int  X  =  0;  Int  Y  =2;  

Int  Suma  =  0;  Etiqueta  A  

If  (X  <  5);  Entonces     Suma  =  X  +  Y;  

  X  =  X  +1;     Regresa  a  Etiqueta  A

GUÍA DE CLASE - PROGRAMACIÓN �10

Page 5: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Los objetos poseen:Propiedades o atributosMétodos

Un mecanismo importante de la POO, son las clases y los objetos que están contenidos dentro de ellas, por eso se dice que un objeto es la instancia de una clase.

Un programa orientado a objetos se compone únicamente de objetos, siendo que cada uno de ellos es una entidad que tiene propiedades particulares, atributos y métodos. Por ejemplo, una página Web es un objeto, tiene color de fondo, anchura, altura, etc. (propiedades y atributos) y las rutinas que ejecuta el usuario de cerrar, abrir, recorrer, etc. son los métodos.

!

Datos

Método

Método

Datos

Método

Método

Datos

Método

Método

Objeto Objeto

Objeto

Organización de un programa orientado a objetos

GUÍA DE CLASE - PROGRAMACIÓN �11

Page 6: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Cuando se ejecuta un programa orientado a objetos, los objetos están recibiendo, interpretando y respondiendo mensajes de otros objetos y por lo tanto ejecutando métodos asociados con el objeto.

Los métodos se escriben en una clase de objetos y determinan como tiene que actuar el objeto cuando recibe el mensaje vinculado con ese método. A su vez, un método puede enviar mensajes a otros objetos, solicitando una interacción con el método de otro objeto.

Cuando escribimos un algoritmo en un paradigma orientado a objetos lo que hacemos realmente es diseñar un conjunto de clases, desde las cuales se crearán los objetos necesarios cuando el programa se ejecute. La estructura más interna de un objeto queda oculta para los usuarios, como si fuera una caja negra, la cual mantiene la integridad del objeto, esto hace que el usuario solamente mantenga contacto con el programa a través de mensajes emitidos por el objeto.

Propiedades fundamentales de la Programación Orientada a Objetos

Las principales propiedades del paradigma orientado a objetos son:AbstracciónEncapsulado de datosOcultación de datosHerenciaPolimorfismo

GUÍA DE CLASE - PROGRAMACIÓN �12

Page 7: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

JavaIntroducción

Historia de Java

Sun Microsystems creo el lenguaje Java en un intento por resolver simultáneamente todos los problemas que se planteaban a los desarrolladores de software por la proliferación de arquitecturas incompatibles, tanto entre las diferentes maquinas como entre los diversos sistemas operativos y sistemas de ventanas que funcionan sobre una misma máquina, añadiendo la dificultad de crear aplicaciones distribuidas en una red como Internet.

El lenguaje de programación Java (llamado inicialmente Oak) se originó en 1991 como parte de un proyecto de investigación para desarrollar un lenguaje capaz de romper el vacío de comunicación existente entre muchos productos electrónicos de consumo general, como los hornos de microondas, las televisiones y las videograbadoras. Dado que el concepto original falló, el equipo de programadores que diseñó este lenguaje (conocido formalmente como el Green Team) se vio obligado a encontrarle otro uso.

Afortunadamente el world wide web comenzó a ser más popular y el lenguaje Oak probó ser ideal para desarrollar pequeños componentes que permitieran enriquecer con multimedia el contenido de las páginas de Internet. Estas pequeñas aplicaciones conocidas hoy en día como applets, se convirtieron en la punta de lanza de lo que en breve sería el lenguaje de programación más usado del mundo.

En 1995 Sun Microsystems lanza al mercado la tecnología de programación Java, promoviéndola como la primera plataforma de software universal bajo el eslogan “Write Once, Run Anywhere”.

Principales Características de Java

Simple: Se diseño para ser parecido a C++ para facilitar su aprendizaje, añade un reciclador de memoria dinámica, lo que hace que no sea necesario preocuparse por ello. Reduce en un 50% los errores más comunes de programación con lenguajes como C y C++.

GUÍA DE CLASE - PROGRAMACIÓN �13

Page 8: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Orientado a Objetos: Trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a objeto: encapsulación, herencia y polimorfismo. Las plantillas de los objetos son llamadas clases y sus copias instancias.

Distribuido: En si no es distribuido, sino que proporciona las librerías y herramientas para que los programas puedan ser distribuidos, es decir, que se ejecuten en varias maquinas.

Robusto: Realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución. Obliga a la declaración explícita de métodos, rediciendo así las posibilidades de error.

Arquitectura neutral: El compilador Java compila su código a un fichero objeto en formato independiente de la arquitectura de la máquina en que se ejecutará, por lo que cualquier maquina sin importar su S.O. que tenga el sistema de ejecución (run-time) puede ejecutar este objeto.

Seguro: El código Java pasa por muchas comprobaciones antes de ejecutarse en una maquina, así como pasa por un verificador de ByteCode, el cual comprueba el formato de los fragmentos de código para detectar código ilegal (punteros falsos, violación de derechos de acceso, intentar cambiar el tipo de clase de un objeto). Además, cuenta con un Cargador de Clases, el cual separa los archivos locales de los procedentes de la red. En el caso de los Applets, Java imposibilita el abrir archivos locales.

Portable: Mas allá de ser una arquitectura independiente, implementa otros estándares de portabilidad para facilitar el desarrollo. Interpretado: Su intérprete (sistema run-time), puede ejecutar directamente el código objeto, dado que enlazar un programa consume menos recursos que compilarlo.

Multitarea o Multihilo: Permite realizar muchas actividades simultáneas en un programa, su beneficio es en tener un mejor rendimiento interactivo y mejor comportamiento en termino real.

GUÍA DE CLASE - PROGRAMACIÓN �14

Page 9: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Dinámico: Al usar la programación orientada a objetos, no carga todos los módulos al momento de ejecución, si no que los carga conforme son requeridos.

Difundido: En la actualidad es el lenguaje más utilizado, lo que hace que sea fácil encontrar documentación en línea, ejemplos y muchos otros recursos referentes al lenguaje.

Tarea 1: Investigación historia Java.Elaborar un resumen que contenga los orígenes de Java, principales características, así como un cuadro donde se muestren los diferentes tipos de variables.

Como Instalar Java

1. Identifica tu Sistema Operativo (S.O.) y su versión (32 o 64 bits)2. Ir a la página de Oracle y descargar la última versión de Java JDK Standard Edition, en

este momento la versión es JDK SE 8u25 para el sistema operativo que te corresponda ya sea Windows, Linux, Mac o Solaris, recuerda que es muy importante conocer si la versión de tu S.O. es de 32 o 64 bits. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?ssSourceSiteId=otnes

!3. Antes de poder descargar tu versión de Java recuerda aceptar la licencia de JAVA SE.4. Una vez descargado seguir las instrucciones de instalación del JDK.

GUÍA DE CLASE - PROGRAMACIÓN �15

Page 10: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

5. Configurar las variables de entorno, para esto dar clic derecho en mi PC y en la pestaña de Propiedades del Sistema dar clic Variables de entorno.

6. Buscar la variable “Path” y le damos editar y le agregamos la siguiente línea ;C:\Program Files\Java\jdk1.6.0_21\bin

7. Buscamos la variable “Classpath”, si no está la creamos y le agregamos la siguiente línea ;C:\Program Files\Java\jdk1.6.0_25\src.zip

8. Verificamos que este correctamente instalado entrando a la linea de comandos CMD y escribimos el comando “java -version” y el comando “javac -version”, si ambos comandos corren bien y nos muestra la versión de Java instalada, entonces tendremos nuestra maquina virtual y compilador correctamente instalados.

Primer programa en Java

La primera aplicación sencilla y simple es la de “¡Hola Mundo!”, su código es el siguiente

!

Las primeras dos líneas son comentarios se distinguen por llevar //, este comentario es de tipo orientado a línea. La línea de “public class HolaMundo” especifica al archivo fuente que se utilizara un fichero HolaMundo.class, el cual será generado al compilar y no tener ningún error en el código.

El “public static void main(String[] args)”, especifica el método que el interprete Java busca para ejecutar en primer lugar.

El “public” significa que el método main() puede ser llamado por cualquiera.“Static”, es una palabra clave que le dice al compilador que main() se refiere a su propia clase HolaMundo y no a ninguna instancia de la clase.

//Ejemplo  de  aplicación  Hola  Mundo  //  public  class  HolaMundo{     public  static  void  main(String  args[])  {       System.out.println("¡Hola  Mundo!");     }  }

GUÍA DE CLASE - PROGRAMACIÓN �16

Page 11: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

“Void” significa es un método que no devuelve nada.“main” significa que es el método principal (ojo todo programa de Java debe tener un método main)Y por último “args[]” es la declaración de un array de Strings.

Se usa el método println() de la clase out que está ubicada en el paquete System.

Compilación y Ejecución

El compilador javac se encuentra en el directorio bin, de la carpeta donde se ubique el JDK, el cual para no tener problemas de compilación debe de estar declarado en la variable de entorno “path” del sistema operativo.

Una vez creado el archivo fuente, en la línea de comandos se puede compilar con el comando:

Javac nombrearchivo.java

En el caso del programa de Hola Mundo quedaría así:

javac HolaMundo.java

Si no hay errores, el compilador creará un archivo con extensión .class en el mismo directorio donde se encuentra el archivo fuente. En caso que se muestren errores, el compilador mostrará en donde se encuentran para poder corregirlos.

Para ejecutar el programa, desde la línea de comandos se escribe el comando:

java nombrearchivo

En el caso del programa de Hola Mundo quedaría así:

java HolaMundo

GUÍA DE CLASE - PROGRAMACIÓN �17

Page 12: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Actividad de Clase1.- Verificar que se tenga instalado Java en el equipo que se este utilizando2.- Si se encuentra instalado anotar la versión de Java instalada3.- Identificar el Sistema Operativo y versión del S.O.4.- ¿Cómo ingresas a la linea de comandos en Windows?5.- ¿Cuál es el comando para compilar un programa en Java?6.-¿Cuál es el comando para ejecutar un programa en Java?7.- Si el código no tiene errores, ¿Cuál es la extensión del archivo generado por el compilador?8.- Cual es el editor utilizado para crear códigos en Java9.- ¿Que pasa cuando el compilador te marca un error en tu código, y lo ejecutas?, ¿Qué mensaje de marca la consola?10.- Elaborar los siguientes códigos en Java, primero hay que hacerlos en papel y después pasarlos a la computadora.

Mostrar el mensaje de “Hola Mundo”Mostrar pantalla la matricula y nombre del alumno.Mostrar las materias que estas cursando.

Conceptos básicos

Objeto: es una instanciación de una clase y tiene un estado y un funcionamiento. El estado está contenido en sus variables y está determinado por sus métodos.

Clase: Todo en Java forma parte de una Clase, las acciones de los programas se colocan dentro del bloque de una clase o un Objeto, el cual es una instancia de una clase y todos los métodos se definen dentro del bloque de la clase.

Método: Son funciones que pueden ser llamadas dentro de la clase o por otras clases. Consta de dos partes, una declaración y un cuerpo. Si no retorna ningún valor se declara de tipo Void, pero si retorna algún valor debe declararse de ese tipo de valor y para devolver ese valor se utiliza la palabra clave “return();”

GUÍA DE CLASE - PROGRAMACIÓN �18

Page 13: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Subclase: Cuando se pueden crear nuevas clases por herencia de clases ya existentes, las nuevas clases se llaman subclases, mientras que las clases de donde hereda se llama superclases. Cualquier objeto de la subclase contiene todas las variables y todos los métodos de la superclase y sus antecesores.

Constructor: Es un método en especifico que siempre tiene el mismo nombre que la clase y se utiliza para construir objetos de esa clase. No tiene tipo de dato específico de retorno, ni siquiera void, esto es, porque un constructor de clase devuelve a su misma clase. Su función principal es inicializar el nuevo objeto que se instancia de la clase.

Tipos de Clases

Public: son accesibles desde otras clases, ya sea directamente o por herencia, para acceder a ellas desde otros paquetes, primero se tienen que importar.

Abstract: son aquellas que cuentan con un método abstracto, las cuales no se instancian, sino que se utiliza como clase base para la herencia.

Final: Cuando se usan herencias, esta clase se utiliza para definir donde termina la cadena de herencias.

Synchronizable: especifica que todos los métodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintas tareas.

Uso de Comentarios

En java existen tres tipos de comentarios// comentarios para una sola línea/* Texto */ comentarios de una o más líneas/** Texto */ comentario de documentación para una o más líneas, usado también para generar automáticamente la documentación del programa con el comando “javadoc”

GUÍA DE CLASE - PROGRAMACIÓN �19

Page 14: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Palabras Reservadas

!Cabe hacer notar que aunque las palabras const y goto están reservadas, no se utilizan. Adicionalmente, Java emplea los nombres (los cuales tampoco pueden utilizarse como propios):

true,false ynull

Espacios en blanco

En Java, un espacio entre dos palabras, un tabulador o un carácter de nueva línea sonconsiderados un espacio en blanco. Los espacios en blanco son obligatorios únicamente para delimitar elementos del código que no están separados de antemano por algún operador o separador válido.

Así, técnicamente hablando (aunque no es lo más recomendable) podríamos tener todo un código escrito en una sola línea o dividido en centenares de ellas.

GUÍA DE CLASE - PROGRAMACIÓN �20

Page 15: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

!

Es inválido sin embargo dividir identificadores, palabras reservadas o cadenas literales con caracteres de nueva línea; lo siguiente por ejemplo causaría un error de compilación:

!

Para separar una cadena literal en dos líneas, coloque una diagonal invertida ( \ ) antes del carácter de nueva línea de la siguiente forma:

!

Práctica #1: Primer aplicación en Java

if  (i  >  5)  System.out.println(“Y  es  mayor  que  5”);  

Es  exactamente  lo  mismo  que:  

if(i>5)System.out.println(“Y  es  mayor  que  5”);  

Y  que:  

if(  i>  5)  System.  out.println  (“Y  es  mayor  que  5”  )  ;

System.out.println(“Y  es  mayor  que  5”);

System.out.println(“Y  es  mayor\  que  5”);

GUÍA DE CLASE - PROGRAMACIÓN �21

Page 16: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Identificadores

Los identificadores nombran variables, funciones, clases, y objetos; cualquier cosa que queramos identificar o usar. Se caracterizan por comenzar con una letra, guión bajo (_) o un símbolo de peso ($), de ahí los siguientes caracteres pueden ser letras o dígitos. Se distinguen mayúsculas y minúsculas y no hay longitud máxima.

!

Tipos de Valores

En Java se utilizan cinco tipos de elementos:Enteros, almacenan datos numéricos que no contienen punto decimal: byte (8bits), short (16 bits), int 32( bits), long (64 bits).Reales o punto flotante, almacenan datos numéricos que contienen punto decimal: float (32 bits), doublé (64 bits). Booleanos o lógicos: True, False.Caracteres: charCadenas: String

Para almacenar más de un carácter se usan las variables de tipo String. Se recomienda (cuando la longitud del valor lo permita) utilizar el tipo double para números reales o de punto flotante y el tipo int para los enteros.

Separadores

Los separadores definen la forma y función del código, los admitidos en Java son:( ) Paréntesis: Para contener listas de parámetros, llamada a métodos, definir precedencia de expresiones, contener expresiones para el control de flujo.

Ejemplo:  tipo  identificador  [=  valor],  [identificador  [=  valor]];  int  variable;  char  nombre,  apellido_paterno;  float  $cantidad;

GUÍA DE CLASE - PROGRAMACIÓN �22

Page 17: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

{ } Llaves: Para contener los valores de matrices inicializadas automáticamente, definir un bloque de código, clases, métodos y ámbitos locales.[ ] Corchetes: Para declarar tipos matriz y cuando se hace referencia a valores de una matriz.; Punto y coma: Separa sentencias., Coma: Separa identificadores consecutivos en la declaración de variables, para encadenar sentencias dentro de un for.. Punto: Para separar nombres de paquetes, subpaquetes, clases, además de separar una variable o método de una variable de referencia.

Operadores

Operadores Aritméticos

+ Suma (también utilizado para concatenar cadenas)- Resta* Multiplicación/ División% Modulo (obtiene el residuo de una división)

Operadores Unarios

+ Valor Positivo- Valor Negativo++ Suma 1 al operando-- Resta 1 al operando

Operadores Relacionales y Condicionales

> El operando izquierdo es mayor que el derecho>= El operando izquierdo es mayor o igual que el derecho< El operando izquierdo es menor que el derecho<= El operando izquierdo es menor o igual que el derecho== El operando izquierdo es igual que el derecho!= El operando izquierdo es distinto que el derecho&& Ambas expresiones son verdaderas, también conocido como AND

GUÍA DE CLASE - PROGRAMACIÓN �23

Page 18: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

|| Alguna de las expresiones es verdadera, también conocido como OR! La expresión de la derecha es false

Operadores a nivel de Bits

Operadores de Asignación

Son operadores compuestos de otros operadores para realizar la operación deseada y luego asignar el valor obtenido al operando situado a la izquierda del operador de asignación, de este modo se pueden hacer dos operaciones con un solo operador.

+=-=*=/=

%=&=|=^=

GUÍA DE CLASE - PROGRAMACIÓN �24

Page 19: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Operador Ternario if - then - else

La forma general de este operador es la siguiente:

Expresión ? sentencia1 : sentencia2

En donde Expresión puede ser cualquiera que nos de cómo resultado un valor booleano, en caso de ser verdadero ejecuta la sentencia1, y en caso de ser falso ejecutará la sentencia2.

!

Operadores Constantes

Java permite el uso de expresiones constantes, las cuales sirven para declarar datos desde un inicio que son constantes y que no van a variar, la forma de hacerlo es utilizando la palabra final antes de declarar una variable tal como se muestra:

final float PI = 3.1415926

class  EjemploTernario  {     public  static  void  main(  String  args[]  )  {       int  a  =  28;       int  b  =  4;       int  c  =  45;       int  d  =  0;       int  e  =  (b  ==  0)  ?  0  :  (a  /  b);       int  f  =  (d  ==  0)  ?  0  :  (c  /  d);       System.out.println(  "a  =  "  +  a  );       System.out.println(  "b  =  "  +  b  );       System.out.println(  "c  =  "  +  c  );       System.out.println(  "d  =  "  +  d  );       System.out.println();       System.out.println(  "a  /  b  =  "  +  e  );       System.out.println(  "c  /  d  =  "  +  f  );     }  }

GUÍA DE CLASE - PROGRAMACIÓN �25

Page 20: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Manejo de Arreglos

En java se pueden declarar arreglos de cualquier tipo e incluso arreglos de arreglos. Para declarar un arreglo se debe escribir la siguiente sintaxis:

!

No se pueden crear arreglos estáticos en tiempo de compilación: int lista[50]; //Generará un error en tiempo de compilación

Tampoco se puede rellenar un arreglo sin declarar el tamaño con el operador “new”: int lista[]; for (int i=o; i<9; i++) lista[i] = i;

Todos los arreglos en Java cuentan con el atributo “length”, el cual se utiliza para conocer la longitud del arreglo.

int a[][] = new int[10][3]; a.length; //10 a[0].length; //3

TipoElemento[]  =  nombreDelArreglo  =  new  TipoElemento[tamañoArreglo]  char  s[];    int  Arreglo[]  =  new  int[50];    int  Tabla[][]  =  new  int[4][5];  

Crear  un  arreglo  ya  con  variables    String  nombres  []  =  {“Juan”,”Pedro”,”Hugo”,”Luis”};    

Lo  que  es  equivalente  a:    String  nombres[];    nombres  =  new  String[4];  nombres[0]  =  new  String  (“Juan”);  nombres[1]  =  new  String  (“Pedro”);  nombres[2]  =  new  String  (“Hugo”);  nombres[4]  =  new  String  (“Luis”);

GUÍA DE CLASE - PROGRAMACIÓN �26

Page 21: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Práctica #2: Uso de Variables y Arreglos

Tarea 2: Responder a las preguntas y realizar los programas solicitados.1. ¿En línea de comandos, que comando hace posible cambiarnos de carpeta?2. ¿En línea de comandos, que comando hace posible ver los archivos y directorios que se encuentran en la carpeta en donde nos ubicamos?3. ¿Cómo se compila un programa en Java?4. ¿Cómo se ejecuta un programa en Java?5. Crear un programa que muestre en pantalla las preguntas anteriores con sus respectivas respuestas6. Crear un programa que guarde con un arreglo que imprima 10 números.7. Crear un programa que imprima en pantalla 15 comandos reservados de Java8. Crear un programa en el cual realicen las operaciones matemáticas de Suma, Resta, Multiplicación y División.9. Crea un programa en donde manejes el operador ternario

Uso de Clases

Declaración de una clase

Es recomendable crear un archivo de texto en donde declararemos una clase por cada objeto identificado en nuestro problema, aunque es posible declarar varios objetos dentro de un mismo archivo de texto.

  [Tipo  Clase]  class  nombreclase{       }    

Si declaramos más clases en el mismo documento en donde se encuentra nuestra clase principal, la sintaxis es la siguiente:

  class  nombreclase{       };    

En donde: [Tipo Clase] determinan la accesibilidad de otras clases a la clase que se está declarando, así como el comportamiento de su herencia. Todos son opcionales y por el momento se empleará public.

GUÍA DE CLASE - PROGRAMACIÓN �27

Page 22: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

La palabra reservada class es obligatoria y le dice al compilador que el bloque de código siguiente es una declaración de clase. nombreclase será el nombre de la clase según las reglas vistas con anterioridad. Como se mencionó ya, el nombre de la clase debe coincidir exactamente con el nombre del archivo .java que la contiene. Las llaves de apertura y cierre ( { } ) delimitan el cuerpo de nuestra definición de clase. Todas las variables y métodos de la clase deberán ir encerrados en este bloque.

Declaración e inicialización de los atributos de una clase

Las variables de clase, conocidas formalmente como atributos, se colocan después de la llave de apertura de la clase. Como cualquier tipo de variable, los atributos se utilizan para almacenar y recuperar datos en nuestros programas.

Los atributos deben colocarse de manera obligatoria afuera de cualquier método. También se les conoce como variables miembro o variables de instancia dado que cuando un objeto es instanciado, estas variables se encargarán de contener los datos específicos de cada objeto creado (en otras palabras, habrá una copia de ellas por objeto). Aunque inicialmente todas las variables miembro de un objeto contendrán el mismo valor, esto podrá cambiar después.

La declaración e inicialización de los atributos de una clase tiene la siguiente sintaxis:

[modificadores]  tipo  variable  [=  valor];    

En donde: [modificadores] representan diversas palabras reservadas que definen la forma en que las variables de la clase son accedidos. Todos son opcionales y por ahora se empleará el modificador public. tipo representa el tipo de dato primitivo que la variable contendrá. Así, algunas variables contendrán números enteros, reales, caracteres o valores booleanos. variable será el nombre que se le asignará a la variable según las reglas vistas con anterioridad. valor será el valor que se desea asignar a la variable y es opcional.

GUÍA DE CLASE - PROGRAMACIÓN �28

Page 23: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

!

Es posible de hecho, declarar simultáneamente (e incluso inicializar) varios atributos del mismo tipo; para ello se emplea el separador coma con la siguiente sintaxis:

!

Declaración de los métodos de una clase

Los métodos siguen a los atributos de la clase; su sintaxis es la siguiente:

  [modificadores]  tipoderetorno  identificador([argumentos]){         bloque_de_instrucciones       }    

En donde: [modificadores] representan diversas palabras reservadas que definen la forma en que los métodos son accedidos. Todos son opcionales y por el momento se empleará public. tipoderetorno indica el tipo de valor que el método regresa (en caso de haberlo). Los valores retornados por un método pueden ser empleados por el método que los invoca y podrá ser a lo mucho uno. Si el método no retorna nada, la palabra clave void deberá usarse como tipo de retorno. identificador será el nombre del método según las reglas vistas con anterioridad. [argumentos] representa la lista de variables cuyos valores son pasados al método para que éste trabaje y son opcionales. Los paréntesis de apertura “( “ y cierre “ ) “ son obligatorios aún cuando el método no requiera ningún argumento.

public  int  shirtID  =  0;    public  char  colorCode  =  „G‟;    public  float  orderTotal;  

[modificadores]  tipo  identificador[=valor][,identificador2[=valor]…];    

public  String  Nombre,  Apellido,  Direccion;    public  int  contador=0,  total=1;  

GUÍA DE CLASE - PROGRAMACIÓN �29

Page 24: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

bloque_de_instrucciones será la lista de sentencias que el método ejecuta. Una gran variedad de tareas pueden realizarse en el bloque de código o cuerpo de un método. Así como en otros lenguajes de programación, podrán crearse tantos bloques de instrucciones internos como se desee o convenga. Las llaves de apertura y cierre ( { } ) delimitan el cuerpo de nuestro método.

!

Declaración, instanciamiento e inicialización de objetos

Normalmente todo programa en Java deberá emplear cuando menos un objeto. Para usar objetos debemos: 1. Definir la clase del objeto en un archivo fuente en donde se detallen sus atributos y métodos. 2. Definir la clase principal que usará el o los objetos creados. 3. Declarar, instanciar e inicializar los objetos en la clase principal. 4. Invocar sus métodos de las instancias creadas.

Tomemos por ejemplo el siguiente código Java en donde se define a una clase de objeto llamada Message:

public  void  mensaje(){     String  Mensaje  =  “Hola  a  todos!”;     imprimeMensaje(Mensaje);  }//Fin  del  método  mensaje  

public  void  imprimeMensaje(String  Mensaje){       System.out.println(Mensaje);    }//  Fin  del  método  imprimeMensaje  

GUÍA DE CLASE - PROGRAMACIÓN �30

Page 25: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

!

Como podemos notar, esta clase no tiene atributo alguno y únicamente cuenta con dos método llamados mensaje() e imprimeMensaje(), los cuales no retornan ningún valor, pero imprimeMensaje(String Mensaje) si recibe un valor.

Dado que esta clase no contiene un método main(), será imposible ejecutarla, únicamente podremos compilarla. Para usarla, deberemos crear una clase principal o de prueba que llamaremos MessageTest en donde crearemos una instancia del objeto de clase Message e invocaremos su único método:

!

En el código anterior notamos una sintaxis nueva en la tercera línea; ésta es la declaración, instanciamiento e inicialización de un objeto de clase Message. La sintaxis genérica es la siguiente:

  nombredeclase  identificador  =  new  nombredeclase();    

public  class  Message{     public  void  mensaje(){       String  Mensaje  =  “Hola  a  todos!”;       imprimeMensaje(Mensaje);     }//Fin  del  método  mensaje  

  public  void  imprimeMensaje(String  Mensaje){         System.out.println(Mensaje);       }//  Fin  del  método  imprimeMensaje    }

public  class  MessageTest{       public  static  void  main(String  args[]){         Message  myMessage  =  new  Message();         myMessage.printMessage();       }    }  

GUÍA DE CLASE - PROGRAMACIÓN �31

Page 26: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

En donde: nombredeclase representa el nombre de la clase de objeto a instanciar. identificador será el nombre que se le asignará a la instancia (también llamada referencia de objeto). new será la palabra clave encargada de instanciar un objeto empleando como plantilla a la clase especificada por nombredeclase.

Lo anterior puede realizarse también en dos líneas:

  nombredeclase  identificador;       identificador  =  new  nombredeclase();    

Para el caso anterior tendríamos:

  Message  myMessage;       myMessage  =  new  Message();    

Por último, analicemos la cuarta línea; aquí invocamos el método del objeto empleando una sintaxis genérica:

  identificadordeobjeto.identificadordemétodo();    

Dado que la sintaxis completa que se emplea para invocar un método varía considerablemente según la situación, se verá con detalle en un apartado más adelante.

Java no permite el uso de apuntadores por parte del programador, lo cual podría verse como una desventaja aunque en realidad es todo lo contrario, gracias a que no puede haber manipulación de memoria es imposible invadir entornos ajenos al de nuestras aplicaciones y por lo tanto la seguridad de nuestro sistema estará siempre garantizada.

Ejemplo del Elevador: Las principales funciones de un elevador son:

Subir Bajar Abrir Puerta

GUÍA DE CLASE - PROGRAMACIÓN �32

Page 27: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Cerrar Puerta

Por lo que estas son métodos forman parte de la clase funciones del elevador, quedando en código así:

!

//Ejemplo  del  Elevador    //  public  class  Elevador{       public  static  void  main(String  args[])  {       //Creamos  la  instancia  a  la  clase  FuncionesElevador       FuncionesElevador  Funcion  =  new  FuncionesElevador();     //Mandamos  a  llamar  a  los  métodos  de  la  clase  FuncionesElevador         Funcion.abrir();         Funcion.cerrar();         Funcion.subir();         Funcion.abrir();         Funcion.cerrar();         Funcion.bajar();         Funcion.abrir();       }    }  

class  FuncionesElevador{       public  void  subir(){         System.out.println("Elevador  subiendo");       }       public  void  bajar(){         System.out.println("Elevador  bajando");       }       public  void  abrir(){         System.out.println("Abriendo  Puerta");       }       public  void  cerrar(){         System.out.println("Cerrando  Puerta");       }    };  

GUÍA DE CLASE - PROGRAMACIÓN �33

Page 28: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Práctica #3: Uso de Clases y Métodos

Tarea 3: Ejercicio básico en Java e Investigación.1.- Crear un programa que calcule el año en que nació una persona con proporcionar en una variable la edad. 2.- Investigar sobre las sentencias de salto (if/else y switch), como se usan y cuando se usan.

Control de Flujo

If / Else

En el ciclo “if” el código se ejecutará siempre y cuando la expresión_booleana sea evaluada como verdadera, en caso de que sea evaluada como falsa, se podrá incluir un “else”. Cuando se trate de un solo enunciado, se podrá hacer caso omiso de las llaves que delimitan al bloque. Además, se podrá hacer el uso de anidaciones, esto quiere decir que se puede poner un if, dentro del código de un if, tal como se muestra:

!

if  (x  ==  y)       System.out.println("x  es  igual  a  y");    else       if  (x  >  y)         System.out.println("x  es  mayor  que  y");       else         System.out.println("x  es  menor  que  y");  

GUÍA DE CLASE - PROGRAMACIÓN �34

Page 29: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

!

//Ejemplo  de  Menu    public  class  Principal{       public  static  void  main(String  args[])  {         Menu  menuP  =  new  Menu();         menuP.muestraMenu();         menuP.elijeOpcion(4);       }    }    

class  Menu{       public  void  muestraMenu(){         System.out.println("Menu  de  Catalogo  de  Ropa");         System.out.println("1.-­‐  Agregar  Valor");         System.out.println("2.-­‐  Borrar  Valor");         System.out.println("3.-­‐  Mostrar  Valores");         System.out.println("4.-­‐  Salir");       }       public  void  elijeOpcion(int  opcion){         switch(opcion){           case  1:             System.out.println("Opcion  elegida  1");             break;           case  2:             System.out.println("Opcion  elegida  2");             break;           case  3:             System.out.println("Opcion  elegida  3");             break;           case  4:             System.out.println("Opcion  elegida  4");             break;           default:             System.out.println("Opcion  no  valida");             break;         }       }    };  

GUÍA DE CLASE - PROGRAMACIÓN �35

Page 30: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Switch

Permite que el programa ejecute diferentes bloques de instrucciones basado en una expresión que puede tener más de dos valores. Su sintaxis es la siguiente:

!

En donde la variable podrá ser de cualquier tipo y se compara contra cada case: En caso de encontrar igualdad, la ejecución es transferida al bloque de enunciados que se encuentra a continuación del caso correspondiente. De no encontrar una igualdad, se ejecuta la opción default. Si no hay igualdad ni sentencia default, la ejecución pasa al primer enunciado después de la llave de cierre del switch.

El case podrá estar constituido por una constante entera o por valores literales válidos, pero nunca variables o llamados a métodos. En caso de buscar coincidencia con caracteres, deberán estar encerrados en comillas simples. Es de suma importancia el agregar un enunciado break después del último enunciado de cada bloque, ya que de lo contrario todos los enunciados posteriores pertenecientes a los bloques restantes, se ejecutarán también.

switch  (variable){       case  Valor_1:  bloque_1;       break;       case  Valor  _2:  bloque_2;       break;       ...       case  Valor  _n:  bloque_n;       break;       [default:  bloque_default;]    }  

GUÍA DE CLASE - PROGRAMACIÓN �36

Page 31: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Bucle For

Este bucle es una construcción que ejecuta un bloque de uno o más enunciados una determinada cantidad de veces. En Java, tiene la siguiente estructura:

  for(inicial;  expresión_booleana;  incremento){         bloque;       }    

En donde: inicial será por lo general una expresión de asignación que ponga una variable a un valor determinado de inicio y dicha variable será típicamente la que controle el ciclo. expresión_booleana será la expresión a evaluar; el ciclo se ejecutará mientras sea verdadera y terminará cuando sea falsa. incremento será la expresión que determine el incremento o decremento de la variable controladora. bloque será el o los enunciados a realizar en el ciclo.

!

La flexibilidad del ciclo for permite que la variable controladora no necesariamente debe ser inicializada dentro del ciclo, además, el incremento o decremento puede ser hecho en cualquier otra parte del ciclo:

!

Al igual que una instrucción condicional, un ciclo for puede ser ejecutado dentro de otro, logrando así una construcción más compleja y efectiva.

for  (int  count  =  1;  count  <=  20;  count++)       System.out.println(count);  

int  count  =  1;    for  (  ;  count  <  1000;  )       System.out.println(count++);  

GUÍA DE CLASE - PROGRAMACIÓN �37

Page 32: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

A partir de la versión J2SE 5, el lenguaje Java incorpora otra forma de utilización del bucle for en la cual no es necesario indicar el índice para recuperar un elemento, haciendo más claro el código.

  for  (  parámetro  :  expresión  )  sentencias    

Esta forma se utiliza principalmente para los arreglos, donde expresión debe ser un array o una instancia de la interfaz Iterable, que permite el uso de esta nueva forma del bucle for. Por ejemplo, si se quieren recuperar los valores de un arreglo, se puede hacer de la siguiente forma clásica:

! Pero al utilizar la nueva forma introducida por la versión J2SE 5, se puede escribir el mismo código de la siguiente forma:

!

int  impares  []  =  {1,3,5,7,9,11,13};    for  (int  i  =0;  i<7;  i++)       System.out.println(“Numero  impar:  “  +  impares[i]);  

int  impares  []  =  {1,3,5,7,9,11,13};    for  (int  num  :  impares)       System.out.println(“Numero  impar:  “  +  num);  

GUÍA DE CLASE - PROGRAMACIÓN �38

Page 33: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

!

Práctica #4: Uso de control de flujo

Tarea 4: Ejercicio Elevador.1.- Retomar el código fuente de “Elevador”, e implementar el uso de if/else el cual envíe instrucciones para abrir y cerrar puertas, esto es, si la puerta esta abierta, no puedes subir de piso, si la puerta esta cerrada puedes moverte entre pisos. Además de un switch para indicar a que piso se requiere ir, también el programa debe indicar si el elevador sube o baja. Guardar el archivo como Elevador2.java. Compilar el archivo mediante la línea de comandos, en caso que el compilador marque un error, corregir el código fuente, y compilar nuevamente. Si no hay error en el código fuente, ejecutar el programa.2. Crear un programa llamado “Ejemplo_if.java”, en el cual elaboren utilizando clases un método que compare si un número almacenado en una variable es mayor que otro número almacenado en una segunda variable (los números los eligen ustedes aleatoriamente desde el block de notas), si el número es mayor imprimir en pantalla “El número X es mayor que el número Y”, en caso contrario imprimir “El número Y es mayor que el número X”.3. Crear un programa llamado “Ejemplo_swich.java”, en el cual inicializamos en una variable X con un número del 1 al 10, y al entrar al switch, este debe elegir la opción correcta e imprimir en pantalla el número en forma de texto por ejemplo si X=2, el sistema debe imprimir en pantalla “El número ingresado es Dos”, en caso que X sea diferente del rango especificado que imprima “Número invalido”.

public  class  EjemploFor2{       public  static  void  main  (String  args[]){         Arreglo  miArreglo  =  new  Arreglo();         miArreglo.llenaArreglo();         miArreglo.imprimeArreglo();       }    }    class  Arreglo{       int  arreglo[]  =  new  int[10];       public  void  llenaArreglo(){         for(int  x  =  0;  x<10;  x++)           arreglo[x]  =  x;         }       public  void  imprimeArreglo(){         for(int  x  :  arreglo)           System.out.println(arreglo[x]);       }    };  

GUÍA DE CLASE - PROGRAMACIÓN �39

Page 34: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Bucle While

Es la sentencia más básica de Java, se ejecuta repetidamente una vez tras otra mientras una expresión booleana sea verdadera. Se utiliza para crear una condición de entrada, la cual controla el bucle y se comprueba antes de ejecutar cualquiera de las sentencias que se encuentran situadas en el interior del bucle, de tal modo que si la comprobación desde un inicio es false, el código dentro de la sentencia while no se ejecutará.

!

Bucle Do - While

Es utilizado cuando se desea que un ciclo while se ejecute al menos una vez, incluso si la expresión booleana es falsa desde la primera vez, esto quiere decir que se utiliza cuando se desea evaluar la expresión de terminación al final del bucle en vez de al principio como se hace en el bucle while.

!

Control general de flujo

break: Puede utilizarse en una sentencia switch o en un bucle, cuando se encuentra en una sentencia switch, hace que el control del flujo del programa pase a la siguiente sentencia que se encuentra fuera del entorno del switch, pero si se encuentra en un bucle, hace que el flujo de ejecución del programa deje el ámbito del bucle y pase a la siguiente sentencia.

continue: no se puede utilizar en una sentencia switch, sino solamente en bucles, lo que hace es que la iteración en que se encuentra finaliza y se inicia la siguiente.

while  (expresión  booleana){       sentencias;       [iteración]    }  

do{       sentencias;       [iteración]    }  while  (expresión  booleana)  

GUÍA DE CLASE - PROGRAMACIÓN �40

Page 35: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

!

Excepciones

Java implementa excepciones para facilitar la construcción de código robusto. Cuanto ocurre un error en un programa, el código que encuentra el error lanza una excepción, que se puede capturar y recuperarse de ella. Java provee muchas excepciones predefinidas.

!

!

Lectura Estándar

La lectura estándar, es utilizada para capturar texto desde la línea de comandos en Java, esto nos sirve para ir almacenando datos en variables y poder ir interactuando mas con los

Uno:  for(){       Dos:  for(){         continue;         continue  uno;         break  uno;       }    }  

try{       sentencias;    }  catch(Exception)  {       Sentencias;    }  

//Ejemplo  de  try-­‐catch  que  introduce  un  retardo    class  tryCatch{       public  static  void  main(String[]  args)  {         try{           System.out.print("Esperando");           for(int  x=0;  x<3;  x++){             Thread.currentThread().sleep(1000);             System.out.print(".");           }         }  catch  (Exception  e){           System.out.println(e);         }       }    }  

GUÍA DE CLASE - PROGRAMACIÓN �41

Page 36: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

programas realizados en Java. Existen dos para capturar texto desde la línea de comandos, la primera de ellas es mediante la clase IO y la segunda mediante la clase Scanner.

En el caso de la primera opción, se debe importar la librería de java.io, en la cual se encuentran los métodos necesarios para que pueda funcionar nuestro programa. La sintaxis básica para la lectura estándar es la siguiente:

!

En donde: import java.io.* es la clase a importar para que funcionen los métodos a utilizar. throws IOException permite atrapar todas aquellas excepciones que tengamos en el programa. BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in)), se declara una variable que pueda capturar texto de la línea de comandos. stdin.readLine() este comando sirve para leer el texto de la línea de comandos y poder guardarlo en una variable de tipo String

Para la segunda opción de captura de texto desde la línea de comandos, se puede utilizar la clase Scanner, la cual facilita la tarea de leer y analizar cadenas y tipos básicos de datos en las aplicaciones, incorporando para ello el uso de expresiones regulares. Un ejemplo básico donde se utiliza está clase es el siguiente código.

import  java.io.*;    public  class  Lectura{       public  static  void  main(String[]  args)  throws  IOException  {         String  cadena;         BufferedReader  stdin  =  new  BufferedReader  (new             InputStreamReader(System.in));         System.out.print("Ingresa  un  texto:  ");         cadena  =  stdin.readLine();         System.out.println("Has  escrito:  "  +  cadena);       }    }  

GUÍA DE CLASE - PROGRAMACIÓN �42

Page 37: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

!

En donde: import java.util.Scanner es la clase a importar para que funcionen los métodos a utilizar. Scanner s = new Scanner(System.in) declara una variable que pueda capturar texto de la línea de comandos. S.next() Lee una cadena de caracteres de la línea de comandos, pero al encontrar un espacio termina la cadena. s.nextLine() Lee una cadena de caracteres de la línea de comandos, toma en cuenta los espacios. S.nextInt() Lee números enteros de la línea de comandos. S.nextDouble() Lee números de punto flotante de la línea de comandos.

Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar

import  java.util.Scanner;    class  scanner{       public  static  void  main(String[]  args)  {         String  nombre  =  "";         int  edad  =  0;         Scanner  s  =  new  Scanner(System.in);         System.out.print("Introduzce  tu  nombre:  ");         try{           nombre  =  s.nextLine();         }  catch  (Exception  e){           System.out.println(e);         }         System.out.print("Introduzce  tu  edad:  ");         try{           edad  =  s.nextInt();         }  catch  (Exception  e){           System.out.println(e);         }         System.out.println("Tu  nombre  es  "  +  nombre  +  "  y  tienes  "  +       edad  +  "  anios"  );       }    }  

GUÍA DE CLASE - PROGRAMACIÓN �43

Page 38: Adentrándonos a la Programación - Universidad Veracruzana · 2015-03-04 · Receta de cocina Diagramas de Flujo ... Algo que debemos tener claro para poder realizar un correcto

Tarea 5: Ejercicio Catalogo.1.- Retomar el código fuente de “Catalogo”, y utilizar la línea estándar para inicializar los valores a las variables de las clases creadas de Pantalón, Playera, entre otras. Guardar el archivo como Catalogo3.java. Compilar el archivo mediante la línea de comandos, en caso que el compilador marque un error, corregir el código fuente, y compilar nuevamente. Si no hay error en el código fuente, ejecutar el programa 2. Crear un programa llamado Tarea5, el cual deberá mostrar un menú en pantalla (con al menos 5 opciones) y desde la línea de comandos el usuario podrá elegir la opción deseada. Compilar el archivo y ejecutarlo

Practica #6: Repaso de los temas vistos

Tarea 6: Manejo de Menus.Crear un programa llamado Tarea6. el cual deberá mostrar un menú en pantalla (con al menos 5 opciones) y desde la línea de comandos el usuario podrá elegir la opción deseada. Guardar el archivo en la carpeta de “Practica 6”. Compilar el archivo y ejecutarlo.

GUÍA DE CLASE - PROGRAMACIÓN �44

Aplicar Examen Parcial