Académique Documents
Professionnel Documents
Culture Documents
Programacin bsica
En este captulo aprender las bases de la programacin orientada
a objetos con Java, la sintaxis y los elementos del lenguaje Java
tales como los tipos de variables, estructuras de programacin,
desarrollo de aplicaciones java en Netbeans, compilacin y
ejecucin.
Temas de este captulo:
Introduccin a Java
Instalacin de JDK y Netbeans
Programacin Orientada a Objetos con Java
Elementos del Lenguaje java
Estructuras de Control
Creacin de Clases y mtodos de usuario
Clases y mtodos estndar
Mtodos especiales
Acceso a datos con MS Access
68
Introduccin a Java
Java es un lenguaje de programacin orientado a objetos, creado por James
Gosling para la empresa Sun Microsystems en 1991, su objetivo inicial fue
utilizarlo como soporte de software para electrnica de consumo (frigorficos,
lavadoras, etc.). Una caracterstica fundamental del lenguaje es su
portabilidad, dado que Java tena que funcionar en
numerosos tipos de CPUs, por tanto se pens que el
lenguaje deba ser independiente de la plataforma sobre
la que funcione. Esta caracterstica fue lo que le
permiti convertirse en el lenguaje ideal para Internet.
Actualmente Java le pertenece a la empresa Oracle
quien absorbi a Sun Microsystems.
La evolucin natural del lenguaje Java dio lugar a JavaFX el cual es utilizado
para la creacin de Rich Internet Applications (RIAs), esto es, aplicaciones
web que tienen las caractersticas y capacidades de aplicaciones de escritorio,
incluyendo aplicaciones multimedia interactivas. Las tecnologas incluidas
bajo la denominacin JavaFX son JavaFX Script y JavaFX Mobile, aunque
hay ms productos JavaFX en desarrollo.
Las aplicaciones JavaFX pueden ser ejecutadas en una amplia gama de
dispositivos. Se pueden crear aplicaciones de
escritorio, para celulares, la Web, TV, consolas de
videojuegos, reproductores Blu-ray, entre otras
plataformas planeadas. En octubre de 2011 fue
lanzada la versin 2.0. Para el desarrollo de
aplicaciones JavaFX un lenguaje declarativo,
llamado JavaFX Script, adems puede integrarse cdigo Java en programas
JavaFX. JavaFX es compilado a cdigo Java, por lo que las aplicaciones
JavaFX pueden ser ejecutadas en computadoras con la mquina virtual de
Java instalada (JRE), o celulares corriendo Java Micro Edition.
68
68
68
68
68
68
68
68
Solucin:
Para ejecutar podemos hacer clic en el botn con forma de tringulo verde de
la parte superior o la tecla de funcin F6. El resultado aparecer en la parte
inferior tal como se muestra en la figura siguiente:
68
Podemos notar que toda aplicacin java est formada por una clase y el
mtodo principal main:
public class Aplicacion1 {
public static void main(String[] args) {
System.out.println("Bienvenido a java");
}
}
Nota:
68
Las llaves tienen que estar emparejadas, los cuales determinan el inicio y
el final de una clase as como de un mtodo.
Mac
OS
68
Clases
En el mundo real, generalmente tenemos muchos objetos del mismo tipo. Por
ejemplo, nuestro telfono celular es slo uno de los miles que hay en el
mundo. Si hablamos en trminos de la programacin orientada a objetos,
podemos decir que nuestro objeto celular es una instancia de una clase
conocida como "celular". Los celulares tienen caractersticas especficas
(marca, modelo, sistema operativo, pantalla, teclado, etc.) y comportamientos
tales como: hacer y recibir llamadas, enviar mensajes multimedia,
transmisin de datos, etc.
68
import javax.swing.JOptionPane;
import javax.swing.*;
68
String nombre=;
int edad=0;
Objetos
Entender que es un objeto es la clave para entender cualquier lenguaje
orientado a objetos. Un objeto del mundo real es cualquier cosa que vemos a
nuestro alrededor. Digamos que para leer este artculo lo hacemos a travs del
monitor y una computadora, ambos son objetos, al igual que nuestro telfono
celular, un rbol o un automvil. Para crear o instanciar un objeto de una
clase se utiliza la palabra reservada new:
68
Herencia
La herencia consiste en que una clase puede heredar sus atributos o
propiedades y mtodos a varias subclases (la clase que realiza la herencia es
llamada superclase o clase padre).
Esto significa que una subclase, aparte de los atributos y mtodos propios,
tiene incorporados los atributos y mtodos heredados de la superclase. De
esta manera se crea una jerarqua de herencia. Para establecer herencia se
utiliza la palabra reservada extends
Ejemplo:
Abstraccin
La abstraccin consiste en captar las caractersticas esenciales de un objeto,
as como su comportamiento. Tomemos como ejemplo, los automviles,
Qu caractersticas podemos abstraer de los automviles? O lo que es lo
mismo Qu caractersticas semejantes tienen todos los automviles? Todos
tendrn una marca, un modelo, nmero de chasis, peso, llantas, puertas,
ventanas, etc.
Y en cuanto a su comportamiento todos los automviles podrn acelerar,
frenar, retroceder, etc.En los lenguajes de programacin orientada a objetos,
el concepto de Clase es la representacin y el mecanismo por el cual se
gestionan las abstracciones.
68
Polimorfismo
Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad
permite que un objeto presente diferentes comportamientos en funcin del
contexto en que se encuentre.
El concepto de polimorfismo en Java se observa en los mtodos
sobrecargados. Los mtodos sobrecargados son aquellos que poseen el mismo
nombre pero diferente cantidad de parmetros.
Ejemplo 2: Crear una aplicacin que permita calcular el rea del tringulo
utilizando las siguientes formulas:
Formula 1:
Area =
baseAltura
2
Formula 2:
a, b, c : lados del triangulo
Semiperimetro (p)=
Area=
(a+ b+c )
2
p( pa )( pb )( pc)
Nota:
Tenemos dos frmulas que permiten calcular el rea del tringulo, quiere
decir que se puede utilizar cualquiera de ellas para obtener el mismo
resultado
Solucin: Aadir un nuevo archivo en Netbeans
68
68
68
68
Comentarios
Hay tres tipos de comentarios en Java:
// Este es un comentario de una sola lnea
/* Este es un comentario de una o ms lneas */
/** Este es un comentario de documentacin */
Identificadores
Un identificador es un "nombre" que nos permite dirigirnos especficamente a
una de las entidades propias del lenguaje, es decir, son los nombres que
podemos ponerles a nuestras variables, mtodos, clases, interfaces y objetos.
68
edad = 42
Para un mtodo:
areaDelTriangulo()
Areas
Nota:
Tipos primitivos
El lenguaje de programacin Java es un lenguaje fuertemente tipado, esto
significa que todas las variables deben ser declaradas antes de ser utilizadas.
Los ocho tipos de datos primitivos incluidos en el lenguaje de programacin
Java son:
68
68
Luego de hacer clic con el botn derecho del mouse sobre el nombre del
proyecto, luego New y por ultimo Java Main Class, tendremos lo siguiente:
68
El cdigo es el siguiente:
/**
* Autor: Ing. Alfredo Roncal Galiano
* Tipo de aplicacin: Java en modo consola
*/
public class Aplicacion3 {
public void calcularEdad(String nombre, int anio){
// z es la variable que almacenara el ao de nacimiento
int edad=0;String m="";
edad=2012 - anio;
m="hola "+nombre+" tienes "+edad+ " aos de edad";
System.out.println(m);
68
Hemos creado un objeto obj el cual puede ser cualquier palabra o letra
Los mtodos del tipo void no devuelven ningn valor, solo ejecutan
instrucciones
68
Operadores
En Java al igual que otros lenguajes existen diversos operadores que son
empleados en diferentes secciones de un programa.
Operadores Aritmticos: Suma + ,Resta - , Multiplicacin * , Divisin / ,
Resto de la Divisin % .
68
-=
*=
68
: Incremento
: Decremento
Mayor que
<
Menor que
==
Iguales
!=
Distintos
>=
<=
||
Negacin.
Estructuras de control
Las sentencias de control de flujo determinan el orden en que se ejecutarn
las otras sentencias dentro del programa.
68
Sentencia selectivas
La sentencia if
La sentencia if permite evaluar una condicin si la condicin es verdadera
ejecutara un conjunto de instrucciones.
Sintaxis 1:if (condicin) { sentencia; };
68
68
Sintaxis 2:
if (condicin) {
lista principal;
}else{
lista alterna;
}
68
68
Sintaxis 3:
if (condicin1) {
Conjunto de instrucciones 1;
}elseif(condicin2){
Conjunto de instrucciones 2;
}else{
Conjunto de instrucciones 3;
}
Si la condicin1 devuelve un valor verdadero se ejecutaran todas las
instrucciones contenidas en el Conjunto de instrucciones 1 caso contrario
se evaluara la condicin 2 si esta condicin es verdadera se ejecutaran
todas las instrucciones contenidas en el Conjunto de instrucciones 2 caso
contrario se ejecutaran todas las instrucciones contenidas en el Conjunto de
instrucciones 3.
68
68
68
La sentencia switch
La sentencia switch se encarga de estructurar una seleccin mltiple, maneja
un nmero finito de posibilidades. La estructura general del enunciado switch
es la siguiente:
Sintaxis:
switch( expresin ) {
case opcion1: sentencia1; break;
case opcin 2: sentencia 2; break;
case opcin N: sentencia N;break;
default: sentencia; ...; break
}
Ejemplo 8: Crear una aplicacin que simule una calculadora elemental
donde se ingresa el operador matemtico y dos nmeros, debe devolver el
resultado de la operacin matemtica ingresada.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion8
public class Aplicacion8 {
public void calculadora(char c, int a, int b){
double r=0;
switch(c) {
case '+': r=a+b; break;
case '-': r=a-b; break;
68
Comentarios:
68
Sentencias repetitivas
Generalmente hablando, una sentencia while realiza una accin mientras se
cumpla una cierta condicin. La sintaxis general de la sentencia while es.
La sentencia while
La sentencia while evala una expresin, que debe devolver un valor
boolean. Si la expresin devuelve true, la sentencia while ejecuta la(s)
sentencia(s) que hay en el bloque while. La sentencia while contina
evaluando la expresin y ejecutando su bloque hasta que la expresin
devuelva false
Sintaxis:
while (expresin) {
sentencias;
}
Ejemplo 9: Crear una aplicacin que permita sumar los primeros N nmeros.
Ejemplo: s= 1+2+3+4 + N
Solucin: Aadir un nuevo archivo del tipo: Java Main Class al proyecto
actual, el nombre del archivo ser: Aplicacion9
public class Aplicacion9 {
publicintsuma(int a){
int s=0,i=0;
while(i<a){
68
i=i+1
s=s+i
68
10
La sentencia for
La sentencia for es similar a while, permite ejecutar un conjunto de
instrucciones un nmero determinado de veces.
Sintaxis:
68
f=f*i
24
Ejemplo 11: Crear una aplicacin que permita calcular la serie de fibonacci.
se ingresa un numero N y debe mostrar los primeros N nmeros de la serie de
fibonacci
68
68
c=a+b
Comentarios:
68
68
68
Ejemplo 13:
Crear una aplicacin donde se ingrese el radio de un circulo
y devuelva el rea
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion13
public class Aplicacion13 {
public double calcularArea(double r){
double area=0;
area=3.1416*r*r;
return area;
68
Ejemplo 14:
Crear una aplicacin donde se ingrese un valor en
centgrados y devuelva su equivalente en farenheit.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion14
public class Aplicacion14 {
public String convertir(double c){
68
Comentarios:
68
68
68
Mtodos estndar
Java posee un conjunto de mtodos predefinidos que pueden ser utilizados en
nuestras aplicaciones, tenemos mtodos matemticos, de cadena , de fecha
etc.
Mtodos matemticos
La clase Math contiene mtodos para realizar operaciones numricas bsicas,
como la exponencial, logaritmo, raz cuadrada, y las funciones
68
Math.pow(X,Y)
Math.round(X)
: Redondea el valor de X
Math.max(X,Y)
Math.min(X,Y)
Math.sqrt(X)
68
68
tres valores
68
68
68
Ejemplo 19: Crear una aplicacin que permita calcular las races de la
ecuacin de segundo grado:
A x2 + Bx+C=0
B+ B 24 AC
X1=
2A
B B24 AC
X2=
2A
68
68
68
Con los valores anteriores tendremos las races imaginarias tal como se
muestra en la ventana final:
Mtodos de cadena
En Java no existe un tipo de datos primitivo que sirva para la manipulacin
de cadenas de caracteres. En su lugar se utiliza una clase definida en la API
que es la clase String.
68
68
68
Se utiliza la sentencia for para recorrer desde la primera letra del email
hasta la ltima letra y se verifica si la letra capturada es el smbolo
arroba.
68
68
68
Nota:
Pruebe tambin ingresando el siguiente apellido: aLARcon
Mtodos de fecha
Java posee la clase Calendar el cual nos permite obtener la fecha actual del
sistema utilizando dos formas:
Calendar c1 = Calendar.getInstance();
Calendar c2 = new GregorianCalendar();
Una vez creado el objeto podemos obtener la fecha del sistema utilizando las
siguientes constantes:
68
Ejemplo 22: Crear una aplicacin que permita mostrar la fecha del sistema
con el siguiente formato:
Lima, 20 de Julio de 2012
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion22
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JOptionPane;
public class Aplicacion22{
public String fecha(){
Calendar c=new GregorianCalendar();
68
68
68
68
68
Mtodos especiales
Java posee un conjunto de mtodos especiales tales como: mtodos
constructores, mtodos sobrecargados y mtodos estticos.
68
Mtodo constructor
Un mtodo constructor es aquel que posee el mismo nombre de la clase y por
defecto es del tipo void, se ejecuta automticamente al crear un objeto de la
clase.
Ejemplo 24: Crear una aplicacin con un mtodo constructor que permita
mostrar el mensaje: Creacin de aplicaciones con Java.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion24
import javax.swing.JOptionPane;
public class Aplicacion24 {
JOptionPane p1;
public Aplicacion24(){
p1.showMessageDialog(null,"Creacin de Aplicaciones con Java");
}
public static void main(String[] args) {
Aplicacion24 obj=new Aplicacion24();
}
}
Comentarios:
68
Mtodos sobrecargados
Los mtodos sobrecargados son aquellos que poseen el mismo nombre pero
diferente cantidad de parmetros.
Ejemplo 25: Crear una aplicacin con dos mtodos sobrecargados que
permitan calcular el volumen de un cubo, el primer mtodo debe permitir
ingresar nmeros con decimales, el segundo mtodo debe permitir ingresar
nmeros enteros.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion25
import javax.swing.*;
public class Aplicacion25{
public double vol(double a,double b,double c){
double w=0;
68
En este ejemplo tenemos dos mtodos con el mismo nombre pero con
diferentes tipos de parmetros.
68
Mtodos estticos
Los mtodos estticos son aquellos que para ser ejecutados se debe anteponer
el nombre de la clase donde fueron creados. Los mtodos estticos se crean
aadiendo la palabra reservada static.
Ejemplo 26: Crear una aplicacin con un mtodo esttico que permita
convertir un valor en grados Celsius a grados Fahrenheit.
Formula: F=1.8 * C + 32
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion26
import javax.swing.JOptionPane;
public class Aplicacion26 {
public static double temperatura(double c){
double f=0;
68
68
Ejemplo 27: Crear una aplicacin con un mtodo esttico que permita contar
cuantas veces aparece una letra en una palabra. La letra y la palabra se
ingresaran desde el teclado
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion27
import javax.swing.JOptionPane;
public class Aplicacion27 {
public static intcontarLetra(String a, String b){
String m="";
int k=0;
int z=a.length();
68
Comentario:
68
68
68
w=m+w
ep
ep
zep
68
68
Comentarios:
Los datos anteriores son solo como ejemplo, no son datos reales
68
Aparecer:
68
68
Clase
Descripcin
DriverManager
Connection
Statement
68
ResultSet
Ejemplo 29: Crear una aplicacin que permita el acceso a los datos de la
base de datos microcelperu y liste todos los registros de la tabla empleados
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion28
import java.sql.*;
import javax.swing.*;
public class Aplicacion29 {
Statement s=null;
ResultSet r=null;
Connection c=null;
JOptionPane p1;
public Aplicacion29(){
conexion();
}
public void conexion(){
//registrodel driver
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
p1.showMessageDialog(null,"Registro del driver exitoso");
}catch(Exception e){
68
68
El cdigo podra parecer muy extenso pero puede reducirse, solo para
fines explicativos se ha trabajado detallando cada paso del manejo de
datos con java.
68
Ejemplo 30: Crear una aplicacin que permita realizar una consulta por DNI
en la tabla empleados
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion30
68
68
68
68
Vectores
Java posee la capacidad de definir un conjunto de variables del mismo tipo
agrupadas todas ellas bajo un mismo nombre, y distinguindolas mediante un
ndice numrico conocidos como array o vector.
Definicin
Definir un array en java es como definir una variable o atributo, pero al
especificar el tipo lo que hacemos es colocar un par de corchetes [] para
indicar que lo que estamos definiendo es un array
Tipos:
68
Ejemplo 31: Crear una aplicacin que permita sumar los nmeros:2,4,6,8
colocados en un vector
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion31
import javax.swing.*;
public class Aplicacion31 {
staticJOptionPane p1;
public static void suma(){
int[] numeros = {2,4,6,8};
intsuma=0;
68
68
68
68
68
Ejemplo 34: Crear una aplicacin que permita ingresar 3 productos, sus
cantidades y precios, devolver los datos anteriores incluyendo el subtotal y
total a pagar:
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion34
68
68
Producto
Cantidad
Precio
Monitor
220
Impresora
55
Teclado
12
24
68
Ejercicios desarrollados
Ejercicio 1: Crear una aplicacin donde se simule un dispensador de
monedas, se ingresar un valor mayor o igual a 10, devolver el nmero de
monedas de 2 soles y 5 soles cuya suma sea igual o menor al valor ingresado,
adems se debe cumplir que por cada moneda de 5 soles debe existir 2
monedas de 2 soles.
Solucin: Aadir un nuevo archivo, el nombre de este archivo ser:
Ejercicio1, el cdigo es el siguiente:
import javax.swing.*;
public class Ejercicio1 {
static JOptionPane p1;
public void monedas(int m){
68
68
de
la
68
de
la
68
del
}
public static void main(String[] args) {
int w=Integer.parseInt(p1.showInputDialog(null,"\n(1)Volumen
Esfera"+
de
la
68
68
}
public void decimalHexadecimal(int n){
String hexa="";
hexa=Integer.toHexString(n);
p1.showMessageDialog(null,"Decimal:"+n+"\nHexadecimal:"+hexa,"Decima
l a hexadecimal",1);
}
public static void main(String[] args) {
int w=Integer.parseInt(p1.showInputDialog(null,"\n(1)Decimal a Binario"+
"\n(2)Decimal a Hexadecimal \nDigite una opcin:","Menu Principal",1));
68
68
68
68
into
empleados
values('"+a+"','"+b+"','"+c+
return true;
}catch(Exception e){
return false;
}
}
Nota: este mtodo debe digitarlo debajo del mtodo conexion().
68
\n(4)
Actualizar
\nDigite
una
opcin:","Menu
if(w==1){
String m1=p1.showInputDialog(null,"Ingrese DNI:","Nuevo Usuario",1);
String m2=p1.showInputDialog(null,"Ingrese Nombre:","Nuevo Usuario",1);
String m3=p1.showInputDialog(null,"Ingrese Apellido:","Nuevo Usuario",1);
String m4=p1.showInputDialog(null,"Ingrese email:","Nuevo Usuario",1);
boolean k=true;
k=obj.registrar(m1, m2, m3, m4);
if(k==true){
p1.showMessageDialog(null,"Registro Almacenado","Nuevo Usuario",1);
}else{
p1.showMessageDialog(null,"Se ha producido un error","Nuevo Usuario",1);
}
}
}
Nota: el cdigo en negrita ya existe solo debe aadir lo que falta.
68
68
68
68
68
ha
producido
un
error","Borrar
68
68
68
actualizado","Actualizacion
de
}else{
p1.showMessageDialog(null,"Se ha producido un error","Actualizacion de
datos",1);
}
}else{
p1.showMessageDialog(null,"Registro No Existe");
68
68
68
El sistema nos indica que el registro fue actualizado, vamos a verificar estos
ejecutando el men principal y eligiendo la opcin Listar: