Manual Basico Java
Manual Basico Java
Introduccin.
En el primer captulo se Identificara y analizara el lenguaje de programacin Java, sus
fundamentos, sus estructuras de control de programa, y sus clases. Se
conocer los
Ejercicios Prcticos
Facultad de Sistemas
Pgina 1 de 75
II Ciclo
Al final del curso el participante ser capaz de alcanzar los siguientes objetivos:
implementar programas usando la sintaxis de Java bsica
Implementar programas
Facultad de Sistemas
Pgina 2 de 75
II Ciclo
INDICE
CAPITULO 1:
Principios fundamentales sobre Programacin Orientada a Objetos
1.1
1.2
1.3
11
1.4
14
1.5
16
1.6
19
1.7
30
46
52
60
1.8.2 Constructores
66
1.9
67
1.10
Arreglos en JAVA
68
69
1.8
1.11
Resumen
Facultad de Sistemas
Pgina 3 de 75
II Ciclo
CAPITULO 1:
Fundamentos de Programacin Orientada a objetos
Objetivos:
Al finalizar este capitulo
Introduccin:
La Programacin Orientada a Objetos facilita la creacin de software de calidad
basadas en el modo de pensar del hombre, con el modo de operar de las mquinas
y se centra en los conceptos bsicos que son los objetos a la cuales se le atribuye
sus propiedades, mtodos y a su vez se generan los modelos de herencia,
abstraccin, encapsulamiento y polimorfismo.
Facultad de Sistemas
Pgina 4 de 75
II Ciclo
Originalmente llamado OAK por los ingenieros de Sun Microsystems, Java fue
diseado para correr en computadoras de propsito especifico tales como
controlar la humedad y la temperatura, controlar el ritmo cardiaco. Sin embargo,
en 1995, dada la atencin que estaba produciendo la Web, Sun Microsystems
la distribuy para sistemas operativos tales como Microsoft Windows.
El lenguaje mismo se inspira en la sintaxis de C++, pero su funcionamiento es
ms similar al de Smalltalk que a ste. Incorpora sincronizacin y manejo de
tareas en el lenguaje mismo (similar a Ada) e incorpora interfaces como un
mecanismo alternativo a la herencia mltiple de C++.
CREADOR:
Hay ms de cinco versiones distintas sobre el origen, concepcin y desarrollo
de Java, desde la que dice que ste fue un proyecto que rebot durante mucho
tiempo por distintos departamentos de Sun sin que nadie le prestara ninguna
atencin, hasta que finalmente encontr su nicho de mercado en la aldea
global que es Internet; hasta la ms difundida, que justifica a Java como
lenguaje de pequeos electrodomsticos.
Pese a lo que pareca ya un olvido definitivo, Bill Joy, cofundador de Sun y
uno de los desarrolladores principales del Unix de Berkeley, juzg que Internet
podra llegar a ser el campo de juego adecuado para disputar a Microsoft su
primaca casi absoluta en el terreno del software, y vio en Oak el instrumento
idneo para llevar a cabo estos planes. Tras un cambio de nombre y
Facultad de Sistemas
Pgina 2 de 75
II Ciclo
COMPILAR
CDIGO
OBJETO
LINKEAR
PROGRAMA
EJECUTABLE
Facultad de Sistemas
Pgina 3 de 75
II Ciclo
SUBPROGRAMA1
MDULO11
PROGRAMA
PRINCIPAL
SUBPROGRAMA2
MDULO2
MDULO21
PROGRAM
FUNCTION, PROCEDURE
CDIGO(DATOS,
VARTIABLES)
Facultad de Sistemas
Pgina 4 de 75
II Ciclo
ESTRUCTURADO
Clase
Tipo
Objeto
Variable
Mtodo
Subprograma
MTODOS
DATOS
Facultad de Sistemas
Pgina 5 de 75
II Ciclo
OBJETO
RECEPTOR
MENSAJE
(EVENTO)
Mtodos
Mtodos
Datos
Datos
B
Figura 5.Mensaje entre Objetos
MTODOS
DATOS
Facultad de Sistemas
Pgina 6 de 75
II Ciclo
CLASE BASE
JERARQUA
DE
CLASES
HERENCIA
SUBCLASE
INSTANCIA
OBJETO
PROPIEDADES
EVENTOS
ENCAPSULAMIENTO
MTODOS CON
EVENTOS
MTODOS SIN
EVENTOS
POLIMORFISMO
Facultad de Sistemas
Pgina 7 de 75
II Ciclo
FACTURA
NOMBRE DE LA
CLASE
CLIENTE
DESCRIPCIN
PRECIO
CANTIDAD
DATOS
MTODOS
LEER()
ESCRIBIR()
CALCULAR()
GUARDAR()
ENVIAR()
Facultad de Sistemas
Pgina 8 de 75
II Ciclo
CLASE BASE
Clase Hija 2
Clase Hija 1
Clase Hija 11
Clase Hija 3
Clase Hija 12
LARGO
ANCHO
RADIO
RECTANGULO()
CIRCULO()
VOLUMEN
ALTURA
AA
CUBO()
CILINDRO()
Facultad de Sistemas
Pgina 9 de 75
II Ciclo
COMPORTAMIENTO
DIBUJAR
Figura 11.-Poliformismo
Encapsulamiento (Encapsulado, Encapsulacin). Dentro de un objeto parte
de sus datos pueden ser privados del objeto e inaccesible fuera de l. De esta
forma, un objeto proporciona un significativo nivel de proteccin contra
modificaciones accidentales o contra un uso incorrecto de la informacin que
contiene.
CARROS ---------- OBJETOS
CLASE
BASE
CARROS
HERENCIA
CARGA
PASAJERO
CARRERA
Primer Nivel
OMNIBUS
Segundo Nivel
COMBIS
COLECTIVOS
DESCENDIENTES
E
N
C
A
P
S
U
L
A
M
I
E
N
T
O
Facultad de Sistemas
Pgina 10 de 75
II Ciclo
fichero
de
nombre
HolaMundo.class,
con
el
cdigo
ejecutable
Facultad de Sistemas
Pgina 11 de 75
II Ciclo
cualquier UNIX, que s distingue unas y otras). Asegurate por tanto, de que las
palabras estn correctamente escritas.
Cuando pones javac Programas\Ejemplo1\HolaMundo.java ests indicando al
compilador que busque un archivo de nombre HolaMundo.java en la ruta
Programas\Ejemplo1, a partir del directorio actual; es decir, ests especificando
la ruta de un archivo.
En el ejemplo se utiliza la clase del API de Java System. Sin embargo el
programa no tiene ningn import. No obstante el compilador no detecta ningn
error y genera el cdigo ejecutable directamente. Esto se debe a que la clase
System est definida en el package java.lang, que es el nico del que no es
necesario hacer el import, que es hecho implcitamente por el compilador.
Para cualquier clase del API, definida fuera de este package es necesario
hacer el import correspondiente.
Ejecucin de un programa Java
PASO 3: Ejecutar el programa: Desde la ventana DOS.
C:\ApuntesJava>java Programas.Ejemplo1.HolaMundo
Se cargar la JVM, cargar la clase HolaMundo y llamar a su mtodo main
que producir en la ventana DOS la salida:
Hola a todos
Los archivos .class son invocables directamente desde la lnea de comandos
(con la sintaxis java nombreDeClase) si tienen un mtodo main Se puede
indicar a la JVM que busque las clases en rutas alternativas al directorio actual.
Esto se hace con el parmetro -classpath (abreviadamente -cp) en la lnea de
comandos. Por ejemplo si el directorio actual es otro, podemos invocar el
programa de ejemplo de la forma:
C:\Windows>java -cp C:\ApuntesJava Programas.Ejemplo1.HolaMundo
Con el parmetro -cp se puede especificar diversas rutas alternativas para la
bsqueda de clases separadas por ;
Cuando pones java Programas.Ejemplo1.HolaMundo ests indicando a la JVM
que cargue y ejecute la clase HolaMundo del Package Programas, subpackage
Ejemplo1. Para cumplir est orden, expresada en trminos Java de clases y
packages
la
JVM
buscar
el
archivo
HolaMundo.class
en
la
ruta
Pgina 12 de 75
II Ciclo
Facultad de Sistemas
Pgina 13 de 75
II Ciclo
Es posible que un mismo IDE pueda funcionar con varios lenguajes de programacin.
Este es el caso de Eclipse o NetBeans, que mediante pluggins se le puede aadir
soporte de lenguajes adicionales
Facultad de Sistemas
Pgina 14 de 75
II Ciclo
ECLIPSE
de
aplicaciones
cliente,
como
BitTorrent
Azureus.
NETBEANS
Facultad de Sistemas
Pgina 15 de 75
II Ciclo
NetBeans es un proyecto de cdigo abierto de gran xito con una gran base de
usuarios, una comunidad en constante crecimiento, y con cerca de cien socios en todo
el mundo. Sun MicroSystems fund el proyecto de cdigo abierto NetBeans en junio
2000 y contina siendo el patrocinador principal de los proyectos.
Facultad de Sistemas
Pgina 16 de 75
II Ciclo
Facultad de Sistemas
Pgina 17 de 75
II Ciclo
Facultad de Sistemas
Pgina 18 de 75
II Ciclo
lo dejamos marcado
lo desmarcamos
Facultad de Sistemas
Pgina 19 de 75
II Ciclo
Facultad de Sistemas
Pgina 20 de 75
II Ciclo
Facultad de Sistemas
Pgina 21 de 75
II Ciclo
En nuestro caso, vamos a crear una Clase que la vamos a llamar HolaMundo
siguiendo los siguientes pasos nos situamos en la ventana Projects y con el
botn derecho del ratn seleccionamos el paquete paqholamundo
elegimos new | Other...
Facultad de Sistemas
Pgina 22 de 75
II Ciclo
Facultad de Sistemas
Pgina 23 de 75
II Ciclo
package paqholamundo;
o
Facultad de Sistemas
Pgina 24 de 75
II Ciclo
Y para que nos muestre el mensaje Hola Mundo..., tenemos que aadir el
siguiente cdigo al mtodo main(...)
Nota: Podemos ahorrarnos toda la escritura de la lnea System.out.println("");
escribiendo out y seguidamente presionando la tecla tabulador
public static void main(String[] args)
{
System.out.println("Hola Mundo...");
}
System.out.prinln("Hola Mundo...");
o
Facultad de Sistemas
Pgina 25 de 75
II Ciclo
Facultad de Sistemas
Pgina 26 de 75
II Ciclo
Facultad de Sistemas
Pgina 27 de 75
II Ciclo
: Inicio de un comentario.
*/ :Todo
lo
que
escribimos
entre
los
smbolos
anteriores
son
Ejm:
x ( 1 caracter )
suma ( 4 caracteres )
sum
nombre ( 6 caracteres )
nomb
valor_inicia l( 13 caracteres ) vi
Vlido
No Vlido
sueldo
prom 1
n1
-sum
prom_2
2n
_123
nom-5
Facultad de Sistemas
Pgina 28 de 75
II Ciclo
Ejm:
if
while
for
float
null
PALABRAS RESERVADAS:
Ejm:
if
while
for
else
case
boolean
switch
class
void
Facultad de Sistemas
Pgina 29 de 75
II Ciclo
car
car
MEMORIA
Variable
Dato o
Informacin
Direccin de
Memoria
INICIALIZACIN DE VARIABLES:
Java tiene la caracterstica de que sus variables pueden ser inicializadas en el
momento de su declaracin.
Facultad de Sistemas
Pgina 30 de 75
II Ciclo
Ejm:
double sueldo = 0.0;
int s = 0;
String cad = ;
REGLAS DE CODIFICACIN
1.- Las instrucciones o comandos podrn estar escrito en minsculas.
Ejm:
if
while
for
class
null
static
public
Ejm:
a) __________________ ;
_____________ ;
________;
b) ______________; ___________ ;
___________;
Facultad de Sistemas
Pgina 31 de 75
II Ciclo
3.- Las variables que se van a usar tienen que estar declaradas
necesariamente.
Ejm:
ar = b * h ;
per = 2 * ( b + h ) ;
bonif = 0.18 * sue ;
SENTENCIA DE ASIGNACIN:
Es muy importante, nos indica que una variable almacena (recibe) un dato o
valor mediante una expresin.
SINTAXIS:
Guarda, Almacena
Ejm:
edad = 18 ;
entero entero
num = 4 ;
sue = 658,75 ;
letra = a ;
Facultad de Sistemas
Pgina 32 de 75
II Ciclo
Tipos de datos
TIPO: Determina la naturaleza del dominio de valores que puede tomar una
variable, las operaciones en que puede participar y el espacio de memoria que
necesita.
CLASIFICACIN:
TIPOS ENTEROS:
TIPO
RANGO
MEMORIA
int
-32768 a 32767
2 Bytes
long
-2147483,648 a 2147483,647
4 Bytes
TIPOS REALES:
TIPO
RANGO
MEMORIA
float
3.4E-45 a 3.4E+38
4 Bytes
double
1.7E-308 a 1.7E+308
8 Bytes
TIPO
RANGO
Facultad de Sistemas
MEMORIA
Pgina 33 de 75
II Ciclo
bool
true / false
1 Byte
TIPO CHAR:
TIPO
RANGO
MEMORIA
char
1 Byte
EXPRESIONES Y OPERADORES
1.- EXPRESIN: Es un conjunto de operandos ms operadores.
*,+,-,/,div,mod,etc.
Constantes
EJM:
a) 5 * 4
b) ( X + 6 ) / 8
c) 80 div 5
d) not ( X > Y )
e) ( X < 80 ) and ( X > 40 )
Facultad de Sistemas
Pgina 34 de 75
II Ciclo
OPERADORES MATEMTICOS:
OPERADOR
OPERACIN
TIPO
DE TIPO
OPERANDO
RESULTADO
Suma
E R
E R
Resta
E R
E R
Multiplicacin
E R
E R
Divisin Entera
Residuo
B)
OPERADORES BOOLEANOS(LGICOS):
OPERADOR
OPERACIN
TIPO
DE TIPO
OPERANDO
RESULTADO
Negacin Lgica
boolean
boolean
&&
And Lgica
boolean
boolean
||
Or Lgica
boolean
boolean
C)
DE
OPERADORES RELACIONES(CONDICIONALES):
OPERADOR
OPERACIN
TIPO
DE TIPO
DE
OPERANDOS
RESULTADO
==
Igual
Tipos Compatibles
boolean
!=
No igual
Tipos Compatibles
boolean
<
Menor que
Tipos Compatibles
boolean
>
Mayor que
Tipos Compatibles
boolean
<=
Tipos Compatibles
boolean
>=
Tipos Compatibles
boolean
D)
DE
OPERADORES DE ASIGNACIN:
OPERADOR
Facultad de Sistemas
OPERACIN
Pgina 35 de 75
II Ciclo
++
--
+=
Suma y asignacin
-=
Resta y asignacin
*=
Multiplicacin y asignacin
/=
Divisin y asignacin
Asignacin Sencilla
EJM 1:
1) X = X +1 ;
2) X + = 1 ;
3) X + + ;
EJM 2:
1) X = X -1 ;
2) X - = 1 ;
3) X - - ;
EJM 3:
1) X + = 3 ; X = X +3 ;
2) X * = 2 ; X = X * 2 ;
3) n + + ;
n=n+1;
4) X / = 5 ; X = X / 5 ;
Estructuras bsicas
Estructuras secuenciales
Facultad de Sistemas
Pgina 36 de 75
II Ciclo
.
.
.
<Instruccin n>;
}
Estructura if Simple
Pgina 37 de 75
II Ciclo
Pgina 38 de 75
II Ciclo
Estructura switch
Es una estructura que evala una determinada expresin que puede tener
mltiples alternativas de las cuales se podr realizar una de ellas, en el caso
que sea verdadera sino se evaluaran las instrucciones de la parte falsa debajo
de la clusula default.
Sintaxis:
switch(<expresin>)
{
case valor 1:
{S valor 1 es verdad}
<Instrucciones 1>;break;
case valor 2:
{S valor 2 es verdad}
<Instrucciones 2>;break;
case valor 3:
{S valor 3 es verdad}
<Instrucciones 3>;break;
.
.
case valor n:
default:
Facultad de Sistemas
Pgina 39 de 75
II Ciclo
class claseswitch
{
public static void main(String[] args)
{
int diasemana=6;
switch(diasemana)
{
case 0:
System.out.println("Dia Lunes");
break;
case 1:
System.out.println("Dia Martes");
break;
case 2:
System.out.println("Dia Miercoles");
break;
case 3:
System.out.println("Dia Jueves");
break;
case 4:
System.out.println("Dia Viernes");
break;
case 5:
System.out.println("Dia Sabado");
break;
case 6:
System.out.println("Dia Domingo");
break;
default:
System.out.println("No existe");
break;
}
}
}
Facultad de Sistemas
Pgina 40 de 75
II Ciclo
ELEMENTOS AUXILIARES
CONTADOR:
Es una variable de tipo entero que permite controlar el nmero de repeticiones
que puede dar un conjunto de instrucciones.
Los contadores se pueden inicializar con un valor de 0 1, pero no
necesariamente.
Sintaxis:
Variable = Variable + valor;
ACUMULADOR:
Es una variable recipiente que permite guardar un conjunto de valores que
pueden ser: entero, real o cadena.
Sintaxis:
Variable = Variable + variable1;
ESTRUCTURAS REPETITIVAS:
Son empleadas en procesos repetitivos basados en rangos o condiciones.
Estructura while.- Permiten ejecutar un conjunto de instrucciones mientras
que una condicin sea verdadera.
Sintaxis:
while(<condicin>)
{
<Instrucciones>, se ejecutan mientras condicin sea verdadera
}
Estructura do ... while.- Permiten ejecutar un conjunto de instrucciones hasta
que una condicin sea verdadera.
Facultad de Sistemas
Pgina 41 de 75
II Ciclo
Sintaxis:
do
{
se repiten
}
public class clasedowhile
{
long num,contador,suma,multiplicacion;
num=0;contador=0;
do
{
contador=contador+1;
num=num+2;
System.out.println("cuenta del numero===>"+contador);
System.out.println("Numero===>"+num);
}
while(contador<=9);
}
}
Respuesta
cuenta del numero===>1
Numero===>2
cuenta del numero===>2
Numero===>4
cuenta del numero===>3
Numero===>6
cuenta del numero===>4
Facultad de Sistemas
Pgina 42 de 75
II Ciclo
Numero===>8
cuenta del numero===>5
Numero===>10
cuenta del numero===>6
Numero===>12
cuenta del numero===>7
Numero===>14
cuenta del numero===>8
Numero===>16
cuenta del numero===>9
Numero===>18
cuenta del numero===>10
Numero===>20
Facultad de Sistemas
Pgina 43 de 75
II Ciclo
Facultad de Sistemas
Pgina 44 de 75
II Ciclo
Nmero
de
}
Programa que determina el revs de un nmero
import javax.swing.*;
public class NumeroReves {
public static void main(String[] args) {
//Definiendo variable para el nmero
String c;
//Ingresando numero como texto
c=JOptionPane.showInputDialog(null,"Ingrese nmero","",1);
//Creando un nuevo objeto de tipo StringBuffer
StringBuffer c1=new StringBuffer(c);
//Aplicando el mtodo reverse para invertir el nmero
StringBuffer c2=c1.reverse();
Facultad de Sistemas
Pgina 45 de 75
II Ciclo
Estructuras Condicionales
Programa que ingresa 3 lados y determina si es equiltero, issceles o
escaleno.
import javax.swing.*;
public class triangulo {
public static void main(String[] args)
{
int lado1,lado2,lado3;
String mensaje;
mensaje="";
lado1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese
el
Primer
Lado"));
lado2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Segundo
lado"));
lado3=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el tercer
lado"));
if((lado1==lado2) && (lado2==lado3) && (lado1==lado3))
mensaje="Triangulo Equilatero";
else
if((lado1==lado2) || (lado2==lado3) || (lado1==lado3))
mensaje="Triangulo Isosceles";
else
mensaje="Triangulo escaleno";
JOptionPane.showMessageDialog(null, "El Triangulo es ===>" + mensaje +
"\n" ,"TRIANGULO",JOptionPane.INFORMATION_MESSAGE);
}
}
Pgina 46 de 75
II Ciclo
Funciones Matematicas
//Simula el lanzamiento de 3 dados
public class LanzaDados {
public static void main(String[] args) {
//Declarando variables
int i=1,c=0;
//Definiendo bucle para generar tiros
Facultad de Sistemas
Pgina 47 de 75
II Ciclo
while(i<=100) {
//Generando los #s
long d1=Math.round(Math.random()*5+1);
long d2=Math.round(Math.random()*5+1);
long d3=Math.round(Math.random()*5+1);
//Incrementa en 1 el contador
c++;
//Imprimiendo los tiros de los dados
System.out.print(d1+"\t"+d2+"\t"+d3);
System.out.println("");
//Incrementa 1 al contador
i++;
//Si los tres dados tinen 6 se termina el programa
if (d1==6 && d2==6 && d3==6){i=101;}
}
System.out.print("Fue necesario tirar "+c+" veces");
}
}
Estructuras repetitivas
//Calcula la altura de un proyectil con la formula
//h=50+200t+5t
public class Proyectil{
public static void main(String[] args){
//Definiendo variables iniciales
double h=0,t=0;
//Variable para el while
int c=0;
//Imprimiendo la cabecera
System.out.println("t"+"\t"+"h");
System.out.println("----------------------");
//Generando la altura versus tiempo
while (c<=20){
//frmula para calcular la altura
h=50+200*t+5*t*t;
System.out.print(t+"\t"+h+"\n");
c+=2; //incrementa el contador en 2
t+=2; //incrementa el tiempo en 2
}
}
}
//Calcula el factorial de un nmero
import javax.swing.*;
Facultad de Sistemas
Pgina 48 de 75
II Ciclo
Pgina 49 de 75
II Ciclo
Facultad de Sistemas
Pgina 50 de 75
II Ciclo
Los
humanos
entendemos
la
realidad
como
objetos
con
Facultad de Sistemas
Pgina 51 de 75
II Ciclo
Pgina 52 de 75
II Ciclo
Pgina 53 de 75
II Ciclo
Facultad de Sistemas
Pgina 54 de 75
II Ciclo
estado.
Ejemplo
Facultad de Sistemas
Pgina 55 de 75
II Ciclo
// mtodo comer
{
// como come
}
public void caminar()
// mtodo caminar
{
// como camina
}
public boolean cualestusexo()
// mtodo cualestusexo
{
return sexo;
}
Los Estados de una Clase
Es el conjunto de valores o datos que posee un objeto dentro de sus
propiedades. El estado es lo que lo hace diferente a un objeto de otro. De
acuerdo a su estado se deriva la forma de comportamiento de un objeto.
Creacin de Los Estados
public persona(String a, int e, boolean s)
{
apelllido=n;
edad=e;
sexo=false;
Facultad de Sistemas
Pgina 56 de 75
II Ciclo
}
public persona(String n, int e) {
nombre=n;
edad=e;
}
La Instancia de una Clase
Es la creacin de un nuevo objeto a partir de una clase padre.
Nota:
Para instanciar un objeto se requiere de la construccin de un estado.
El instanciamiento de un Objeto debe estar indicado dentro del mtodo esttico
main.
Instanciamiento en Java:
Persona p1=new Persona(Ruiz",30);
Persona p2=new Persona(Vasquez",15);
Persona p3=new Persona(Gmez",15,false);
Referencia de un Objeto
Permite asignar al objeto instanciado otros nombres, sin que este objeto
instanciado se duplique al recibir otras referencias. Un objeto puede tener una,
ninguna o muchas referencias. Si se Cambia el valor de una propiedad de
alguna de las referencias del objeto, este cambio afecta a todas las referencias
y al mismo objeto instanciado, porque en s se trata de un solo objeto y no de
varios.
Creacin de una Referencia:
Martha=p2; // El objeto Martha recibe la referencia de p2
Variables Estticas
Facultad de Sistemas
Pgina 57 de 75
II Ciclo
Mtodos Estticos
Son
aquellas
acciones
funciones
que
pertenecen
Persona.promedio()
Facultad de Sistemas
Pgina 58 de 75
II Ciclo
Ejercicio1
Crear un objeto persona que tenga propiedades tales como la edad, su
nombre y direccin
ClaseObjeto.class
package javabasico;
public class ClaseObjeto {
public int edad;
public String nom,direccion;
}
Main.class
public class Main {
public static void main(String[] args) {
// TODO code application logic here
ClaseObjeto persona=new ClaseObjeto();
persona.nom="Susana Ruiz Cortez";
persona.direccion="Jr Felipe Pingo Alva 173";
persona.edad=33;
System.out.println("El Nombre es===>"+persona.nom);
System.out.println("La Direccin es===>"+persona.direccion);
System.out.println("La edad es===>"+persona.edad);
}
}
Resultado
El Nombre es===>Susana Ruiz Cortez
La Direccin es===>Felipe Pinglo Alva 175
La edad es===>33
Facultad de Sistemas
Pgina 59 de 75
II Ciclo
Ejercicio 2
Crear un objeto llamado Persona con las propiedades nombre, edad,
direccin, y se pueda enviar su talla(con mtodos)
package javabasico;
public class ClaseObjeto {
public int edad;
public String nom,direccion;
public void talla(double t)
{
System.out.println("La talla de la persona es ==>"+ t +"metros");
}
}
public class Main {
public static void main(String[] args) {
// TODO code application logic here
ClaseObjeto persona=new ClaseObjeto();
persona.nom="Susana Ruiz Cortez";
persona.direccion="Jr Felipe Pinglo Alva 173";
persona.edad=33;
System.out.println("El Nombre es===>"+persona.nom);
System.out.println("La Direccin es===>"+persona.direccion);
System.out.println("La edad es===>"+persona.edad);
persona.talla(1.65);
}
Resultado
El Nombre es===>Susana Ruiz Cortez
La Direccin es===>Felipe Pinglo Alva 175
La edad es===>33
La talla de la persona es ==>"1.65
Facultad de Sistemas
Pgina 60 de 75
II Ciclo
Ejercicio 3
Este ejercicio utiliza clases con mtodos sin valor de retorno
public class ClaseObjeto
{
double diast,jornal,salario,bonificacion,descuento,neto;
public void entrada()
{
diast=40;jornal=50;
}
public void proceso()
{
salario=diast*jornal;
bonificacion=0.1*salario;
descuento=0.05*(salario+bonificacion);
neto=salario+bonificacion-descuento;
}
public void salida()
{
System.out.println("salario===>" + salario);
System.out.println("bonifiacion===>" + bonificacion);
System.out.println("descuento===>" + descuento);
System.out.println("neto===>" + neto);
}
public static void main(String[] args) {
// TODO code application logic here
ClaseObjeto clasecita=new ClaseObjeto();
clasecita.entrada();
clasecita.proceso();
clasecita.salida();
}
}
Facultad de Sistemas
Pgina 61 de 75
II Ciclo
Ejercicio 4
Este ejercicio utiliza clases con mtodos con valor de retorno
public class claseplanilladevolver
{
double diast,jornal,salario,bonificacion,descuento,neto;
public void asignardiastrabajados(double d)
{
diast=d;
}
public void asignarjornal(double j)
{
jornal=j;
}
public double calcularsalario()
{
salario=diast*jornal;
return salario;
}
public double calcularbon()
{
bonificacion=0.1*salario;
return bonificacion;
}
public double calculardescuento()
{
descuento=0.05*(salario+bonificacion);
return descuento;
}
public double calcularneto()
{
neto=salario+bonificacion-descuento;
return neto;
}
Facultad de Sistemas
Pgina 62 de 75
II Ciclo
}
Ejercicio 5
Utilizando una clase llamada Examen
Examen
-Codigo:Integer
-Nota:Int
-Puntos:int
-Mensaje:String
+Examen([in Codigo],[in] Nota )
+getMensaje():String
+getPuntos():Integer
+getCodigo():Integer
+getNota():Integer
Facultad de Sistemas
Pgina 63 de 75
II Ciclo
Facultad de Sistemas
Pgina 64 de 75
II Ciclo
Facultad de Sistemas
Pgina 65 de 75
II Ciclo
Facultad de Sistemas
Pgina 66 de 75
II Ciclo
Inicializacin de un Arreglo:
notas=new int[5];
apellidos=new String[5];
lista=new Persona[5];
Pgina 67 de 75
II Ciclo
Notas
Cuando se definen arreglos con datos primitivos, los
elementos de un array se inicializan al valor por defecto del
tipo correspondiente (cero para valores numricos, el
carcter nulo para char, false para boolean, null para Strings
y para referencias).
Los arreglos por ser objetos que extienden de la clase
Object, disponen de los mtodos: equals, compareTo, after,
before, etc.
1.10.1 Ejercicios Prcticos
Ejercicio1
Generar los primeros 9 multiplos de 2
package javaejemplos;
public class Arreglos1 {
public static void main(String[] args) {
int[] numero=new int[10];
int i;
// Ingreso de Datos
for(i=0;i<=9;i++)
{
numero[i]=2*i;
}
// Salida de Datos
for(i=0;i<=9;i++)
{
System.out.println(numero[i]);
}
}
}
Resultados
2
4
6
8
10
12
14
16
18
BUILD SUCCESSFUL (total time: 1 second)
Facultad de Sistemas
Pgina 68 de 75
II Ciclo
Ejercicio2
Realizar un programa que ingres 5 numeros y hallar la suma y el menor
package javaejemplos;
import java.util.Scanner;
import java.io.*;
public class Arreglos1 {
public static void main(String[] args) {
int[] numero=new int[10];
int i,suma;
// Ingreso de Datos
suma=0;
for(i=0;i<5;i++)
{
Scanner teclado = new Scanner(System.in);
System.out.print("Ingrese el Numero con posicion===> "+ i + "\n");
numero[i] = teclado.nextInt();
suma=suma+numero[i];
}
// Salida de Datos
for(i=0;i<5;i++)
{
System.out.println(numero[i]);
}
System.out.println("La SUma es===> " + suma);
menor=numero[0];
for(i=1;i<5;i++)
{
if (numero[i]<menor) menor=numero[i];
}
System.out.println("El Menor es===> " + menor);
}
}
Resultados
Ingrese el Numero con posicion===> 0
12
Ingrese el Numero con posicion===> 1
1
Ingrese el Numero con posicion===> 2
1
Ingrese el Numero con posicion===> 3
1
Ingrese el Numero con posicion===> 4
12
1
1
1
1
La Suma es===> 16
El Menor es===> 1
Facultad de Sistemas
Pgina 69 de 75
II Ciclo
La Suma es===> 5
Ejercicio3
Ordenar nmeros
package javaejemplos;
import java.util.Scanner;
import java.io.*;
public class Arreglos1 {
public static void main(String[] args) {
int[] numero=new int[10];
int i,suma,menor;
// Ingreso de Datos
suma=0;
for(i=0;i<5;i++)
{
Scanner teclado = new Scanner(System.in);
System.out.print("Ingrese el Numero con posicion===> "+ i + "\n");
numero[i] = teclado.nextInt();
}
// Salida de Datos
int aux,n,j;
n=5;
for (i = 0; i <= n - 1; i++)
{
for (j = i + 1; j < n; j++)
if (numero[i] > numero[j])
{
aux = numero[i];
numero[i] = numero[j];
numero[j] = aux;
}
}
for(i=0;i<5;i++)
{
System.out.println("Numeros Ordenados" +numero[i]);
}
}
}
Resultados
Ingrese el Numero con posicion===> 0
12
Ingrese el Numero con posicion===> 1
34
Ingrese el Numero con posicion===> 2
2
Ingrese el Numero con posicin===> 3
Facultad de Sistemas
Pgina 70 de 75
II Ciclo
45
Ingrese el Numero con posicin===> 4
6
Numeros Ordenados2
Numeros Ordenados6
Numeros Ordenados12
Numeros Ordenados34
Numeros Ordenados45
BUILD SUCCESSFUL (total time: 7 seconds)
1.11 Resumen
En este captulo se comprendieron los conceptos de la programacin
orientada a objetos su teora bsica, su entorno de ejecuciones IDE.la
estructura y sintaxis de los programas, la comprensin de la teora de
clases y la creacin de objetos, as como la inicializacin de valores
con los constructores, el uso de los arreglos con diferentes ejercicios.
ENLACES DE INTERES
http://www.manual-java.com/
http://www.webtaller.com/manual-java/indice_manual_java.php
http://www.docstoc.com/docs/278164/MANUAL-DE-JAVA
Facultad de Sistemas
Pgina 71 de 75
II Ciclo