Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
PROGRA M A CI ÓN I IPr og r a ma c ión Or ie nt a d a a Ob j e t os
c on J A VA
M .T . M a r ía Luis a J uá r e z A g uila [email protected]
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E va lua c ión
20 %PROYECTO FINAL4
3
2
1
10 %PRACTICAS
10 %LABORATORIO
60 %EXÁMENES PARCIALES
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ob s e r va c ione s • Para poder obtener el Promedio Final el alumno debe
cumplir con los cuatro puntos anteriores de la evaluación.
• Para tener derecho de presentar el proyecto final el alumno debe cumplir con los puntos 1, 2 y 3 de la evaluación y obtener una calificación aprobatoria, de lo contrario, debe presentar su examen extraordinario en la fecha programada por el departamento escolar.
• La asistencia debe ser del 80% mínimo por parcial.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
CON T E N I DO DE L PROGRA MA
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 6
M.T . Ma r ía Luis a J uá r e z A g uila r
His t or ia d e J a va
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
His t or ia d e J a va
• Sun anunció formalmente a Java en 1995.• Actualmente Java se utiliza para desarrollar
aplicaciones empresariales a gran escala, para mejorar la funcionalidad de los servidores de WWW (las computadoras que proporcionan el contenido que vemos en nuestros navegadores Web), para proporcionar aplicaciones para los dispositivos domésticos (teléfonos celulares, radiolocalizadores y asistentes digitales personales) y para muchos otros propósitos.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
His t or ia d e J a va
• El JDK incluye herramientas para construcción de interfaces gráficas de usuario (GUI, Graphical User Interface), trabajo en red e implantación de applets, pequeños programas de Java que agregan contenido dinámico a las páginas Web.
• La independencia de la plataforma es una razón importante del éxito de Java. Sus programas se compilan en códigos de bytes (bytecodes) y pueden ejecutarse en cualquier computadora con un intérprete o una máquina virtual de Java (JVM, Java Virtual Machine), proporcionando un ambiente en tiempo de ejecución para ejecutar programas de Java.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
His t or ia d e J a va
• Java es un nuevo lenguaje de programación orientado a objetos desarrollado por Sun Microsystems
• Descrito como: Simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutral, portable, de alto rendimiento, multitarea y dinámico.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ca r a c t e r ís t ic a s d e J a va
• Simple:– Elimina la complejidad de los lenguajes como "C", mantiene las
facilidades básicas de lenguaje en un mínimo y proporciona un gran
número de extras con las librerías de clases. • Orientado a objetos:
– Encapsulacion
– Herencia
– Polimorfismo • Distribuido:
– Capacidades de interconexión TCP/IP, además de los protocolos http, ftp.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ca r a c t e r ís t ic a s d e J a va
• Robusto: – Busca errores en tiempo de compilación como en ejecución.
– El sistema de Java maneja la memoria de la computadora por lo que no es necesario reocuparse por apuntadores, memoria que no se esté utilizando, etc.
• Portable:Como el código compilado de Java (conocido como bytecode) es interpretado, un programa compilado de Java puede ser utilizado por
cualquier computadora que tenga implementado el intérprete de Java.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ca r a c t e r ís t ic a s d e J a va
• Seguro:
El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora.
• Arquitectura neutral:
Compila su código a un archivo objeto de formato independiente.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ca r a c t e r ís t ic a s d e J a va
• Multitarea:El lenguaje soporta la concurrencia a través de hilos, o sea que puede ejecutar varios procedimientos en paralelo.
• Dinámico:
Java no requiere compilar todas las clases de un programa para que funcione, si se realiza una modificación a una clase, Java se encarga de encontrar cada clase.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ot r os le ng ua j e s
• Alto nivel: FORTRAN (FORmula TRANslator), COBOL (COmmon Business Oriented Language), Pascal, ADA, BASIC (Beginner´s All-Purpose Symbolic Instruction Code, Código de instrucciones simbólicas de uso general para principiantes).
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ot r os le ng ua j e s
• ANSI C, evolucionó de otros dos lenguajes, BCPL y B. Lenguaje de desarrollo para el S.O. UNIX. En la actualidad todos los nuevos sistemas operativos importantes se escriben en C o C ++.
• C++ evolucionó de C, proporciona un conjunto de características que “mejoran” a C pero lo más importante es que proporciona la capacidad de una programación orientada a objetos.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ot r os le ng ua j e s
• Visual Basic, se introdujo para simplificar el desarrollo de aplicaciones para Microsoft Windows.
• Visual Basic.NET, diseñado para la nueva plataforma de programación de Microsoft: .NET ofrece una orientación a objetos mejorada, hace uso de la biblioteca .NET.
• Visual C++ es una implementación de Microsoft de C++.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ot r os le ng ua j e s
• .NET y C #, la plataforma .NET permite la distribución de aplicaciones basadas en Web a muchos dispositivos (incluso celulares) y computadoras de escritorio. El lenguaje de programación C#, desarrollado en Microsoft, fue diseñado específicamente para la plataforma .NET como un lenguaje que permitiera a los programadores migrar fácilmente a .NET.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
I nt e r ne t y W or ld W id e W e b
• Internet (red global de computadoras) desarrollada hace más de cuatro décadas, patrocinada por el Departamento de Defensa de los Estados Unidos.
• En principio, conectaba los sistemas de cómputo principales de una docena de universidades y organizaciones de investigación, hoy día, es utilizada por cientos de millones de computadoras en todo el mundo.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
I nt e r ne t y W or ld W id e W e b
• World Wide Web permite a los usuarios de computadoras localizar y ver documentos basados en multimedia, sobre casi cualquier tema, a través de Internet.
• Con la introducción de WWW, Internet se ha convertido explosivamente en uno de los principales mecanismos de comunicación en todo el mundo.
• Internet y WWW se encuentran, entre las creaciones más importantes de la humanidad.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Pa s os pa r a e d it a r y e j e c ut a r un pr og r a ma e n J a va
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ele me nt os b á s ic os d e l le ngua j e J a va
Definición del método main:public static void main ( String args[ ] ) { }
NOTA: Es obligatorio que los tipos de los parámetrosde main y el tipo de resultado sean los mostradosarriba.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
T ipos d e d a t os
– Primitivos:• byte, short, int, long, float, double, char, boolean
– Definidos por el usuario• Se refiere a los nuevos tipos de objeto, llamados
clases
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
True & FalseVariable booleanaboolean
Caracter Unicodechar
15 d.s.
10^(-324) a 10^308
Punto flotante,
64 bits
double
6 dígitos significativos
10^(-46) a (10^38)
Punto flotante, 32 bits
float
-(2^63) a (2^63)-1Entero 64 bitslong
-2,147,483,648 a
2,147,483,647
Entero 32 bitsint
-32,768 a 32767Entero 16 bitsshort
-128 a 127Entero 8 bitsbyte
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Lit e r a le s
• Por default, una constante entera es de tipo int.• Por default, una constate con decimales es double.• Para cambiar estos default podemos hacer uso de las
literales l y f.• ejemplos:
123l, se cambia a long
23.8f, se cambia a float
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
I d e nt if ic a d or e s
• Se usan para nombrar variables, constantes, métodos, clases, etc.
• Deben iniciar con letra (a-z, A-Z)• Solo pueden contener letras, números, underline (_) y
$• Pueden ser de cualquier longitud• Se hace diferenciación entre mayúsculas y minúsculas
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E s t á nd a r e s pa r a id e nt if ic a d or e s
• Por estándar, se utiliza la primera letra minúscula para nombres de métodos, variables y constantes.
• Por estándar, se utiliza la primera letra mayúscula para nombres de clases.
• Si el nombre esta compuesto por más de una palabra se recomienda se utilice mayúscula en la primera letra de cada una de las palabras (p.e. ImpuestoPredial, EmpleadoVentas).
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
I d e nt if ic a d or e s
• Ejemplos:
Válidos no válidos
Empleado 2004ventas
x _area
gastos2004 tu edad
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Pa la b r a s c la ve
whilesupernewforcontinue
volatilestaticnativefloatclass
voidshortlongfinallychar
tryreturninterfacefinalcatch
throwspublicintextendscase
throwprotectedinstanceofelsebyte
thisprivateimportdoublebreak
synchronizedpackageimplementsdoboolean
switchnullifdefaultabstract
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
S e c ue nc ia s d e e s c a pe
\n carácter de nueva línea
\t tabulador horizontal
\r retorno de carro
\\ carácter de barra inclinada
\’ carácter comilla simple
\” carácter de dobles comillas
\0 caracter nulo
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Come nt a r ios
/* Heredado de C */
// Heredado de C++
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Cons t a nt e s
•Son valores que no cambian mientras el programa está ejecutando.•Ejemplos:
e
pi
velocidad de la luz
aceleración debido a la gravedad
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Cons t a nt e s (c ont .)
• Enteras: Se representan en notación decimal, octal o hexadecimal
• Para octales: prefijo 0• Para Hexadecimales: prefijo 0x
• Tipo carácter: Se encierran entre dos comillas simples (por ejemplo, ‘x’)
• Tipo cadena: Se encierran entre dobles comillas (por ejemplo, “cadena”)
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Cons t a nt e s (c ont .)
• Un enfoque es escribir los valores directamente en el programa.
• Ejemplos:
area = 3.1416 * r * r ;
energia = masa * altura * 9.8f;
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Cons t a nt e s (c ont .)
• Otro enfoque es declarar tales números como variables que tienen un valor constante y asignarles un nombre.
final tipo_dato constante = valor;Ejemplo:
final float g = 9.8f;….energia = masa * altura * 9.8f;
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Va r ia b le s
• ¿Qué es?• Es un espacio en memoria que nos sirve para
almacenar información.• El tamaño de este espacio de memoria varía
dependiendo de la información que se desea guardar, esto es, depende del tipo de dato con que se declare la variable.
• El nombre con que se referencia una variable sigue la regla para identificadores.
Ver página 45
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
De c la r a c ión d e va r ia b le s
Tipo_dato lista_de_variables;
• Donde lista_de_variables puede ser el nombre de una variable o una lista de variables separadas por comas.
• No se permite el uso de palabras reservadas ni reutilizar nombres de identificadores.
• Java es sensible a mayúsculas
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
De c la r a c ión d e va r ia b le s (c ont .)
• Ejemplos:
int num3;
int x = 0, num2 = 5;
int num1 = num2;
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ope r a d or e s a r it mé t ic os
• Aritméticos+ suma- resta* multiplicación/ división% residuo de la división++ incremento en uno-- decremento en uno/ para datos enteros, regresa la parte entera del resultado
Ver página 46
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ope r a d or e s a r it mé t ic os (c ont .)
• Ejemplos:
7 / 3 regresa 2
int x = 7/3; asigna a x un 2
double y = 7/3; asigna a y un 2.0
double y = 7/3.0; asigna a y un 2.333
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ope r a d or e s r e la c iona le s y d e ig ua ld a d
• Relacionales:< x > y x es mayor que y> x < y x es menor que y<= x <= y x es menor o igual que y>= x >= y x es mayor o igual que y
• De igualdad:== x == y x es igual a y!= x != y x no es igual a y
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ope r a d or e s lóg ic os (c ont .)
&& AND condicional
|| OR condicional
! NOT lógico o negación lógica
Ver página 167
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Ope r a d or e s d e a s ig na c ión
– Común: =– Compuestos: +=, -=, *=, /=
Expresión equivale a expresión
c += a c = c + a
Modifican el valor de la variable situada en el lado izquierdo del operador.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Pr ior id a d d e los ope r a d or e s
Nivel operador asociatividad
1 !,--,++,-(negativo), + (positivo) de derecha a izquierda
3 *, /, % de izquierda a derecha
4 +, - de izquierda a derecha
5 <, <=, >, >= de izquierda a derecha
6 ==, != de izquierda a derecha
7 && de izquierda a derecha
8 || de izquierda a derecha
9 =, +=, -=,*=, /=, %= de derecha a izquierda
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E x pr e s ione s
int a = 5; a = 5
b = 8 + a++; b = (8 + 5) = 13, a = 6
c = 8 + ++a; c = (8 + 7) = 15, a = 7
Ver página 46
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E x pr e s ione s (e j e r c ic ios )
• Para las variables int a = 5, p = 6 y q = 3 y las variables double b, y r, evaluar las siguientes expresiones:r = 5 – 3 * 9 / 2 + ++p;
b = 5 / 2 + --a;
r = q++ -p - +2;
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Conve r s ione s d e t ipo (c a s t ing )
• Es un proceso que convierte un tipo de dato a otro tipo de dato.
• Tipos de casting:– Implícito.
– Explícito.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Conve r s ione s d e t ipo (c ont .)
• Casting implícito:Se realiza de forma automática cuando un tipo de menor capacidad se asigna a un tipo de mayor capacidad, también llamado promoción numérica.
byte -> short -> int -> long -> float -> double ejemplo:
double n;int x = 7; n = 2.0n = x / 3;
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Conve r s ione s d e t ipo (c ont .)
• Casting explícito:
Es necesario utilizar un operador de tipo cast.
Ejemplo:
double n;
int a = 7;
n = (double) a / 3; n = 2.333
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Conve r s ione s d e t ipo (c ont .)
int x = 6, y = 10;
double cociente;
Como solución se usaría la siguiente conversión de tipo:
cociente = (double) x / y;
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E j e r c ic ios
• ¿Cuál de las siguientes formas es la forma correcta de realizar el casting y por qué?
a) b)
int n; int n;
double x = 2.1; double x = 2.1;
n = x; n = (int) x;
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
F unc ione s b á s ic a s (pr e d e f inid a s )
• La clase Math proporciona una colección de métodos que le permitirán realizar cálculos matemáticos comunes.
• Para usar cualquiera de las funciones o constantes, la forma general de uso es la siguiente:
variable = Math.función( parámetros); variable = Math.constante;
• O usarse como argumento, como parte de una expresión,etc.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
F unc ione s b á s ic a s (pr e d e f inid a s , c ont .)
• Ejemplos:
y = Math.sqrt( x ) * x;
y = Math.PI * Math.pow( radio, 2 );
calcula( Math.round(y) , 20, valor);
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
F unc ione s b á s ic a s (pr e d e f inid a s )
abs( x ) pow( x, y )ceil( x ) sin( x )cos( x ) sqrt( x )exp( x ) tan( x )floor( x )log( x )max( x, y )
min( x, y ) ver página 191
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
F unc ione s b á s ic a s pr e d e f inid a s (c ont .)
• Ejercicios:
Para variables int i = 4 y j = 2, evalúa las siguientes funciones predefinidas:
abs( i – 2 * j )
sqrt( i * i + j * j )
pow( i, j )
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E nt r a d a y s a lid a e s t á nd a r
• Para leer y escribir de/en la consola se utiliza la clase System.
• System.in: permite introducir datos del teclado.• System.out: permite enviar datos a la pantalla
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E s c r it ur a
• Print escribe y no brinca de línea• Println escribe y brinca de línea
Nota: todo lo que se escribe se debe convertir a String
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Pr ime r pr og r a ma e j e mplo
// Programa para imprimir texto en la pantallapublic class Bienvenido1{
public static void main ( String args[] ){
System.out.println ( “ Bienvenido a la programación en Java! ” );} //fin de main
} //fin de la class Bienvenido1
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Outline
• Welcome4.java
• main
• printf
•Program output
1 // Ejemplo1: Bienvenido.java
2 // Imprimiendo multiples lineas.
3
4 public class Bienvenido // clase principal
5 {
6 // método main empieza la ejecución de la aplicación Java
7 public static void main( String args[] )
8 {
9 System.out.print(
10 "¡Bienvenido a" + "\n la programacion en Java!" );
11
12 } // fin metodo main
13
14 } // fin class Bienvenido
¡Bienvenido a la programación en Java!
System.out.print despliega datos formateados en pantalla.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Le c t ur a e s t á nd a r
• Se leen datos desde el teclado.• Utilice el compilador jdk1.5.0_04• Ver el siguiente ejemplo
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Le c t ur a e s t á nd a r
• Otra forma de dar entrada a datos desde el teclado es la siguiente:
• Use la clase BufferedReader y el método readLine() como se muestra a continuación:
Private BufferedReader teclado;
Teclado = new BufferedReader (new InputStreamReader(System.in,1);
• Nota: el 1 indica el tamaño del buffer (puede omitirse).
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Le c t ur a e s t á nd a r
• Para leer la línea de datos, se utiliza:
String cadena = teclado.readLine();
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
import java.io.*; //importa el paquete java.io
public class nombre
{
public static void main(String args[]) throws IOException //excepciones que lanza el método
{
private BufferedReader teclado;
String nombre; //declara una variable cadena
//se crea la conexión con el teclado
teclado = new BufferedReader(new InputStreamReader(System.in),1);
System.out.println( "Cual es tu nombre?");
nombre = teclado.readLine();
System.out.print("Felicidades ");
System.out.print(nombre);
System.out.println(" ! se leyo tu nombre del teclado");
System.out.println("Bye");
}
}
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
import java.io.*; //importa el paquete java.io
public class Cuadrado
{
public static void main(String args[]) throws IOException //excepciones que lanza el método
{
private BufferedReader teclado;
String nombre, dato; //declara una variable cadena
float numero;
//se crea la conexión con el teclado
teclado = new BufferedReader(new InputStreamReader(System.in));
System.out.println( "Cual es tu nombre?");
nombre = teclado.readLine();
System.out.println( “Dame un numero real (con punto decimal)");
dato = teclado.readLine();
//convertir el string a numero
numero = Float.parseFloat(dato);
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
// se despliegan resultados
System.out.print(“El cuadrado del numero que ");
System.out.print(nombre);
System.out.println(" tecleo es: “ + (numero * numero));
System.out.println("Bye");
}
}
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 6
M.T . Ma r ía Luis a J uá r e z A g uila r
I ns t r uc c ione s c ond ic iona le s
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
I ns t r uc c ión if - e ls e
• Estatuto if :if (condición)
instrucción uno;else
instrucción dos;
Nota: las instrucciones uno o dos pueden ser compuestas, en la forma { inst1; … instn ;}
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
if s imple
• También puede omitirse la parte else:
if (condición)
instrucción;
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Operadores algebraicos de igualdad y relacionales
Operadores de igualdad y relacionales en Java
Ejemplo de una condición en Java
Significado de una condición en Java
Operadores de igualdad == x == y x es igual a y != x != y x no es igual a y Operadores relacionales > x > y x es mayor que y < x < y x es menor que y >= x >= y x es mayor que o igual a y ≤ <= x <= y x es menor que o igual a y
Ope r a d or e s r e la c iona le s y d e ig ua ld a d
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Outline
• Comparison.java
• (1 of 2)• 1. Class
Comparison
1.1 main
1.2 Declarations
1.3 Input data (nextInt)
1.4 Compare two inputs using if statements
1 // Fig. 2.15: Comparison.java 2 // Compara enteros usando estatutos if, operadores relacionales 3 // y operadores de igualdad. 4 import java.util.Scanner; // uso de la class Scanner 5 6 public class Comparison
7 {
8 // el método main comienza la ejecución de la aplicación Java 9 public static void main( String args[] )
10 { 11 // crea una variable Scanner para obtener entrada desde la ventana de comandos 12 Scanner input = new Scanner( System.in ); 13 14 int number1; // primer número a comparar 15 int number2; // segundo número a comparar 16 17 System.out.print( "Escriba el primer entero: " ); // prompt 18 number1 = input.nextInt(); // leer el primer número del usuario 19 20 System.out.print( "Escriba el segundo entero: " ); // prompt 21 number2 = input.nextInt(); // leer el segundo número del usuario 22 23 if ( number1 == number2 ) 24 System.out.printf( "%d == %d\n", number1, number2 ); 25 26 if ( number1 != number2 ) 27 System.out.printf( "%d != %d\n", number1, number2 ); 28 29 if ( number1 < number2 ) 30 System.out.printf( "%d < %d\n", number1, number2 );
Al evaluarse la igualdad, despliega el resultado usando printf.
Compara dos números usando
operador relacional <.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Outline
• Comparison.java
• (2 of 2)
• Program output
31 32 if ( number1 > number2 ) 33 System.out.printf( "%d > %d\n", number1, number2 );
34
35 if ( number1 <= number2 )
36 System.out.printf( "%d <= %d\n", number1, number2 );
37
38 if ( number1 >= number2 )
39 System.out.printf( "%d >= %d\n", number1, number2 );
40
41 } // fin método main
42
43 } // fin class Comparison Escriba el primer entero: 777 Escriba el segundo entero: 777 777 == 777 777 <= 777 777 >= 777 Escriba el primer entero: 1000 Escriba el segundo entero: 2000 1000 != 2000 1000 < 2000 1000 <= 2000
Escriba el primer entero: 2000 Escriba el segundo entero: 1000 2000 != 1000 2000 > 1000 2000 >= 1000
Compara dos números usando
operadores relacionales >, <=
y >=.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E r r or e s c omune s d e pr og r a ma c ión
• Olvidar el paréntesis derecho/izquierdo en la condición del estatuto if.
• Confundir el operador de igualdad == con el operador de asignación =.
• Contener espacios en los operadores relacionales ==, !=, >= y <= entre sus símbolos = =, ! =, > = y < =, respectivamente.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
E r r or e s c omune s d e pr og r a ma c ión
• Colocar al revés los operadores !=, >= y <=, =!, => y =<.
• Colocar un punto y coma inmediatamente después del paréntesis derecho de la condición del estatuto if.
Nota: todos estos son errores de compilación.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
I ns t r uc c ión s wit c h
switch (expresion)
{ case constante1 : sentencia1;
case constante2 : sentencia2;
case constanten : sentencian;
default : sentencia;
}
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
I ns t r uc c ión s wit c h (c ont .)switch (calif){ case 0:
case 1:case 2:case 3:case 4:case 5:case 6: System.out.println(“REPROBADO”); break;case 7:case 8: System.out.println(“ALUMNO REGULAR”); break;case 9:case 10: System.out.println(“ALUMNO EXCELENTE”); break;default: System.out.println(“CALIFICACION INVALIDA”); break;
}
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
N ot a s g e ne r a le s
• La condición de un if debe estar dentro de paréntesis.• Si el if o el else tienen varias sentencias, estos deben estar entre
llaves {}.• Todas las sentencias dentro del if o dentro del else deben ser
seguidos por un punto y coma.• La expresión a evaluar dentro de un switch debe de ser int,
char, short o byte.• Es importante no olvidar la instrucción break en cada caso a
trabajar dentro del switch.
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
I ns t r uc c ione s r e pe t it iva s( c ic los )
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
T ipos d e c ic los
• while• for• do-while
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Cic lo wh ile
while ( condición )
instrucción;
• El cuerpo del ciclo while puede ser compuesto y para ello debe utilizar las llaves {inst1; …; inst2; }
• Ver ejemplo:
Pr og r a ma c ión I I A g os t o - Dic ie mb r e 0 7
M.T . Ma r ía Luis a J uá r e z A g uila r
Cic lo f or
for (inicialización; condicion; actualización)
instrucción;
Donde instrucción puede ser más de una instrucción encerradas entre llaves {}.
Top Related