3-Introducción a la programación

40
Introducción a las aplicaciones en Java. Academia de Sistemas Unidad 3.

description

Introducción a la programación en java

Transcript of 3-Introducción a la programación

Page 1: 3-Introducción a la programación

Introducción a las aplicaciones en Java.

Academia de Sistemas

Unidad 3.

Page 2: 3-Introducción a la programación

Contenido.

1. ¿Que es una aplicación Java?2. Nuestro primer programa en Java.3. Modificando nuestro primer programa.4. Cuadros de dialogo.5. Otra modificación.6. Aritmética.

Page 3: 3-Introducción a la programación

1. ¿Qué es una aplicación Java?

Conjunto de clases. Una clase principal:

Contiene una operación main.

Clase_Principal

main

Clase_A

Clase_B

Clase_C

Page 4: 3-Introducción a la programación

Estructura de una clase

import clases_importadas;public class Nombre {

atributosoperaciones

}

Clases pertenecientes

a paquetes externos

Page 5: 3-Introducción a la programación

Estructura de una operación

descriptores que_regresa nombre (argumentos){

declaraciones;instrucciones;

}

declaran datos (variables o constantes), clases y

objetos que usarán las instrucciones

cálculos que se realizarán con las

declaraciones

Page 6: 3-Introducción a la programación

2. Nuestro primer programa en Java.

/** * @author Saúl Román Barraza * @version 1.00 2007/5/26 */

