3-Introducción a la programación

Post on 02-Aug-2015

15 views 0 download

description

Introducción a la programación en java

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

Introducción a las aplicaciones en Java.

Academia de Sistemas

Unidad 3.

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.

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

Estructura de una clase

import clases_importadas;public class Nombre {

atributosoperaciones

}

Clases pertenecientes

a paquetes externos

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

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 !!!!!!!"); }}

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.

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.

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.

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 !!!!!!!"); }}

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

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).

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.

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); }}

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.

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.

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

Aritméticos.

post y pre incremento.

Asignación aritmética.

Relacionales.

Lógicos.

6. Aritmética.Operadores.

Operadores aritméticos.

operaciónoperador descripción

Suma +

Resta -

Multiplicación *

División / Trunca el residuo

Residuo % Devuelve el residuo

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

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

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.

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.

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 ); }}

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);}}

Usando la clase Scanner.

27

Objetivos (cont.)

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

datos del usuario.

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.

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;

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);

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

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

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); }}

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); }}

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.

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

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);

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); }}

39

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

11. Preguntas.

?