Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Clases y Objetos
Clases Y Objetos
Declaracin de atributos;
Declaracin de mtodos;
Nombre de la clase
Mtodos
Atributos
//inicio de clase
//Declaracin de atributos
int codigo;
String nombre;
int horas;
double tarifa;
double sueldo;
//Declaracin de mtodos
String datosPersonales(){
return "Cdigo: "+codigo + "\nNombre: " +nombre; }
double calculaSueldo(){
return horas * tarifa;
}
//fin de clase
Empleado
datosPersonales ():String
calculaSueldo ():double
codigo:int
nombre:String
horas:int
tarifa:double
sueldo:double
}
}
Sentencias Condicionales
If Else:
Este es su modo ms simple de empleo.
if(condicion) {
Grupo de sentencias
if(condicion) {
Grupo de sentencias
}
else{
Grupo2 de sentencias
}
En este segundo caso si condicin toma el valor true se ejecuta el primer grupo de
sentencias, en caso contrario se ejecuta Grupo2 de sentencias. En ambos casos se
contina ejecutando el resto del cdigo de la aplicacin.
En los casos anteriores hemos utilizado llaves { } para encerrar los grupos de sentencias a
ejecutar, pero de tratarse de una sola lnea de cdigo a ejecutar estas llaves pueden
obviarse, como vemos en el siguiente ejemplo:
int val1 = 2;
int val2 = 3;
}
}
El resultado de ejecutar este cdigo ser un mensaje en consola diciendo: val2 es mayor.
Cambia los valores de val1 y val2, compila y vuelve a ejecutar para que veas otro resultado.
Switch:
La sentencia switch proporciona una forma limpia de dirigir la ejecucin a partes diferentes
del cdigo en base al valor de una variable o expresin. Esta es la forma general de esta
sentencia:
switch(selector) {
En las condiciones de esta sentencia slo se admite la igualdad. Adems esta comparacin
de igualdad slo admite valores tipo char o cualquier tipo de valores enteros menos long.
No podemos comparar contra reales, strings, etc. Tambin se le podra criticar el hecho de
que una vez cumplida una condicin se ejecuten todas las otras sentencias si no hay
instrucciones break que lo impidan. Esto es en muchas ocasiones fuente de errores, aunque
tambin hay que reconocer que a veces se le puede sacar partido, de hecho en el ejemplo
que empleamos para ilustrar esta sentencia aprovechamos esta caracterstica:
public class Ejemplo_Switch{
public static void main(String[] args){
char c = 'b';
System.out.print(c + ": ");
switch(c){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println("vocal");
break;
default:
System.out.println("consonante");
}
}
}
BUCLES
Son instrucciones que nos permiten repetir un bloque de cdigo mientras se cumpla una
determinada condicin. Pasemos a ver sus tipos.
While:
Ejecuta una sentencia repetidamente mientras una expresin booleana sea verdadera. Esta
es su forma general:
[ inicializacin; ]
while ( terminacin ) {
cuerpo;
[ iteracin; ]
int r =10;
while(r > 0) {
System.out.println(r);
r = r -1; //r-=1;
}
Do-while:
La contruccin do-while se utiliza cuando se desea ejecutar el cuerpo de un bucle while al
menos una vez, incluso si la expresin booleana tiene el valor false la primera vez. Es decir
si se desea evaluar la expresin de terminacin al final del bucle en vez de al principio como
en el while.
[ inicializacin; ]
do {
cuerpo;
[ iteracin; ]
}while ( terminacin );
int r =10;
do {
System.out.println(r);
r = r -1; //r-=1;
} while(r > 0);
}
}
For:
La sentencia for es una forma compacta de expresar un bucle.
Si las condiciones iniciales no provocan que la terminacin devuelva true la primera vez,
entonces la sentencia cuerpo e iteracin no se ejecutarn nunca. Ejemplo de un bucle for:
}
}
A continuacin implementaremos una GUI (interfaz grfica de usuario) para nuestra clase
Empleado. Para esto utilizaremos el paquete AWT que contiene los componentes
necesarios para dicha implementacin y otras clases que iremos viendo a lo largo del curso.
Lo primero que debemos hacer es crear un proyecto nuevo, luego digitar el siguiente cdigo
en el Applet:
import java.awt.*;
import java.applet.*;
Button btnMostrar;
TextArea txtResultado;
add(btnMostrar);
add(txtResultado);
}
}
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
Button btnMostrar;
TextArea txtResultado;
El texto que estamos aumentando est resaltado con negrita. El resultado debe ser similar
a la pantalla anterior pero con el texto Hola impreso en el TextArea al presionar el botn.
Ahora utilicemos nuestra clase Empleado para mostrar los atributos de una de sus
instancias en el TextArea, lo haremos digitando el siguiente cdigo en el mtodo
actionPerformed:
public void actionPerformed(ActionEvent e){
Sesin
2
Herencia y Polimorfismo
Variables
La variable es la unidad bsica de almacenamiento en un programa en Java. Una variable
se define mediante la combinacin de un identificador, un tipo y un mbito.
Declaracin y mbito de una Variable
Un tipo define una expresin o variable de manera que se puede predecir su
comportamiento. Esta seccin trata los tipos principales de Java, mostrando cmo
declarar variables, asignar valores y combinar tipos en expresiones.
El tipo puede ser: byte, short, int, long, char, float, double, boolean o el nombre de
una clase (en este caso se le llama objeto o instancia de clase).
mbito de una variable
Los bloques de sentencias compuestas en Java se delimitan con dos llaves { }. Las
variables de Java slo son vlidas desde el punto donde estn declaradas hasta el
final de la sentencia compuesta que la engloba. Se pueden anidar estas sentencias
compuestas y cada una puede contener su propio conjunto de declaraciones de
variables locales. Sin embargo, no se puede declarar una variable con el mismo
nombre que una de un mbito superior.
Mtodos
Declaracin de mtodos
En Java toda la lgica de programacin (Algoritmos) est agrupada en funciones o
mtodos.
Un mtodo es:
Por ejemplo:
int sumaEnteros ( int a, int b ) {
int c = a + b;
return c;
}
Void haceAlgo() {
...
}
int x;
x = sumaEnteros(2,3);
CONSTRUCTORES:
Cuando se crea un objeto (se instancia una clase) es posible definir un proceso de
inicializacin que prepare el objeto para ser usado. Esta inicializacin se lleva a
cabo invocando un mtodo especial denominado constructor. Esta invocacin es
implcita y se realiza automticamente cuando se utiliza el operador new. Los
constructores tienen algunas caractersticas especiales:
class Punto{
int x , y;
class Principal{
public static void main(String args[]){
int a=10, b=20;
Punto p=new Punto(a,b);
System.out.println(objeto creado);
System.out.println(p.x+ +p.y);
}
}
HERENCIA:
Relaciona clases una encima de otra de una manera jerrquica. Esto permite que
una clase herede todas las variables y mtodos de sus ascendientes, adems de
crear los suyos propios. Para heredar una clase hay que utilizar la palabra clave
extends.
class Punto{
int x , y;
Punto(int a, int b){
x=a;
y=b;
}
}
z=c;
}
}
class Principal{
public static void main(String args[]){
int a=10, b=20,c=30;
Punto2 p=new Punto2(a,b,c);
System.out.println(objeto creado);
System.out.println(p.x+ +p.y+ +p.z);
}
}
SOBRECARGA:
Se utiliza para crear ms de un mtodo con el mismo nombre, pero con distinto
nmero de parmetros y operaciones distintas. La sobrecarga se puede utilizar para
miembros constructores o de otro tipo.
EJEMPLO:
class Punto{
int x,y;
Punto(int a, int b){ //Un mtodo constructor
x=a;
y=b;
}
Punto( ){
x=-1;
y=-1;
}
}
class principal{
public static void main(String args[]){
//Aqu se aplica polimorfismo.
Punto p=new Punto();
//Aqu se aplica polimorfismo.
Punto p2=new Punto(10,20);
System.out.println(p.x+ +p.y);
System.out.println(p2.x+ +p2.y);
}
}
POLIMORFISMO:
A los mtodos que actan sobre los objetos se les pasa informacin. Estos
parmetros representan los valores de entrada a una funcin. El Polimorfismo
significa que un mtodo tenga mltiples implementaciones que se seleccionan en
base a que tipo de objeto se le pasa.
Nota: Los mtodos siempre deben empezaran con letra minscula y las
clases con letra mayscula.
En esta nueva clase crear los mtodos suma, resta, multiplica y divide.
Como sigue:
Ahora vamos a desarrollar un applet que utilice la clase Operaciones, para eso
tiene que seguir los siguientes pasos:
Ejercicio 1. Ahora intente crear un botn para elevar el primer valor al segundo
valor, usando mtodos de la clase Math.
Ejercicio 2. Genere un mtodo recursivo que permita generar el factorial del primer
valor.