public class PrimerPrograma { public static void main(String[] args) { // Aquí van las instrucciones /*que sean necesarias *para que nuestro programa funcione*/ System.out.println("Bienvenidos al curso !!!!!!!"); }}

Page 7: 3-Introducción a la programación

Generalidades.

Línea en blanco: Facilita la lectura del programa.

Comentarios: Son ignorados durante la ejecución del

programa. Documentan y describen el código.

Page 8: 3-Introducción a la programación

Generalidades.

Identificadores:Están compuestos por una serie de caracteres que pueden ser:

Letras, dígitos, guiones bajos (_) y signos de moneda ($) No pueden empezar con un digito ni tampoco pueden tener

espacios.

Ejemplos:- Bienvenido1, $valor, _valor, m_campoEntrada1- 7button y campo entrada no son correctos.

Java es sensible a mayúsculas y minúsculas.nombre y Nombre son diferentes.

Page 9: 3-Introducción a la programación

Nombres de archivos:El nombre del archivo debe coincidir con el nombre de

la clase seguido de la extensión .java:

PrimerPrograma.java

Instrucciones.La línea completa se le conoce como una instrucción y

estas terminan con punto y coma (;).

Generalidades.

Page 10: 3-Introducción a la programación

3. Modificando nuestro primer programa.

/** * @author Saúl Román Barraza * @version 1.00 2007/5/26 */

public class PrimerPrograma { public static void main(String[] args) { // Aquí van las instrucciones /*que sean necesarias *para que nuestro programa funcione*/ System.out.println("Bienvenidos\n\bal curso !!!!!!!"); }}

Page 11: 3-Introducción a la programación

Secuencias de escape.

A la barra diagonal inversa (\) se le conoce como caracter de escape, esta se combina con el siguiente caracter para formar una secuencia de escape.

1 \n Nueva línea (enter).

2 \t Tabulador horizontal (tab).

3 \r Retorno de carro. Coloca el cursor al inicio de la línea actual.

4 \f Comienzo de pagina.

5 \b Borrado a la izquierda (backspace).

6 \\ Imprime carácter de barra diagonal

7 \’ Imprime carácter de comilla

8 \” Imprime carácter de comillas dobles

Page 12: 3-Introducción a la programación

4. Cuadros de dialogo.

Los cuadros de diálogo son ventanas para mostrar mensajes.

La clase JOptionPane de Java proporciona cuadros de dialogo.

Los paquetes de Java se dividen Paquetes Básicos (java) y en paquetes Opcionales (javax).

Page 13: 3-Introducción a la programación

TIPOS.ICONO DESCRIPCION

JOptionPane.ERROR_MESSAGE INDICA UN ERROR AL USUARIO.

JOptionPane.INFORMATION_MESSAGE MUESTRA UN MENSAJE INFORMATIVO PARA EL USUARIO.

JOptionPane.WARNING_MESSAGE MUESTRA UNA ADVERTENCIA.

JOptionPane.QUESTION_MESSAGE CUADRO QUE REQUIERE UNA RESPUESTA.

JOptionPane.PLAIN_MESSAGE SIN ICONO MUESTRA SOLO UN MENSAJE.

Page 14: 3-Introducción a la programación

5. Otra modificación.

import javax.swing.JOptionPane; public class PrimerPrograma { public static void main(String[] args) {

JOptionPane.showMessageDialog(null,"Bienvenidos al curso");

System.exit(0); }}

Page 15: 3-Introducción a la programación

Documentación del código.

• Las declaraciones de import:• Son utilizadas por el compilador para identificar y localizar las clases

que son utilizadas por los programas.• La instrucción le indica al compilador que cargue la clase JOptionPane

del paquete javax.swing.• Se llama al método showMessageDialog de la Clase JOptionPane:

*Se requieren dos argumentos. *Cuando se pasan varios argumentos se separan con coma (,). por el momento el primer argumento será null. *El segundo argumento es la cadena a desplegar.

• El método showMessageDialog es un método estático: +Los métodos estáticos se utilizan indicando el nombre de la

clase, un punto (.) y el nombre del método.

Page 16: 3-Introducción a la programación

El llamado al método estático exit:– Termina la aplicación.– Es necesario utilizarlo cuando se trabaja con una aplicación gráfica.

Declaración de Variables:– Antes de poder usar una variable es necesario declararlas con unnombre y un tipo.

Conversión entre Tipos:– El método Integer.parseInt convierte una cadena en un entero.

Generalidades.

Page 17: 3-Introducción a la programación

6. Aritmética.Tipos de datos.

tipo que almacena rango

byte 1 byte -128 a 127

short 2 bytes -32768 a 32767

int 4 bytes -2147483648 a 2147483647

long 8 bytes -2-63 a 263 - 1

float 4 bytes 6 dígitos significativos

double 8 bytes 15 dígitos significativos

char 2 bytes código ASCII

boolean 1 byte false y true

Page 18: 3-Introducción a la programación

Aritméticos.

post y pre incremento.

Asignación aritmética.

Relacionales.

Lógicos.

6. Aritmética.Operadores.

Page 19: 3-Introducción a la programación

Operadores aritméticos.

operaciónoperador descripción

Suma +

Resta -

Multiplicación *

División / Trunca el residuo

Residuo % Devuelve el residuo

Page 20: 3-Introducción a la programación

Relacionales.

operador ejemplo significado

== x == y x igual a y

!= x != y x diferente de y

> x > y x mayor que y

< x < y x menor que y

>= x >= y x mayor o igual que y

<= x <= y x menor o igual que y

Page 21: 3-Introducción a la programación

Operadores lógicos

operador descripción significa

&& and y (*)

|| or o (+)

! not no (negado)

Tablas de verdad

a b a && b a || b !b

true true true true false

true false false true true

false true false true false

false false false false true

Page 22: 3-Introducción a la programación

Reglas de precedencia de operadores.

– Las operaciones de multiplicación, división, y residuo se aplican primero:

• Se aplican de izquierda a derecha.• Los tres operadores tienen la misma precedencia.

– Las operaciones de suma, y resta se aplican después de losanteriores:

• Se aplican de izquierda a derecha.• Tienen la misma precedencia.

– Los paréntesis tienen precedencia sobre los operadores antes listados.

Page 23: 3-Introducción a la programación

Entrada de datos desde el teclado.

Usar la clase BufferedReader

No se puede construir un BufferedReader desde System.in

Debe convertirse a través de la clase InputStreamReader.

Page 24: 3-Introducción a la programación

Ejemplo.

import java.io.*;public class LeeTeclado { public static void main(String[] args) { InputStreamReader teclado = new InputStreamReader(System.in); BufferedReader lector = new BufferedReader(teclado); String nombre=new String(); System.out.println("Como te llamas"); try{ nombre = lector.readLine(); } catch (IOException excep) { System.out.println("Error de IO"); } System.out.println("Hola "+ nombre ); }}

Page 25: 3-Introducción a la programación

Entrada de datos numéricos.

public class LeeNumeros {public static void main(String[] args) {InputStreamReader teclado = new InputStreamReader(System.in);BufferedReader lector = new BufferedReader(teclado);String auxiliar=new String();int e=0;System.out.println("Cuantos años tienes?");try{auxiliar = lector.readLine();Integer edad=new Integer(auxiliar);e=edad.intValue();}catch (IOException excep) {System.out.println("Error");}System.out.println("Hola "+ e*12);}}

Page 26: 3-Introducción a la programación

Usando la clase Scanner.

Page 27: 3-Introducción a la programación

27

Objetivos (cont.)

Cuando finalice esta lección, el estudiante: Podrá escribir programas que obtengan

datos del usuario.

Page 28: 3-Introducción a la programación

28

Los métodos de la clase Scanner para obtener valores del teclado

Como sabemos, el objeto System.out representa la pantalla en una aplicación de consola.

Existe un objeto llamado System.in que representa el teclado.

El objeto System.in reconoce métodos que permiten obtener datos entrados usando el teclado pero con la limitación de que solo puede recoger valores de tipo byte.

Page 29: 3-Introducción a la programación

29

Los métodos de la clase Scanner para obtener valores del teclado (cont.)

Normalmente necesitamos recoger valores de otros tipos, así que para superar la limitación que nos presenta el objeto System.In trabajamos el problema con unos métodos que nos provee una clase auxiliar o utilitaria llamada Scanner.

Para tener acceso a esta clase necesitamos que nuestros programas comiencen con el siguiente enunciado:

import java.util.Scanner;

Page 30: 3-Introducción a la programación

30

Los métodos de la clase Scanner para obtener valores del teclado (cont.)

Para poder usar los métodos que provee la clase Scanner es necesario declarar una variable de este tipo de datos que se asocia con el teclado (System.in).

El enunciado para declarar esta variable es el siguiente: Scanner entrada = new Scanner(System.in);

Page 31: 3-Introducción a la programación

31

Los métodos de la clase Scanner para obtener valores del teclado (cont.)

La variable del tipo Scanner no tiene que llamarse entrada pero se recomienda, como siempre, un nombre que describa su función.

Una vez que se declara e inicializa la variable se pueden invocar métodos de la clase Scanner tales como: nextInt: obtiene un número entero nextDouble: obtiene un número real nextLine: obtiene una cadena de caracteres

Page 32: 3-Introducción a la programación

32

Los métodos de la clase Scanner para obtener valores del teclado (cont.)

Existen métodos para los tipos short, byte, long y float pero no son importantes en este momento.

No existen métodos para obtener directamente booleanos ni para obtener un solo carácter. nextLine().charAt(0) puede resolver el

segundo problema Más adelante veremos cómo resolver el

primer problema

Page 33: 3-Introducción a la programación

33

Los métodos de la clase Scanner para obtener valores del teclado (cont.)

import java.util.Scanner;

public class CircleApp2 {

public static void main(String[] args) { double radius, area, circumference;

Scanner keyboard = new Scanner(System.in);

System.out.print("Enter the radius: "); radius = keyboard.nextDouble();

area = Math.PI * Math.pow(radius, 2); circumference = 2 * Math.PI * radius;

System.out.println("The area is " + area); System.out.println("The circumference is " + circumference); }}

Page 34: 3-Introducción a la programación

34

Los métodos de la clase Scanner para obtener valores del teclado (cont.)import java.util.Scanner;

public class PayrollApp2 { public static void main(String[] args) { String name; int hours; double payRate, grossPay; Scanner keyboard = new Scanner(System.in); System.out.print("What is your name? "); name = keyboard.nextLine(); System.out.print("How many hours did you work this week? "); hours = keyboard.nextInt(); System.out.print("What is your hourly pay rate? "); payRate = keyboard.nextDouble(); grossPay = hours * payRate; System.out.println("Hello " + name); System.out.println("Your gross pay is $" + grossPay); }}

Page 35: 3-Introducción a la programación

35

El uso de cajas de diálogo para obtener valores

Entre los métodos de la clase JOptionPane se encuentra uno que permite recoger datos de forma fácil y atractiva: showInputDialog.

Este método muestra una caja de diálogo que contiene un mensaje (el prompt) y aceptar un valor entrado por el usuario.

Por Ejemplo: String name; name = JOptionPane.showInputDialog("Enter your name.");

El argumento dentro de los paréntesis es el mensaje que será mostrado sobre la caja de texto.

Page 36: 3-Introducción a la programación

36

El uso de cajas de diálogo para obtener valores (cont.)

El método showInputDialog siempre devuelve el valor entrado por el usuario como un String.

Si el valor debe ser colocado en una variable numérica es necesario convertirlo usando los métodos: Integer.ParseInt: para convertir una cadena de

caracteres a un número entero Double.ParseDouble: para convertir una cadena de

caracteres a un número real

Page 37: 3-Introducción a la programación

37

El uso de cajas de diálogo para obtener valores (cont.)

Existen métodos para los tipos short, byte, long y float pero no son importantes en este momento.

Recuerde que todo programa que muestre cajas de diálogo debe tener el siguiente enunciado al inicio del programa:

import javax.swing.JOptionPane;

Además el método main debe terminar con el siguiente enunciado:

System.exit(0);

Page 38: 3-Introducción a la programación

38

El uso de cajas de diálogo para obtener valores (cont.)

import javax.swing.JOptionPane;

public class CircleApp3 {

public static void main(String[] args) { double radius, area, circumference; String inputString;

inputString = JOptionPane.showInputDialog( "Enter the radius: "); radius = Double.parseDouble(inputString);

area = Math.PI * Math.pow(radius, 2); circumference = 2 * Math.PI * radius;

JOptionPane.showMessageDialog(null, "The area is " + area); JOptionPane.showMessageDialog(null, "The circumference is " + circumference);

System.exit(0); }}

Page 39: 3-Introducción a la programación

39

El uso de cajas de diálogo para obtener valores (cont.)

Page 40: 3-Introducción a la programación

11. Preguntas.

?