Professional Documents
Culture Documents
Identificar los componentes bsicos de los programas en Java. Escribir programas sencillos en Java Describir la diferencia entre declaracin de objeto y creacin de objeto. Describir el proceso de crear y ejecutar programas en Java Utilizar las clases standard Date, SimpleDateFormat, String, y JOptionPane
CS1101X Lecture #2
El concepto fundamental de la POO ilustrado por el programa: Un programa object-oriented utiliza objetos. Este programa muestra una ventana en la pantalla. El tamao de la ventana es puesto a 300 pixels de ancho y 200 pixels de alto. El ttulo ser Mi primer programa en Java
3
CS1101X Lecture #2
Bienvenido.java
// Autor: Elizabeth Vidal // Propsito: Pregunte por el nombre del usuario y muestre un mensaje de bienvenida.
Programas en el libro
Todos los programas en el libro pueden ser descargados del website del autor Thomas Wu.
CS1101X Lecture #2
Programa Ch2Sample1
import javax.swing.*;
Declara un nombre class Ch2Sample1 { public static void main(String[ ] args) {
JFrame
myWindow;
Crea un objeto
myWindow = new JFrame( ); myWindow.setSize(300, 200) myWindow.setTitle(My First Java Program); myWindow.setVisible(true); } }
CS1101X Lecture #2
Usa un objecto
CS1101X Lecture #2
Relacin de Dependencia
Ch2Sample1
myWindow : JFrame
En vez de dibujar todos los mensajes, lo resumimos mostrando solamente una relacion de dependencia. El diagrama muestra que Ch2Sample1 depende de los servicios brindados por myWindow.
CS1101X Lecture #2
Declaracin de Objetos
Nombre de Clase Esta clase debe estar definida antes de que se realice esta declaracin. Nombre de Objeto Aqui ha sido declarado un objeto.
JFrame
myWindow;
Mas ejemplos
CS1101X Lecture #2
Creacin de Objetos
Nombre de Objeto Aqui el nombre del objeto que estamos creando. Nombre de la Clase Una instanica de esta clase es creada. Argumento No se han utilizado argumentos aqui.
myWindow
= new JFrame (
);
Mas Ejemplos
CS1101X Lecture #2
10
Letras maysculas para la primera letra de los nombres de clases y palabras subsecuentes
Letras minsculas para la primera letra del nombre de los objetos. Letras mayusculas para la primera letra de palabras subsecuentes.
CS1101X Lecture #2
customer
customer
: Customer
2. Un objeto Customer es creado y el identificador customer es seteado para que se refiera a el.
12
CS1101X Lecture #2
customer
new
Customer( );
CS1101X Lecture #2
13
customer : Customer
: Customer
State-of-Memory Notation
CS1101X Lecture #2
14
customer
customer
customer
Memoria no utilizada que fue asignada ser reclamada por el Garbage Collection.
: Customer
: Customer
CS1101X Lecture #2
Enviando un Mensaje
Nombre del Objeto Nombre del objeto al cual estamos enviando el mensaje. Nombre del Mtodo El nombre del mensaje que estamos enviando Argumento El argumento que estamos pasando con el mensaje.
myWindow
setVisible
true
) ;
Mas Ejemplos
16
Flujo de Ejecucin
Program Code Diagrama del Estado de Memoria
myWindow
JFrame myWindow
myWindow.setSize(300, 200);
myWindow.setTitle (My First Java Program); myWindow.setVisible(true);
300 200
Mi Primer Proga
true
CS1101X Lecture #2
17
Componentes de un Programa
CS1101X Lecture #2
18
Comentario
myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(My First Java Program); myWindow.setVisible(true);
}
}
CS1101X Lecture #2
19
Commentario numero 2
*/ /* /* /* Este es un comentario */ */
CS1101X Lecture #2
20
/** * Esta clase provee fnciones basicas de reloj Ademas * de mostrar la fecha y hora actual,puede utilizar esta * clase como cronometro. */
Comentarios javadoc
CS1101X Lecture #2
21
import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) { JFrame myWindow;
Sentencia Import
myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(Mi Primer Programa Java); myWindow.setVisible(true); } }
CS1101X Lecture #2
22
Sentencia Import(2/3)
Java contiene un conjunto de librerias, llamadas Java Programming Interface (API). Las clases de Java API estan agrupadas en paquetes (packages.) Un package es un elemento de Java para agrupar clases relacionadas bajo un nombre comun
23
CS1101X Lecture #2
Algunos packages: java.applet: utilizado para desarrollar applets java.awt: utilizado para graficos java.io: para operaciones de input y output java.util: contiene una serie de clases de proposito general java.lang: contiene diferentes clases que soportan temas primarios del leguaje tales como funciones matematicas.
CS1101X Lecture #2
24
Sentencia Import(3/3)
Ejemplo:
import java.util.*;
el cual incluye import java.util.ArrayList; import java.util.Date; import java.util.Scanner; y otras clases en el paquete.
CS1101X Lecture #2
25
Mas Ejemplos
CS1101X Lecture #2
26
Declaracin de Clase
/* Captulo 2 Ejemplo Programa: Mostrando Ventana File: Ch2Sample2.java */ import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) {
Declaracin de Clase
JFrame
myWindow;
myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(Mi Primer Programa Java); myWindow.setVisible(true); } }
CS1101X Lecture #2
27
Declaracin de Mtodo
/*
Declaracin de Mtodo
myWindow.setSize(300, 200);
myWindow.setTitle(Mi Primer Programa Java); myWindow.setVisible(true); } }
CS1101X Lecture #2
28
Tipo Retorno
Nombre Mtodo
Parmetero
public
static
void
main(
String[ ] args
Cuero del Mtodo
){
29
Mtodo main
Modificador Modificador Tipo Retorno
Nombre Mtodo
Parmetero
public
static
void
main(
String[ ] args
){
CS1101X Lecture #2
30
Comentarios
File: Ch2Sample2.java */
import javax.swing.*;
class Ch2Sample1 {
Sentencias Import
Nombre de Clase
myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(My First Java Program); myWindow.setVisible(true); } }
CS1101X Lecture #2
Cuerpo Metodo
31
No reinvente la rueda. Cuando hay objetos que satisfagan nuestras necesidades, utilcelo. Aprender como utilizar clases standard Java es el primer paso para dominar POO. Antes de aprender como definir nuestras propias clases, necesitamos aprender como utilizar clases existentes.
CS1101X Lecture #2
32
(package: javax.swing) String (package: java.lang) Date (package: java.util) SimpleDateFormat (package: java.text)
CS1101X Lecture #2
33
JOptionPane
Utilizando showMessageDialog de la clase JOptionPane es una forma simple de mostrar el resultado de una computacin del usuario.
JOptionPane.showMessageDialog(null, I Love Java);
CS1101X Lecture #2
34
CS1101X Lecture #2
35
Java ofrece caracteres de escape para representar caracteres especiales \b backspace \n newline \t tab \r carriage return \\ backslash \" double quote \' single quote
36
CS1101X Lecture #2
Output:
Nombre Edad Password ======================== Keith 19 apple"2 Guang 22 tea\eat Melvin 20 123abc
CS1101X Lecture #2
37
String
Los valores de texto pasados al mtodo showMessageDialog son instancias de la clase String. Una secuencia de caracteres separadas por comillas dobles es una constante String Existen cerca de 50 mtodos definidos en la clase String. Aqui utilizaremos tres de ellos: substring, length, e indexOf. Tambin presentaremos una operacin sobre string llamada concatenacin.
38
CS1101X Lecture #2
name
1
: String
2
Jon Java
CS1101X Lecture #2
Indices de String
40
Definicin: substring
Asuma que str es un objeto String y est propiamente inicalizado a un string. str.substring( i, j ) devolver un nuevo string mediante la extraccion de caracteres de str desde la posicion i hasta j-1 donde 0 i longitud de str, 0 j longitud de str, y i j. Si str es programming , entonces str.substring(3, 7) creara un nuevo string cuyo valor es gram porque g est en la posicin 3 y m est en la posicin 6. El string original str permanece igual.
41
CS1101X Lecture #2
Ejemplos: substring
String text = Espresso;
Definicin: length
Asuma str es un objeto String y est propiamente inicializado con un string. str.length( ) retornar el nmero de caracteres en str. Si str es programming , entonces str.length( ) retornar 11.
CS1101X Lecture #2
43
Ejemplos: length
String str1 = str2 = str3 = str4 = str1, str2, str3, str4; Hello ; Java ; ; //empty string ; //one space
5
4 0 1
44
CS1101X Lecture #2
Definicin: indexOf
Asuma str es un objeto String y est propiamente inicializado con un string. str.indexOf( substr ) retornara la primera posicion en la que substr ocurra en str. Si str es programming y substr es gram , entonces str.indexOf(substr ) retornara 3.
45
Examples: indexOf
String str; str = I Love Java and Java loves me. ;
21
7 21
3 -1
46
CS1101X Lecture #2
Definicin: concatenacin
Asuma que str1 y str2 son objetos String y estn propiamente inicializados. str1 + str2 retornara un nuevo string que es la concatenacin de los dos string. Si str1 es pro y str2 es gram , entonces str1 + str2 retornara program.
Note que este es un operador y no un mtodo de la clase String. Los string str1 y str2 47 CS1101X Lecture #2 permanecen igual.
Examples: concatenation
String str1, str2; str1 = Jon ; str2 = Java ;
JonJava
Jon Java Java, Jon Are you Jon?
CS1101X Lecture #2
48
Date
La clase Date del paquete java.util es utilizada para representar fechas. Cuando un objeto Date es creado, este es puesto a la fecha de hoy (de acuerdo al sistema de la computadora) La clase tiene el metodo toString que convierte el formato interno a un string.
CS1101X Lecture #2
SimpleDateFormat
La clase SimpleDateFormat permite que la informacin de Date sea mostrada en varios formatos.
Tabla 2.1 pag 68 muestra las opciones de formato.
Date today = new Date( ); SimpleDateFormat sdf1, sdf2; sdf1 = new SimpleDateFormat( MM/dd/yy ); sdf2 = new SimpleDateFormat( MMMM dd, yyyy ); sdf1.format(today); sdf2.format(today);
CS1101X Lecture #2
CS1101X Lecture #2
51
CS1101X Lecture #2
52
Plan General
Identificar las tareas principales Necesitamos saber QUE desarrollar antes de desarrollar Tareas: Obtener el nombre y apellidos de la persona Extraer las iniciales para obtener el monograma Mostrar el monograma
53
CS1101X Lecture #2
Pasos de Desarrollo
Iniciamos con la plantilla y aadimos cdigo para el input Aadir codigo para calcular y mostrar el monograma
2.
CS1101X Lecture #2
54
Paso 1: Diseo
La especificacin del programa nos dice obtenga el nombre, primer apellido, y segundo apellido del usuario, pero no nos dice como. Consideraremos el como en el Paso 1. Utilizaremos la clase JOptionPane para el ingreso.
55
Paso 1: Code
/* Capitulo 2 Sample Program: Displays the Monogram File: Step1/Ch2Monogram.java
*/ import javax.swing.*;
class Ch2Monogram { public static void main (String[ ] args) { String nombre; nombre = JOptionPane.showInputDialog(null, Ingrese su nombre completo(nombre, apellido materno, apellido paterno):"); JOptionPane.showMessageDialog(null, nombre); } }
CS1101X Lecture #2
56
CS1101X Lecture #2
57
Paso 1: Prueba
En la fase de pruebas o testing, ejecutamos el programa para verificar que Podemos ingresar el nombre completo El nombre se muestra correctamente
CS1101X Lecture #2
58
Paso 2: Diseo
Nuestras habilidades de programacin aun son limitadas, as que asumiremos lo siguiente: El string que ingresemos contiene nombre, primer apellido y segundo apellido
El nombre, primer apellido y segundo apellido estn separados por espacios en blanco. Ejemplo:
John Quincy Adams John Kennedy Harrison, William Henry (ok) (not ok) (not ok)
CS1101X Lecture #2
59
Ben Cosner
Ben ABC
Cosner
CS1101X Lecture #2
60
Paso 2: Cdigo
/* Chapter 2 Sample Program: Displays the Monogram File: Step 2/Ch2MonogramStep2.java
*/ import javax.swing.*;
class Ch2Monogram { public static void main (String[ ] args) { String nombreCompleto, nombre, apellidoMaterno,apellidoPaterno, espacio, monograma; espacio = " ";
//Ingreso del nombre complet nombreCompleto = JOptionPane.showInputDialog(null, Ingrese Nombre Completo (nombre, apellidoPaterno, apellidoMaterno):" );
CS1101X Lecture #2
61
CS1101X Lecture #2
62
Paso 2: Prueba
En la fase de pruebas, ejecutamos el programa y verificamos que, para todos los ingresos validos, obtenemos las iniciales correctas Debemos ejecutar el programa varias veces. Verificar solamente UNA respuesta correcta NO es suficiente. Debemos intentar varios ejemplos de ingresos validos
CS1101X Lecture #2
63
End of Lecture #2
CS1101X Lecture #2
64
Fin Clase 1
CS1101X Lecture #2
65