Vous êtes sur la page 1sur 127

68

Java 8 Programacin bsica

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

Java 8 Programacin bsica

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

Java 8 Programacin bsica

Instalacin del entorno de desarrollo Java


Para programar con el lenguaje Java se necesita:
JDK (Java development Kit)
Un IDE (Entorno Integrado de desarrollo) para Java
El JDK de Java se proporciona gratuitamente desde la web de Oracle. Existen
versiones para las diferentes plataformas tales como Linux, Windows y
Solaris.
Para proceder a la descargar se puede obtener desde aqu:
http://www.oracle.com

Adems, en esa misma direccin podremos descargar el NetBeans, un potente


editor de Java que nos facilitar la tarea de programar, compilar y resolver
errores entre otras muchas cosas. Java es actualmente uno de los lenguajes

68

Java 8 Programacin bsica


ms populares y existen multitud de IDES adicionales tales como
JDeveloper, JBuilder, JCreator.

En la ventana siguiente podrs elegir la versin segn el tipo de Pc que tienes


y la plataforma que utilizas:

68

Java 8 Programacin bsica


Puedes descargar de forma adicional demos y ejemplos que se muestran en la
parte inferior. Recuerde que primero debe instalar el JDK antes de instalar
cualquier IDE para Java.

Instalacin del IDE Netbeans


NetBeans es un entorno de desarrollo integrado libre, hecho principalmente
para el lenguaje de programacin Java pero puede ser utilizado tambin para
PHP.

Existe adems un nmero importante de mdulos para extenderlo. NetBeans


es un proyecto de cdigo abierto de gran xito con una gran base de usuarios,
una comunidad en constante crecimiento. SunMicroSystems fund el
proyecto de cdigo abierto NetBeans en junio de 2000.NetbeansEst escrito
en Java y puede servir para cualquier otro lenguaje de programacin. Existe
adems un nmero importante de mdulos para extender el IDE NetBeans. El
IDE NetBeans es un producto libre y gratuito sin restricciones de uso.

68

Java 8 Programacin bsica


NetBeans permite crear aplicaciones desktop, aplicaciones web dinamicas y
tambin aplicaciones para dispositivos mviles en forma visual, aade de
forma predeterminada frameworks tales como JSF y Spring, Hibernate y
Struts.
Para descargar la ltima versin de Netbeans podemos entrar a la siguiente
direccin: www.netbeans.org, en la pagina principal hay un boton con el
texto: Download FREE Netbeans IDE 7.2, luego de hacer clic en este bo
ton aparecer lo siguiente:

Luego de realizar la descarga y haber instalado el JDK, instale Netbeans, el


proceso de instalacin es similar a cualquier aplicacin Windows, solo tiene
que elegir las opciones por defecto y hacer clic en el botn Next hasta
completar la instalacin.
Luego de completar la instalacin aparecer en el escritorio el icono de
Netbeans (es un cubo de color azul). Haga clic sobre el icono para ejecutarlo,
luego de unos segundo aparecer el entorno de trabajo de Netbeans, este
entorno esta en Ingles (en su ltima versin), vamos a crear una aplicacin
simple para verificar su buen funcionamiento.

68

Java 8 Programacin bsica

Creacin de una aplicacin java en Netbeans


Para crear una aplicacin java en Netbeans:

Del menu File elegr New Project

De la columna Categories, elegir Java

De la columna Projects elegir Java Application luego el botn Next

En la ventana que aparece establecer el nombre del proyecto: Capitulo1 y


desactivar el checkbox de la parte inferior
Establecer, la ubicacin del proyecto (Project Location), haga clic en el
botn Browse y seleccione el Escritorio como carpeta principal luego crear
una nueva carpeta por ejemplo Aplicaciones Java el cual ser la carpeta
donde almacenaremos todos nuestros proyectos

68

Java 8 Programacin bsica


Para finalizar hacer clic en el botn Finish

Luego de crear el perfil del proyecto aadiremos nuestro primer archivo:

68

Java 8 Programacin bsica


Pasos para aadir un archivo al proyecto:

Del men File elegir New File

Para crear una aplicacin en modo consola elegir la opcin java de la


columna Categories

Y de la columna File Types elegir: Java MainClass

Hacer clic en el botn Next

En la siguiente ventana establecer un nombre para el archivo


(ClassName) como ejemplo Escribir: Aplicacion1

Para finalizar hacer clic en el botn Finish

Ejemplo 1: Crear una aplicacin que permita mostrar el mensaje


Bienvenido a java

68

Java 8 Programacin bsica

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

Java 8 Programacin bsica

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:

El texto en color gris es comentario de la aplicacin que puede ser


suprimido

Las clases llevan el mismo nombre del archivo

El nombre de una clase empieza con mayscula

68

Java 8 Programacin bsica

Las llaves tienen que estar emparejadas, los cuales determinan el inicio y
el final de una clase as como de un mtodo.

La instruccin System.out.println() permite mostrar texto y valores de las


variables.

Proceso de creacin de una aplicacin Java


Toda aplicacin java se crea en un editor de texto o un IDE como Netbeans,
el archivo resultante es un archivo con extensin .java, este archivo es
compilado y se genera otro archivo con extensin .class, este archivo es el
que se ejecuta en la mquina virtual de java (JVM). Java permite crear
archivos ejecutables similares a los archivos con extensin .exe, estos
archivos ejecutables tienen la extensin JAR.
Archivo fuente: .JAVA
Window

Archivo compilado: .CLASS


JVM
Linu
x

Mac
OS

Programacin orientada a objetos con Java


La orientacin a objetos es un paradigma de programacin que facilita la
creacin de software de calidad por sus factores que potencian el

68

Java 8 Programacin bsica


mantenimiento, la extensin y la reutilizacin del software generado bajo este
paradigma.
Java incorpora el uso de la orientacin a objetos como uno de los pilares
bsicos de su lenguaje.
Ventajas de la programacin orientada a objetos:

Relaciona el sistema al mundo real.

Fomenta la reutilizacin y extensin del cdigo.

Permite crear sistemas ms complejos.

Facilita la creacin de programas visuales.

Permite la construccin de prototipos

Agiliza el desarrollo de software

Facilita el trabajo en equipo

Facilita el mantenimiento del software

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

Java 8 Programacin bsica


Estructura bsica de una clase en Java:
package <nombre del paquete>
import <clases publicas>
public class <nombre de la clase> {
<Atributos>
< Mtodo 1>
<Mtodo 2>
public static void main(String[ ] args) {
// Mtodo principal
}
}
package: Los paquetes son una forma de organizar grupos de clases. Un
paquete contiene un conjunto de clases relacionadas bien por finalidad, por
mbito o por herencia
import: Para importar clases de un paquete se usa el comando import. Se
puede importar una clase individual:
Ejemplo:

import javax.swing.JOptionPane;

o se puede importar las clases declaradas pblicas de un paquete completo,


utilizando un asterisco (*) para reemplazar los nombres de clase individuales:
Ejemplo:

import javax.swing.*;

Atributos o propiedades: En Java todas las variables se declaran dentro del


cuerpo de la clase o dentro de un mtodo. Las variables declaradas dentro de
un mtodo son locales al mtodo; las variables declaradas en el cuerpo de la

68

Java 8 Programacin bsica


clase se dice que son miembros de la clase y son accesibles por todos los
mtodos de la clase.
Ejemplo:

String nombre=;
int edad=0;

Mtodos: Los mtodos son las acciones, funciones o procedimientos que


realiza nuestro programa; los mtodos son subrutinas que manipulan los
datos definidos por una clase.
Ejemplo:
public double areaDelCirculo(double radio ) {
double area=0;
area=3.14.16*Math.pow(radio,2);
return area;
}
En el ejemplo anterior tenemos un ejemplo de un mtodo que permite
calcular el rea de un circulo con un parmetro radio, en el cuerpo del
mtodo realizamos los clculos matemticos para obtener el rea del circulo,
por ultimo este mtodo devolver el resultado de la operacin matemtica
con la palabra reservada return.

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

Java 8 Programacin bsica


Ejemplo:

Clase1 objeto1=new Clase1();

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:

public class <subclase> extends <Superclase>

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

Java 8 Programacin bsica

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

Java 8 Programacin bsica

Existen varias formas de aadir un nuevo archivo al proyecto, podemos


utilizar la opcin Archivo nuevo del men Archivo, tambien podemos
hacer clic con el botn derecho sobre el nombre del proyecto.

En todos los casos aparecer la siguiente ventana en donde primero


seleccionaremos de la columna izquierda la opcion Java, luego de la
segunda columna Java main class

68

Java 8 Programacin bsica

Luego estableceremos el nombre: Aplicacin2 para nuestro ejemplo, recuerde


que estamos usando el proyecto inicial y estamos aadiendo un nuevo
archivo.

Escribir el siguiente cdigo:


public class Aplicacion2 {
public void areaTriangulo(double base, double altura){

68

Java 8 Programacin bsica


double area=0;
area=base*altura/2;
System.out.println("Area del tringulo con la frmula 1:"+area);
}
public void areaTriangulo(double a, double b, double c){
double p=0,z=0,area=0;
p=(a+b+c)/2;
z=p*(p-a)*(p-b)*(p-c);
area=Math.sqrt(z);
System.out.println("Area del tringulo con la frmula 2:"+area);
}
public static void main(String[] args) {
Aplicacion2 obj=new Aplicacion2();
obj.areaTriangulo(3,4);
obj.areaTriangulo(3,4,5);
}
}

Al ejecutar (digitar la tecla de funcin: F6), tendremos el siguiente resultado:


run:
rea del tringulo con la frmula 1:6.0

68

Java 8 Programacin bsica


rea del tringulo con la frmula 2:6.0
BUILD SUCCESSFUL (total time: 0 seconds)
Comentario:

Como podemos observar, tenemos dos maneras de calcular el rea del


tringulo pero el resultado debe ser lo mismo. En este ejemplo hemos
creado dos mtodos con el mismo nombre pero diferente cantidad de
parmetros, estos parmetros dependen de la formula a utilizar.

Elementos del lenguaje java


Java tiene como todos los lenguajes de programacin sus propias
caractersticas para crear aplicaciones. Java tiene una sintaxis muy similar al
lenguaje C++ y PHP por lo que los programadores que usen estos lenguajes
se sentirn muy cmodos en l.

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

Java 8 Programacin bsica


La nica restriccin en la formacin de identificadores es que tienen que
comenzar por una letra, subrayado o por el signo '$', pudindoles seguir
despus letras o nmeros. Hay que tener en cuenta que en Java como en otros
muchos lenguajes de programacin se distinguen las maysculas y las
minsculas.
Ejemplo:
Para una variable:

edad = 42

Para un mtodo:

areaDelTriangulo()

Para una clase:

Areas

Nota:

Un mtodo debe empezar con la primera letra en minscula, si es una


palabra compuesta, la primera letra de las dems palabras se deber
escribir en mayscula

El nombre de una clase empieza con mayscula y es el mismo nombre


que se usa para grabar el archivo.

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:

byte: El tipo de dato byte es un entero de 8 bits complemento a dos. Su


valor mnimo es -128 y el mximo 127 (inclusive). El tipo de datos byte
se puede utilizar para ahorrar memoria en grandes arrays, donde el ahorro
de memoria realmente importa. Tambin se pueden utilizar en lugar de
int donde sus lmites ayudan a aclarar el cdigo, el hecho de que el rango

68

Java 8 Programacin bsica


de una variable es limitado puede servir como una forma de
documentacin.

short: El tipo de dato short es un entero de 16 bits complemento a dos.


Su valor mnimo es -32,768 y el mximo 32,767 (inclusive). Se aplican
las mismas directrices que con byte: puede utilizar short para ahorrar
memoria en grandes arrays, en situaciones en las que el ahorro realmente
importa.

int: El tipo de dato int es un entero de 32 bits complemento a dos. Su


valor mnimo es -2,147,483,648 y el mximo 2,147,483,647 (inclusive).
Generalmente este tipo es la eleccin predeterminada para valores
enteros a no ser que haya una razn (como las mencionadas
anteriormente) para elegir otro. Este tipo de dato normalmente ser lo
suficiente grande para los nmeros que su programa vaya a utilizar pero
si necesita un rango ms amplio, utilice long.

long: El tipo de dato long es un entero de 64 bits complemento a dos. Su


valor mnimo es -9,223,372,036,854,775,808 y el mximo
9,223,372,036,854,775,807 (inclusive). Utilice este tipo de dato cuando
necesite un rango de valores ms amplio que el proporcionado por int.

float: El tipo de dato float es un dato en coma flotante IEEE 754 de 32


bits y precisin simple. Su rango de valores est fuera del mbito de este
tema, pero se detalla en la seccin 4.2.3 de la Especificacin del lenguaje
Java. Al igual que con byte y short, se recomienda usar un float (en vez
de un double) si necesita ahorrar memoria en grandes array de nmeros
en coma flotante.

double: El tipo de dato double es un dato en coma flotante IEEE 754 de


64 bits y precisin doble. Su rango de valores est fuera del mbito de
este tema, pero se detalla en la seccin 4.2.3 de la Especificacin del
lenguaje Java. Normalmente este tipo de dato es la eleccin
predeterminada para valores decimales.

boolean: El tipo de dato boolean solamente tiene dos valores posibles:


true (verdadero) y false (falso). Utilice este tipo de datos como

68

Java 8 Programacin bsica


conmutadores para la evaluacin de condiciones verdadero/falso. Este
tipo de dato representa un bit de informacin, pero su tamao es algo
que no est definido con precisin.

char: El tipo de dato char es un solo carcter Unicode de 16 bits.

Ejemplo 3: Crear una aplicacin donde se ingrese un nombre y el ao de


nacimiento, devolver el mensaje: hola <nombre> tiene <edad> aos de
edad.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion3

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

Java 8 Programacin bsica

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

Java 8 Programacin bsica


}
public static void main(String[ ] args) {
Aplicacion3 obj=new Aplicacion3();
obj.calcularEdad("Alfredo",1969);
}
}
Al ejecutar tendremos lo siguiente (hacer clic con el botn derecho del mouse
sobre el nombre del archivo que se muestra en la columna de la izquierda del
entorno de Netbeans):
run:
hola Alfredo tienes 43 aos de edad
BUILD SUCCESSFUL (total time: 0 seconds)
Comentarios:

En este ejemplo se ha aadido comentarios, y el uso de variables de


cadena y numricas

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

La instruccin System.out.println( ) se utiliza para mostrar texto o para


mostrar el valor de una variable

La concatenacin se realiza con el signo +

68

Java 8 Programacin bsica

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 % .

Ejemplo 4: Crear una aplicacin donde se ingrese un producto, cantidad y


precio. Devolver el subtotal y el total + IGV
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion4
public class Aplicacion4 {
public void cotizarProducto(String n, int c, double p){
double total=0,total_igv=0;
total=c*p;
total_igv=total+18*total/100;
System.out.println("Producto:"+n);
System.out.println("Cantidad:"+c+"\nPrecio:"+p);
System.out.println("Total:"+total_igv+"\nTotal+IGV:"+total);
}
public static void main(String[] args) {
Aplicacion4 obj=new Aplicacion4();
obj.cotizarProducto("Impresora",2,45);

68

Java 8 Programacin bsica


}
}
Al ejecutar tendremos lo siguiente (hacer clic con el botn derecho del
mouse sobre el nombre del archivo Aplicacion4 que se muestra en la columna
de la izquierda del entorno de Netbeans):
run:
Producto: Impresora
Cantidad: 2
Precio: 45.0
Total: 106.2
Total+IGV: 90.0
BUILD SUCCESSFUL (total time: 0 seconds)

Operadores de Asignacin: El principal es '=' pero hay ms operadores de


asignacin con distintas funciones que explicamos brevemente ahora.
+=

op1 += op2 es equivalente a: op1 = op1 + op2

-=

op1 -= op2 es equivalente a: op1 = op1 - op2

*=

op1 *= op2 es equivalente a: op1 = op1 * op2

Operadores Incrementales: Son los operadores que nos permiten


incrementar las variables en una unidad. Se pueden usar delante y detrs de la
variable dependiendo de lo que queramos, es decir, si queremos que
incremente o viceversa antes de utilizar o lo contrario.

68

Java 8 Programacin bsica


++
--

: Incremento
: Decremento

Operadores Relacionales: Permiten comparar variables segn relacin de


igualdad/desigualdad o relacin mayor/menor. Devuelven siempre un valor
boolean.
>

Mayor que

<

Menor que

==

Iguales

!=

Distintos

>=

Mayor o igual que

<=

Menor o igual que

Operadores Lgicos: Nos permiten construir expresiones lgicas.


&&

Devuelve true si ambos operandos son true.

||

Devuelve true si alguno de los operandos son true.

Negacin.

Operador de concatenacin: con cadena de caracteres '+':

Estructuras de control
Las sentencias de control de flujo determinan el orden en que se ejecutarn
las otras sentencias dentro del programa.

68

Java 8 Programacin bsica

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; };

Ejemplo 5: Crear una aplicacin donde se ingrese un producto, cantidad y


precio. Aplicar un descuento del 5% del total solo si el total es mayor a 500.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion5
public class Aplicacion5 {
public void descuento(String n, int c, double p){
double total=0,descuento=0;
total=c*p;
if(total>500){
descuento=5*total/100;
total=total-descuento;
}
System.out.println("Producto:"+n);
System.out.println("Cantidad:"+c);
System.out.println("Precio:"+p);
System.out.println("Total:"+total);

68

Java 8 Programacin bsica


}
public static void main(String[] args) {
Aplicacion5 obj=new Aplicacion5();
obj.descuento("Impresora",2,45);
}
}
Al ejecutar tendremos lo siguiente:
run:
Producto: Impresora
Cantidad: 2
Precio: 45.0
Total: 90.0
BUILD SUCCESSFUL (total time: 1 second)
Ahora vamos a cambiar la lnea de cdigo:
obj.descuento("Impresora",2,450);
por:
obj.descuento("TV Plasma",3,220);
El resultado ser el siguiente:
run:
Producto: TV Plasma
Cantidad: 3

68

Java 8 Programacin bsica


Precio: 220.0
Total: 627.0
BUILD SUCCESSFUL (total time: 0 seconds)
Comentario:

Podemos observar que si el total es mayor a 500 se aplica el descuento


del 5%.

Sintaxis 2:

if (condicin) {
lista principal;
}else{
lista alterna;
}

Si la condicin devuelve un valor verdadero se ejecutaran todas las


instrucciones contenidas en la lista principal caso contrario se ejecutaran las
instrucciones que se encuentran en la lista alterna.

Ejemplo 6: Crear una aplicacin donde se ingrese un nmero y devolver el


numero indicando si es par o impar.
Solucin: Aadir un nuevo archivo del tipo: Java Main Class al proyecto
actual, el nombre del archivo ser: Aplicacion6
public class Aplicacion6 {
public void parImpar(int numero){
int residuo=0;String msj="";

68

Java 8 Programacin bsica


residuo=numero%2;
if(residuo==0){
msj="El nmero "+numero+" es par";
}else{
msj="El nmero "+numero+" es impar";
}
System.out.println(msj);
}
public static void main(String[] args) {
Aplicacion6 obj=new Aplicacion6();
obj.parImpar(7);
}
}
En este ejemplo estamos utilizando el operador : % el cual permite obtener el
residuo de una divisin, todo numero dividido entre 2 el residuo ser 0 si el
numero es par, si es impar el residuo ser diferente de 0.

Al ejecutar el ejemplo anterior tendremos lo siguiente:


run:
El nmero 7 esimpar

68

Java 8 Programacin bsica


BUILD SUCCESSFUL (total time: 0 seconds)
Ahora vamos a cambiar la lnea de cdigo:obj.parImpar(7);
por:obj.parImpar(12);
El resultado ser el siguiente:
run:
El nmero 12 es par
BUILD SUCCESSFUL (total time: 0 seconds)

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

Java 8 Programacin bsica


Ejemplo 7: Crear una aplicacin donde se ingrese apellido, curso y la nota
final, si la nota final es menor a 5, la condicin del estudiante es reprobado,
si est entre 5 y 11, su condicin ser Desaprobado caso contrario si es
mayor o igual a 11 su condicin ser Aprobado.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion7
public class Aplicacion7 {
public void condicion(String a, String c, int n){
String msj="";
if(n<5){
msj="Reprobado";
}else if(n>=5 && n<11){
msj="Desaprobado";
}else{
msj="Aprobado";
}
System.out.println("Apellido:"+a);
System.out.println("Curso:"+c);
System.out.println("Nota final:"+n);
System.out.println("Condicion:"+msj);
}
public static void main(String[] args) {
Aplicacion7 obj=new Aplicacion7();

68

Java 8 Programacin bsica


obj.condicion("Hiyo","Algoritmos",4);
}
}
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:
Apellido: Hiyo
Curso: Algoritmos
Nota final: 4
Condicin: Reprobado
BUILD SUCCESSFUL (total time: 0 seconds)
Ahora vamos a cambiar la lnea de cdigo:
obj.condicion("Hiyo","Algoritmos",4);
por:
obj.condicion("Espinoza","Ingles",14);
El resultado ser el siguiente:
run:
Apellido: Espinoza
Curso: Ingles
Nota final: 14
Condicin: Aprobado
BUILD SUCCESSFUL (total time: 0 seconds)

68

Java 8 Programacin bsica

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

Java 8 Programacin bsica


case '*': r=a*b; break;
case '/': r=a/b; break;
default: r=0; break;
}
System.out.println(""+a+" "+c+" "+b+"="+(int)r);
}
public static void main(String[] args) {
Aplicacion8 obj=new Aplicacion8();
obj.calculadora('*',4,6);
}
}
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:
4 * 6=24
BUILD SUCCESSFUL (total time: 0 seconds)

Comentarios:

En el ejemplo anterior se utiliz el tipo de variable char, el cual permite


ingresar un caracter numrico o alfanumrico como por ejemplo una
letra o un smbolo matemtico

68

Java 8 Programacin bsica

En el resultado final se convirti la variable r que es del tipo double al


tipo int

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

Java 8 Programacin bsica


i=i+1;
s=s+i;
}
return s;
}
public static void main(String[] args) {
Aplicacion9 obj=new Aplicacion9();
System.out.println("suma:"+obj.suma(4));
}
}
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:
suma: 10
BUILD SUCCESSFUL (total time: 0 seconds)

Vamos a realizar la prueba de escritorio para verificar como trabaja while:

i=i+1

s=s+i

68

Java 8 Programacin bsica

10

La sentencia for
La sentencia for es similar a while, permite ejecutar un conjunto de
instrucciones un nmero determinado de veces.
Sintaxis:

for (inicializacin; terminacin; incremento){


Sentencias;
}

Ejemplo 10: Crear una aplicacin que permita calcular el factorial de un


numero N.
Ejemplo: Factorial de 4 = 1 x 2 x 3 x 4
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion10
public class Aplicacion10 {
public long factorial(long a){
long f=1;
for ( long i=1; i<=a; i++){
f=f*i;
}
return f;

68

Java 8 Programacin bsica


}
public static void main(String[ ] args) {
Aplicacion10 obj=new Aplicacion10();
System.out.println("suma:"+obj.factorial(4));
}
}
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:
suma : 24
BUILD SUCCESSFUL (total time: 0 seconds)
Vamos a realizar la prueba de escritorio para verificar como trabaja for:

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

Java 8 Programacin bsica


Ejemplo: se ingresa 4
Debe devolver:
1
1
2
3
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion11
public class Aplicacion11 {
public void fibonacci(long n){
int a=0,b=1,c=0;
for(int i=0;i<n;i++){
c=a+b;
a=b;
b=c;
System.out.println(a);
}
}
public static void main(String[] args) {
new Aplicacion11( ).fibonacci(4);
}

68

Java 8 Programacin bsica


}
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:
1
1
2
3
BUILD SUCCESSFUL (total time: 0 seconds)
Vamos a realizar la prueba de escritorio para verificar la seria de Fibonacci:

c=a+b

Comentarios:

En el ejemplo anterior no se ha creado un objeto de la clase


Aplicacion11, se ha utilizado una nueva expresin valida:
new Aplicacion11(), el cual se utiliza para poder ejecutar
los mtodos de la clase.

68

Java 8 Programacin bsica

Creacin de clases y mtodos de usuario


El elemento bsico de la programacin orientada a objetos en Java es la clase.
Una clase define la forma y comportamiento de un objeto. Para crear una
clase slo se necesita un archivo fuente que contenga la palabra clave
reservada class seguida de un identificador legal y un bloque delimitado por
dos llaves para el cuerpo de la clase.
Sintaxis:
class<Nombre de la clase> [extends<super clase>] {
Atributos
Mtodos
public static void main(String[] args) {
Conjunto de instrucciones
}
}
Un archivo de Java debe tener el mismo nombre que la clase que contiene, y
se les suele asignar la extensin ".java". Hay que tener presente que en Java
se diferencia entre maysculas y minsculas; el nombre de la clase y el de
archivo fuente han de ser exactamente iguales.
Los datos se encapsulan dentro de una clase declarando variables dentro de
las llaves de apertura y cierre de la declaracin de la clase, variables que se
conocen como atributos. Se declaran igual que las variables locales de un
mtodo en concreto.
Los mtodos son subrutinas que definen la interfaz de una clase, sus
capacidades y comportamiento. Un mtodo ha de tener por nombre cualquier
identificador legal distinto de los ya utilizados por los nombres de la clase en

68

Java 8 Programacin bsica


que est definido. Los mtodos se declaran al mismo nivel que las variables
de instancia dentro de una definicin de clase.
Sintaxis de un mtodo:
<public/prvate><void/String/int/double> [nombre del mtodo]([lista de
parmetros]) {
Conjunto de instrucciones
[return<variable de retorno>]
}
Ejemplo 12: Crear una aplicacin donde se ingrese un numero de dos dgitos
y devuelva la suma de dichos dgitos
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion12
public class Aplicacion12 {
prvate void sumarDigitos(int n){
int suma=0,d1=0,d2=0;
d1=n/10;
d2=n%10;
suma=d1+d2;
System.out.println("la suma de:"+d1+" y "+d2+" es:"+suma);
}
public static void main(String[] args) {
new Aplicacion12().sumarDigitos(28);
}

68

Java 8 Programacin bsica


}
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:
la suma de: 2 y 8 es: 10
BUILD SUCCESSFUL (total time: 0 seconds)
Comentarios:

En el ejemplo anterior se ha declarado el mtodo sumarDigitos como


private, el cual indica que solo puede ser utilizado en esta clase

Cuando una variable se declara como int, entonces el resultado de una


la divisin devolver solo la parte entera

El operador % permite devolver el residuo de una divisin

El mtodo sumarDigitos es del tipo void quiere decir que no devolver


ningn valor, solo ejecutar instrucciones.

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

Java 8 Programacin bsica


}
public static void main(String[] args) {
System.out.println(new Aplicacion13().calcularArea(2));
}
}
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:
12.5664
BUILD SUCCESSFUL (total time: 1 second)
Comentarios:

En el ejemplo anterior se ha declarado el mtodo calcularArea como


public, el cual indica que puede ser utilizado en esta clase y ser llamado
desde cualquier otra clase

El mtodocalcularArea es del tipo double quiere decir que devolver un


valor del mismo tipo, doble y float se utilizan para valores con
decimales

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

Java 8 Programacin bsica


double f=0;
String w="";
f=1.8*c+32;
w="grados Centgrados:"+c+"\nGrados Fahrenheit:"+f;
return w;
}
public static void main(String[] args) {
System.out.println(new Aplicacion14().convertir(25));
}
}
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:
Grados Centgrados: 25.0
Grados Fahrenheit: 77.0
BUILD SUCCESSFUL (total time: 0 seconds)

Comentarios:

El mtodo convertir es del tipo String quiere decir que devolver un


valor del mismo tipo, para mtodos que devuelven un valor se suele
utilizar System.out.println() para mostrar los resultados.

68

Java 8 Programacin bsica


Ejemplo 15: Crear una aplicacin donde se ingrese un valor en pies y
devuelva su equivalente en pulgadas
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion15
public class Aplicacion15 {
public long convertir(long pies){
long pulgadas=0;
pulgadas=pies*12;
return pulgadas;
}
public static void main(String[] args) {
Aplicacion15 obj=new Aplicacion15();
long s=2; // valor a utilizar
System.out.println("pies:"+s);
System.out.println("pulgadas:"+obj.convertir(s));
}
}
Comentarios:
El mtodo convertir es del tipo long (entero largo) debido a que se est
trabajando con valores numricos enteros, y la operacin matemtica siempre
devolver un resultado entero.
Al ejecutar el ejemplo anterior tendremos lo siguiente:
run:

68

Java 8 Programacin bsica


pies: 2
pulgadas: 24
BUILD SUCCESSFUL (total time: 0 seconds)
Ejemplo 16: Crear una clase (super clase) con un mtodo que permita
mostrar un valor real con dos decimales. Crear otra clase que permita
calcular el volumen de la esfera y muestre la respuesta con dos decimales
utilizando el mtodo de la primera clase.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion16
class Libreria{
public double dec(double n){
double s=0;
s=(double)(Math.round(n*100))/100;
return s;
}
}
public class Aplicacion16 extends Libreria {
public double vol(double r){
double area=0;
area=(4*3.1416*Math.pow(r,3))/3;
return super.dec(area);
}
public static void main(String[] args) {

68

Java 8 Programacin bsica


Aplicacion16 obj=new Aplicacion16();
System.out.println("Volumen de la esfera:"+obj.vol(7));
}
}
Comentarios:

En el ejemplo anterior se crearon dos clases la clase Librera y la clase


principal Aplicacion16, solo la clase principal puede ser del tipo public.

Para poder utilizar el mtodo dec de la clase Librera en la clase principal


se debe aadir la palabra reservada extends seguido del nombre de la
clase

Para llamar al mtodo dec desde la clase principal se puede utilizar la


palabra super o tambin directamente con el nombre del mtodo.

Al ejecutar el ejemplo anterior tendremos lo siguiente:


run:
Volumen de la esfera: 1436.76
BUILD SUCCESSFUL (total time: 0 seconds)

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

Java 8 Programacin bsica


trigonomtricas. Esta clase, esta ya definida en java , esto quiere decir que no
hace falta importar su correspondiente libreria. Podemos hacer su uso
directamente, como si fueran mtodos ya definidos anteriormente.
Mtodos de la clase Math:

Math.pow(X,Y)

: Devuelve la base X elevado al exponente Y

Math.round(X)

: Redondea el valor de X

Math.max(X,Y)

: Devuelve el mayor entre X e Y

Math.min(X,Y)

: Devuelve el menor entre x e Y

Math.sqrt(X)

: Devuelve la raz cuadrada de X

Ejemplo 17: Crear una aplicacin que permita calcular la hipotenusa de un


tringulo rectngulo
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion17
import javax.swing.JOptionPane;
public class Aplicacion17 {
public double hipotenusa(double cat1,double cat2){
double h=0,s=0;
s=Math.pow(cat1,2)+Math.pow(cat2,2);
h=Math.sqrt(s);
return h;
}
public static void main(String[] args) {

68

Java 8 Programacin bsica


Aplicacion17 obj=new Aplicacion17();
JOptionPane p1=new JOptionPane();
String s1="",s2="";
s1=p1.showInputDialog("Ingrese cateto 1");
s2=p1.showInputDialog("Ingrese cateto 2");
double a=0,b=0,c=0;
a=Double.parseDouble(s1);
b=Double.parseDouble(s2);
c=obj.hipotenusa(a,b);
p1.showMessageDialog(null,"Hipotenusa: "+c);
}
}
Comentarios:

La clase JOptionPane posee dos mtodos importantes, el mtodo


showInputDialog() permite mostrar una ventana para que el usuario
pueda ingresar un valor, el mtodo showMessageDialog() muestra una
ventana con los resultados de la aplicacin

La clase Double posee el mtodo parseDouble() el cual permite convertir


un valor tipo cadena al tipo double.

Al ejecutar el ejemplo anterior tendremos lo siguiente:


Luego aparecer la siguiente ventana donde deber ingresar el valor del
segundo cateto:

68

Java 8 Programacin bsica

Por ltimo aparecer la ventana con al respuesta:

Ejemplo 18: Crear una aplicacin que permita ingresar


numricos y devolver el promedio de los dos valores ms altos

tres valores

Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto


actual, el nombre del archivo ser: Aplicacion18
import javax.swing.JOptionPane;
public class Aplicacion18 {
public double promedio(double a,double b,double c){

68

Java 8 Programacin bsica


double mini=0,p=0;
mini=Math.min(a,Math.min(b,c));
p=(a+b+c-mini)/2;
return p;
}
public static void main(String[] args) {
Aplicacion18 obj=new Aplicacion18();
JOptionPane p1=new JOptionPane();
String s1="",s2="",s3="";
s1=p1.showInputDialog("Ingrese valor 1");
s2=p1.showInputDialog("Ingrese valor 2");
s3=p1.showInputDialog("Ingrese valor 3");
double a=0,b=0,c=0,p=0;
a=Double.parseDouble(s1);
b=Double.parseDouble(s2);
c=Double.parseDouble(s3);
p=obj.promedio(a, b, c);
p1.showMessageDialog(null,"el promedio es:"+p);
}
}
Comentarios:

68

Java 8 Programacin bsica


El mtodo convertir es del tipo long (entero largo) debido a que se esta
trabajando con valores numricos enteros, y la operacin matemtica siempre
devolver un resultado entero.
Al ejecutar el ejemplo anterior tendremos lo siguiente:

Luego de ingresar los datos, tenemos la respuesta final:

68

Java 8 Programacin bsica

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

Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto


actual, el nombre del archivo ser: Aplicacion19
import javax.swing.JOptionPane;
public class Aplicacion19 {
public String raices(double a,doubleb,double c){
double d=0,x1=0,x2=0,x3=0;
String w="";
d=Math.pow(b,2)-4*a*c;
if(d>=0){
x1=(-b+Math.sqrt(d))/(2*a);

68

Java 8 Programacin bsica


x2=(-b-Math.sqrt(d))/(2*a);
w="Raiz 1:"+x1+"\nRaiz 2:"+x2;
}else{
x1=-b/(2*a);
x2=Math.sqrt(-d)/(2*a);
w="Raiz 1:"+x1+"+"+x2+"i"+"\nRaiz 2:"+x1+"-"+x2+"i";
}
return w;
}
public static void main(String[] args) {
Aplicacion19 obj=new Aplicacion19();
JOptionPane p1=new JOptionPane();
String s1="",s2="",s3="",p="";
s1=p1.showInputDialog("Ingrese A");
s2=p1.showInputDialog("Ingrese B");
s3=p1.showInputDialog("Ingrese C");
double a=0,b=0,c=0;
a=Double.parseDouble(s1);
b=Double.parseDouble(s2);
c=Double.parseDouble(s3);
p=obj.raices(a, b, c);

68

Java 8 Programacin bsica


p1.showMessageDialog(null,p);
}
}
Comentarios:

En el mtodo races hemos calculado el discriminante, es decir el valor


que se encuentra dentro de la raz. La raz cuadrada de un valor positivo
devolver un valor real, pero si el valor es negativo devolver un valor
imaginario.

Al ejecutar el ejemplo anterior tendremos lo siguiente:

68

Java 8 Programacin bsica

Con los valores anteriores tendremos las races imaginarias tal como se
muestra en la ventana final:

Para obtener valores reales, vuelva a ejecutar la aplicacin e ingrese los


siguientes valores; A=1, B=8, C=1. Obtendremos lo siguiente:

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

Java 8 Programacin bsica


Mtodos de la clase String:

equals(Object x): Permite comparar dos valores del tipo String.

equalsIgnoreCase(String s): Compara el String con otro, ignorando


consideraciones de maysculas y minsculas.

length(): Devuelve la longitud del String (nmero de caracteres)

substring(int x, int y): Devuelve un a subcadena desde el ndice x hasta


y

toLowerCase(): Convierte una cadena a minsculas

toUpperCase(): Convierte una cadena a maysculas

Ejemplo 20: Crear una aplicacin donde se ingrese un email si el email


posee el smbolo de arroba devolver el mensaje email correcto caso
contrario devolver el mensaje: email incorrecto
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion20
import javax.swing.JOptionPane;
public class Aplicacion20 {
public String email(String a){
String w="",m=""; int k=0;
int z=a.length();
for(int i=0;i<z;i++){
m=a.substring(i,i+1);

68

Java 8 Programacin bsica


if(m.equals("@")){
k=k+1;
}
}
if(k==1){
w="Email correcto";
}else{
w="Email incorrecto";
}
return w;
}
public static void main(String[] args) {
Aplicacion20 obj=new Aplicacion20();
JOptionPane p1=new JOptionPane();
String s1="",p="";
s1=p1.showInputDialog("Ingrese email");
p=obj.email(s1);
p1.showMessageDialog(null,p);
}
}
Comentarios:

68

Java 8 Programacin bsica

En el mtodo email estamos utilizando los diferentes mtodos de la


clase String.

El email ingresado ser correcto solo si se ingresa con un solo smbolo


de arroba.

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.

Al ejecutar tendremos lo siguiente:

Y el resultado ser el siguiente:

Ahora probaremos ingresando un email incorrecto:

68

Java 8 Programacin bsica

El resultado ser el siguiente:

Ejemplo 21: Crear una aplicacin donde se ingrese un apellido, devolver el


mismo apellido con la primera letra en mayscula y las dems letras en
minsculas
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion21
import javax.swing.JOptionPane;
public class Aplicacion21{
public String apellido(String a){
String w1="",w2="",w3="";
int z=a.length();
w1=a.substring(0,1);//primera letra

68

Java 8 Programacin bsica


w2=a.substring(1,z);// desde la segunda hasta la ltima letra
w3=w1.toUpperCase()+w2.toLowerCase();
return w3;
}
public static void main(String[] args) {
Aplicacion21 obj=new Aplicacion21();
JOptionPane p1=new JOptionPane();
String s1="",p="";
s1=p1.showInputDialog("Ingrese Apellido");
p=obj.apellido(s1);
p1.showMessageDialog(null,p);
}
}
Comentarios:

En el mtodo apellido utilizamos los mtodos para convertir a


maysculas y minsculas.

El mtodo length() devuelve el numero de caracteres del apellido


ingresado

Al ejecutar tendremos lo siguiente:

68

Java 8 Programacin bsica

Y el resultado ser el siguiente:

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:

Calendar.YEAR: Devuelve el Ao actual.

68

Java 8 Programacin bsica

Calendar.MONTH: Devuelve el Mes actual.

Calendar.DATE, Calendar.DAY_OF_MONTH: Devuelve el da del mes.

Calendar.DAY_OF_WEEK: Devuelve el da de la semana entre 1


(MONDAY) y 7 (SATURDAY).

Calendar.HOUR: Devuelve la hora antes o despus del medio da (en


intervalos de 12 horas).

Calendar.HOUR_OF_DAY: Devuelve la hora absoluta del da (en


intervalos de 24 horas).

Calendar.MINUTE: Devuelve el minuto dentro de la hora.

Calendar.SECOND: Devuelve el segundo dentro del minuto.

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

Java 8 Programacin bsica


int dia=c.get(Calendar.DATE);//dia actual
int mes=c.get(Calendar.MONTH)+1;//mes actual
int anio=c.get(Calendar.YEAR);//ao actual
String m="",w="";
switch(mes){
case 1:m="Enero";break;
case 2:m="Febrero";break;
case 3:m="Marzo";break;
case 4:m="Abril";break;
case 5:m="Mayo";break;
case 6:m="Junio";break;
case 7:m="Julio";break;
case 8:m="Agosto";break;
case 9:m="Septiembre";break;
case 10:m="Octubre";break;
case 11:m="Noviembre";break;
case 12:m="Diciembre";break;
}
w="Lima, "+dia+ " de "+m+" de "+anio;
return w;
}

68

Java 8 Programacin bsica


public static void main(String[] args) {
Aplicacion22 obj=new Aplicacion22();
JOptionPane p1=new JOptionPane();
String p=obj.fecha();
p1.showMessageDialog(null,p);
}
}
Comentarios:

Para trabajar con la fecha en java se requiere de las clases Calendar y


GregorianCalendar los cuales son invocados utilizando la palabra
reservada import

Java define a Enero con el 0, a febrero con 1, y as sucesivamente,


debido a esto en el cdigo se ha sumado 1 al mes.

Al ejecutar tendremos lo siguiente:

Ejemplo 23: Crear una aplicacin donde se ingrese el ao y mes de


nacimiento, devolver la edad actual y los meses que faltan o que pasaron
desde su cumpleaos.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion23

68

Java 8 Programacin bsica


import java.util.*;
import javax.swing.JOptionPane;
public class Aplicacion23{
public String edad(inta,int m){
Calendar c=new GregorianCalendar();
intmes=c.get(Calendar.MONTH)+1;//mes actual
intanio=c.get(Calendar.YEAR);//ao actual
String w="";int z=0,edad=0;
if(mes>m){
z=mes-m;
edad=anio-a;
w="Tienes "+edad+ " aos pasaron "+z+ " meses";
}elseif(mes<m){
z=m-mes;
edad=anio-a-1;
w="Tienes "+edad+ " aos faltan "+z+ " meses";
}
return w;
}
public static void main(String[] args) {
Aplicacion23 obj=new Aplicacion23();

68

Java 8 Programacin bsica


JOptionPane p1=new JOptionPane();
String s1="",s2="",s3="";
s1=p1.showInputDialog("Ingrese ao de nacimiento:");
s2=p1.showInputDialog("Ingrese mes de nacimiento:");
int a=0,b=0;
a=Integer.parseInt(s1);
b=Integer.parseInt(s2);
s3=obj.edad(a, b);
p1.showMessageDialog(null,s3);
}
}
Comentarios:

Para trabajar con la fecha en java se requiere de las clases Calendar y


GregorianCalendar los cuales se encuentran en el mismo paquete,
debido a esto se puede utilizar una sola lnea aadiendo el smbolo de
asterisco, esto le indica al sistema que se pueden utilizar cualquier clase
que se encuentra dentro del paquete java.util

En este ejemplo estamos utilizando la clase Integer y su mtodo


parseInt el cual permite convertir un valor del tipo String a un valor del
tipo int.

Al ejecutar tendremos lo siguiente:

68

Java 8 Programacin bsica

Luego de ingresar el ao de nacimiento, debe ingresar el mes tal como se


muestra en la ventana siguiente:

El resultado final ser:

Mtodos especiales
Java posee un conjunto de mtodos especiales tales como: mtodos
constructores, mtodos sobrecargados y mtodos estticos.

68

Java 8 Programacin bsica

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:

En este ejemplo podemos notar que el mtodo constructor posee el


mismo nombre de la clase y por defecto es del tipo void.

Al crear el objeto obj se lanza el mtodo constructor.

68

Java 8 Programacin bsica

Los mtodos constructores tambin pueden tener parmetros.

La lnea de cdigo : Aplicacion24 obj=new Aplicacion24(); puede ser


remplazado por: new Aplicacion24();

Al ejecutar tendremos lo siguiente:

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

Java 8 Programacin bsica


w=a*b*c;
return w;
}
public int vol(int a,int b,int c){
int w=0;
w=a*b*c;
return w;
}
public static void main(String[] args) {
Aplicacion25 obj=new Aplicacion25();
double p1=0; int p2=0;
p1=obj.vol(2.34,3.45,6.43);
p2=obj.vol(3,4,5);
String z="";
z="Volumen del cubo 1: "+p1+"\nVolumen del cubo 2: "+p2;
newJOptionPane().showMessageDialog(null,z);
}
}
Comentarios:

En este ejemplo tenemos dos mtodos con el mismo nombre pero con
diferentes tipos de parmetros.

68

Java 8 Programacin bsica

El primer mtodo recibe parmetros tipo double.

El segundo mtodo recibe parmetros tipo int.

Al ejecutar tendremos lo siguiente:

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

Java 8 Programacin bsica


f=1.8*c+32;
return f;
}
public static void main(String[] args) {
JOptionPane p1=new JOptionPane();
String s1="";
s1=p1.showInputDialog("Ingrese C");
double a=0,p=0;
a=Double.parseDouble(s1);
p=Aplicacion26.temperatura(a);
p1.showMessageDialog(null,"Celsius: "+a+"\nFahrenheit: "+p);
}
}
Comentario:

En este ejemplo tenemos un mtodo esttico, el cual para ser ejecutado


se debe anteponer el nombre de la clase.

Al ejecutar tendremos lo siguiente:

68

Java 8 Programacin bsica

Luego de ingresar un valor en grados centgrados o Celsius, tendremos la


conversin a grados Fahrenheit:

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

Java 8 Programacin bsica


for(int i=0;i<z;i++){
m=a.substring(i,i+1);
if(m.equalsIgnoreCase(b)){
k=k+1;
}
}
return k;
}
public static void main(String[] args) {
JOptionPane p1=new JOptionPane();
String s1="",s2=""; int p=0;
s1=p1.showInputDialog("Ingrese Texto");
s2=p1.showInputDialog("Ingrese una Letra");
p=Aplicacion27.contarLetra(s1,s2);
p1.showMessageDialog(null,p);
}
}

Comentario:

68

Java 8 Programacin bsica

En este ejemplo usamos el mtodo equalsIgnoreCase para que la


bsqueda de la letra en la palabra no distinga entre mayscula y
minscula tal como se mostrara al ejecutar la aplicacin.

Al ejecutar tendremos lo siguiente:

Luego de ingresar el texto, ingresaremos una letra:

Tendremos como resultado final lo siguiente:

68

Java 8 Programacin bsica


Ejemplo 28: Crear una aplicacin con un mtodo esttico que permita
invertir un texto ingresado desde el teclado
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion28
import javax.swing.JOptionPane;
public class Aplicacion28 {
static JOptionPane p1;
public static void invertir(String a){
String m="",w="";
int z=a.length();
for(int i=0;i<z;i++){
m=a.substring(i,i+1);
w=m+w;
}
p1.showMessageDialog(null, w);
}
public static void main(String[] args) {
String s1="";
s1=p1.showInputDialog("IngreseTexto");
Aplicacion28.invertir(s1);
}
}

68

Java 8 Programacin bsica


Comentario:

Cuando tenemos mtodos estticos los objetos declarados en la clase


tambin deben ser declarados estticos tal como se hizo con el objeto
p1.

El objeto p1 puede ser utilizado en el mtodo invertir() y tambin en el


mtodo principal main()

Para invertir el texto se aplic el algoritmo simple de posicin: w=m+w,


recuerde que el smbolo de suma con variables tipo String se utiliza
para concatenacin.

Veamos la prueba de escritorio:


Palabra a ingresar: pez

w=m+w

ep

ep

zep

Al ejecutar tendremos lo siguiente:

68

Java 8 Programacin bsica


Y el texto invertido lo tendremos en la siguiente venta:

Acceso a datos con MS Access


Java permite el acceso a datos de la mayora de base de datos open source y
comerciales por medio de JDBC.
JDBC es un API (Application programming interface) que define una librera
estndar para acceso a fuentes de datos, principalmente orientado a Bases de
Datos relacionales que usan SQL (Structured Query Language). JDBC no
slo provee un interfaz para acceso a motores de bases de datos, sino que
tambin define una arquitectura estndar, para que los fabricantes puedan
crear los drivers que permitan a las aplicaciones java el acceso a los datos.

Creacin de una base de datos y una tabla en MS


Access
Para trabajar con el cdigo java de acceso a datos vamos a crear una base de
datos en Access
Nombre de la base de datos: microcelperu
Nombre de la tabla: empleados

68

Java 8 Programacin bsica


Estructura de la tabla:

Ingresaremos los siguientes datos:

Comentarios:

Los datos anteriores son solo como ejemplo, no son datos reales

Grabar la base de datos en el escritorio para poder ubicarlo en la


creacin del DSN de sistema

Creacin del DSN de sistema


Luego de crear la base de datos, necesitamos conectarnos a la base de datos
por medio de una conexin ODBC y un DSN de sistema.
Open DataBase Connectivity (ODBC: conectividad abierta a base de
datos).El objetivo de ODBC es hacer posible el acceder a cualquier dato

68

Java 8 Programacin bsica


desde cualquier aplicacin, sin importar qu sistema de gestin de bases de
datos (DBMS) almacene los datos.
DSN es una palabra abreviada del ingls (Data SourceName) (en espaol,
Nombre de origen de datos), que representa todo lo relativo a una fuente de
datos configurada por el usuario para conectarse a una Base de datos.
Pasos para crear una conexin odbc:

Ingresar al panel de control de su sistema operativo

Doble clic sobre el icono: herramientas administrativas

Doble clic sobre el icono: orgenes de datos ODBC

Aparecer:

68

Java 8 Programacin bsica


Clic en el botn Agregar

En la ventana anterior debe seleccionar el driver correspondiente a la versin


de la base de datos con el cual est trabajando, para nuestro ejemplo
seleccionaremos el que se muestra con fondo resaltado.
Luego de hacer clic en el botn Finalizar aparecer la siguiente ventana:

Como nombre de origen de datos pondremos: data1 luego haga clic en el


botn Seleccionar, aparecer la siguiente ventana donde deber ubicar la
base de datos tal como se muestra en la figura siguiente:

68

Java 8 Programacin bsica

Haga clic en Aceptar en esta ventana y en las anteriores, si le sale una


ventana con el mensaje: Directorio o ruta no validos se debe a que tiene
abierto la base de datos Access, tiene que cerrarlo para completar estos
pasos.

Clases y mtodos para el acceso a datos


Java incorpora un conjunto de clases y sus respectivos mtodos para poder
manipular los datos utilizando el lenguaje estructurado de consulta ms
conocido como SQL
JDBC ofrece el paquete java.sql, en el que existen clases muy tiles para
trabajar con bases de datos.

Clase

Descripcin

DriverManager

Para cargar un driver

Connection

Para establecer conexiones con las bases de datos

Statement

Para Ejecutar sentencias SQL y enviarlas a las BBDD

68

Java 8 Programacin bsica

ResultSet

Para almacenar el resultado de la consulta

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

Java 8 Programacin bsica


p1.showMessageDialog(null,"Error al registrar el driver");
}
//conexion a la base de datos por medio del DSN
try{
c=DriverManager.getConnection("jdbc:odbc:data1");
p1.showMessageDialog(null,"Conexionexitosa");
}catch(Exception e){
p1.showMessageDialog(null,"Error de conexion");
}
}

public void listarDatos(){


String n1="",n2="",n3="",w="";
try{
s=c.createStatement();
r=s.executeQuery("select * from empleados");
while(r.next()){
n1=r.getString(1); //primer campo
n2=r.getString(2); //segundo campo
n3=r.getString(3); //tercer campo
w=w+" "+n1+" | "+n2+" | "+n3+"\n";

68

Java 8 Programacin bsica


}
}catch(Exception e){
p1.showMessageDialog(null,"Error de consulta");
}
p1.showMessageDialog(null,w);
}
public static void main(String[] args) {
Aplicacion29 obj=new Aplicacion29();
obj.listarDatos();
}
}
Comentario:

En este ejemplo hemos trabajado con 4 mtodos, el mtodo constructor


que llamar al mtodo conexin y se ejecutar automticamente en la
lnea de creacin del objeto obj de la clase. El mtodo conexin() el
cual contiene todas las instrucciones necesarias para la conexin,
estableciendo mensajes que permitan verificar si se produjo algn error.
El mtodo listarDatos() permite el listado de datos de la tabla
empleados y por ltimo el mtodo main donde lanzaremos este mtodo.

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.

Exception es la palabra reservada que hace referencia a los errores que


se pueden producir al ejecutar una aplicacin java, el bloque try tratara

68

Java 8 Programacin bsica


de ejecutar las instrucciones para el acceso a datos, el bloque catch
captura los errores que se producen en tiempo de ejecucin.
Al ejecutar tendremos lo siguiente:

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

Java 8 Programacin bsica


import java.sql.*;
import javax.swing.*;
public class Aplicacion30 {
Statement s=null;
ResultSet r=null;
Connection c=null;
staticJOptionPane p1;
public Aplicacion30(){
conexion();
}
public void conexion(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
c=DriverManager.getConnection("jdbc:odbc:data1");
}catch(Exception e){}
}
public void consultarDatos(String z){
String n1="",n2="",n3="",w="";
try{
s=c.createStatement();
r=s.executeQuery("select * from empleados where dni='"+z+"'");

68

Java 8 Programacin bsica


while(r.next()){
n1=r.getString(1);
n2=r.getString(2);
n3=r.getString(3);
w=w+" "+n1+" | "+n2+" | "+n3+"\n";
}
}catch(Exception e){
p1.showMessageDialog(null,"Error de consulta");
}
if(!n1.equals("")){
p1.showMessageDialog(null,w);
}else{
p1.showMessageDialog(null,"DNI no existe");
}
}
public static void main(String[] args) {
Aplicacion30 obj=new Aplicacion30();
Stringdni=p1.showInputDialog("Ingrese DNI");
obj.consultarDatos(dni);
}
}

68

Java 8 Programacin bsica


Comentario:

En este ejemplo hemos reducido el cdigo anterior as tambin hemos


creado el mtodo consultarDatos() con un parmetro el cual ser el dni.

En las aplicaciones siguientes veremos los dems mtodos que nos


permiten borrar, registrar y actualizar registros.

Al ejecutar tendremos lo siguiente:

Luego de ingresar un DNI valido tendremos lo siguiente:

Pero si ingresamos un DNI que no existe como por ejemplo: 09488438,


tendremos lo siguiente:

68

Java 8 Programacin bsica

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:

Array unidimensional : formado por un ndice, similar al eje X de las


coordenadas cartesianas

Array bidimensional: formado por dos ndices, similar a los ejes X e Y


de las coordenadas cartesianas

Array tridimensional: formado por tres ndices, similar a los ejes X, Y y


Z de las coordenadas cartesianas

68

Java 8 Programacin bsica


Sintaxis:
Array unidimensional:
<tipo>[] <nombre>=new <tipo>[<tamao>]
Ejemplo: String[ ] apellidos=new String[5]
Array bidimensional:
<tipo>[][] <nombre>=new <tipo>[<tamao>][<tamao>]
Ejemplo: int[ ][ ] edad=new int[5][5]
Array tridimensional:
<tipo>[][][] <nombre>=new <tipo>[<tamao>][<tamao>][<tamao>]
Ejemplo: int[ ] [ ][ ]pos=new int[5] [5][5 ]
Nota: el nmero de ndice indica el nmero de elementos del array

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

Java 8 Programacin bsica


for(int i=0; i<numeros.length; i++) {
suma=suma+numeros[i];
}
p1.showMessageDialog(null, suma);
}
public static void main(String[] args) {
Aplicacion31.suma();
}
}
Comentario:

En este ejemplo hemos creado un vector con 4 datos numricos, luego


por medio de la sentencia for se ha calculado la suma.

El mtodo length devuelve el nmero de valores del vector.

Al ejecutar tendremos lo siguiente:

Ejemplo 32: Crear una aplicacin que permita agrupar 4 ciudades en un


vector y devuelva las ciudades en maysculas

68

Java 8 Programacin bsica


Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion32
import javax.swing.*;
public class Aplicacion32 {
static JOptionPane p1;
public static void ciudades(){
String ciudades[] = {"Jerusalen","Pekin","Roma","Paris"};
String w="";
for(int i=0; i<ciudades.length; i++) {
w=w+ciudades[i].toUpperCase()+"\n";
}
p1.showMessageDialog(null, w);
}
public static void main(String[] args) {
Aplicacion32.ciudades();
}
}
Comentario:

En este ejemplo hemos creado un vector con 4 datos tipo


cadena(String), la ubicacin de los corchetes puede ser al final del tipo
de vector o al final del nombre del vector, tal como se muestra en este
ejemplo

68

Java 8 Programacin bsica

El mtodo toUpperCase() permite convertir a maysculas cada


elemento del vector.

Al ejecutar tendremos lo siguiente:

Ejemplo 33: Crear una aplicacin que permita ingresar 3 nmeros y


devuelva la suma de ellos, use array.
Solucin: Aadir un nuevo archivo del tipo: Java MainClass al proyecto
actual, el nombre del archivo ser: Aplicacion33
import javax.swing.*;
public class Aplicacion33 {
static JOptionPane p1;
public static void sumarNumeros(){
int n[] =new int[3];
String w="";int s=0,suma=0;
for(int i=0; i<3; i++) {
s=i+1;

68

Java 8 Programacin bsica


n[i]=Integer.parseInt(p1.showInputDialog("Ingrese nmero "+s+":"));
suma=suma+n[i];
}
p1.showMessageDialog(null, "La suma es:"+suma);
}
public static void main(String[] args) {
Aplicacion33.sumarNumeros();
}
}
Comentario:

En este ejemplo hemos creado un vector con 4 datos tipo


cadena(String), la ubicacin de los corchetes puede ser al final del tipo
de vector o al final del nombre del vector, tal como se muestra en este
ejemplo

El mtodo toUpperCase() permite convertir a maysculas cada


elemento del vector.

Al ejecutar tendremos lo siguiente:

68

Java 8 Programacin bsica

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

Java 8 Programacin bsica


import javax.swing.*;
import java.util.*;
public class Aplicacion34 {
static JOptionPane p1;
public static void comprar(int z){
String[] producto=new String[z];
int[] cantidad=new int[z];
double[] precio=new double[z];
double[] stotal=new double[z];
String w="Producto|Cantidad|Precio|Subtotal\n";
int s=0; double total=0;
for(int i=0; i<z; i++) {
s=i+1;
producto[i]=p1.showInputDialog("Ingrese producto "+s+":");
cantidad[i]=Integer.parseInt(p1.showInputDialog("cantidad "+s+":"));
precio[i]=Double.parseDouble(p1.showInputDialog("precio "+s+":"));
stotal[i]=cantidad[i]*precio[i];
total=total+stotal[i];
w=w+" "+producto[i]+" | "+cantidad[i]+" | "+precio[i]+" | "+stotal[i]+"\n";
}
p1.showMessageDialog(null,w+"\nTotal a pagar:"+total);

68

Java 8 Programacin bsica


}
public static void main(String[] args) {
int i=Integer.parseInt(p1.showInputDialog("Ingrese nmero de productos:"));
Aplicacion34.comprar(i);
}
}
Comentario:

En este ejemplo se han utilizado diferentes vectores cuyo tamao


depender del valor ingresado por el usuario

Como prueba ingrese los siguientes datos:

Producto

Cantidad

Precio

Monitor

220

Impresora

55

Teclado

12

24

Al ejecutar tendremos lo siguiente:

68

Java 8 Programacin bsica


Luego de ingresar el nmero de datos, debe ingresar los datos de la tabla
anterior en el orden mostrado. Al finalizar tendremos lo siguiente:

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

Java 8 Programacin bsica


int m5=0;// nmero de monedas de 5
int m2=0;// nmero de monedas de 2
m5=m/9; m2=2*m5;
String z="Monedas de 5:"+m5+"\nMonedas de 2:"+m2;
p1.showMessageDialog(null,z);
}
public static void main(String[] args) {
int n=Integer.parseInt(p1.showInputDialog("Ingrese nmero:"));
new Ejercicio1().monedas(n);
}
}
Al ejecutar la aplicacin tendremos lo siguiente:

Si ingresamos el valor de 40, debe devolver 4 monedas de 5 soles y 8


monedas de 2 soles.

68

Java 8 Programacin bsica


Veamos la respuesta:

Ejercicio 2: Crear un men de opciones que permita desarrollar lo siguiente:


Opcin 1: calcular el volumen de una esfera
Opcin 2: calcular el volumen del cubo
Solucin: Aadir un nuevo archivo, el nombre de este archivo ser:
Ejercicio2, el cdigo es el siguiente:
import javax.swing.*;
public class Ejercicio2 {
static JOptionPane p1;
public void volumenEsfera(double r){
}
public void volumenCubo(double a){
}
public static void main(String[] args) {
int w=Integer.parseInt(p1.showInputDialog(null,"\n(1)Volumen
Esfera"+

de

la

68

Java 8 Programacin bsica


"\n(2)Volumen del Cubo \nDigite una opcin:","Men Principal",1));
}
}
Ahora vamos a ejecutar nuestra aplicacin para visualizar el men de
opciones:

El siguiente paso ser desarrollar los mtodos de cada opcin, el cdigo


completo es el siguiente:
import javax.swing.*;
public class Ejercicio2 {
static JOptionPane p1;
public void volumenEsfera(double r){
double v=0;
v=4*3.1416*Math.pow(r,3)/3;
p1.showMessageDialog(null,"Radio:"+r+"\nVolumen:"+v,"Volumen
Esfera",1);

de

la

68

Java 8 Programacin bsica


}
public void volumenCubo(double a){
double v=0;
v=Math.pow(a,3);
p1.showMessageDialog(null,"Arista:"+a+"\nVolumen:"+v,"Volumen
Cubo",1);

del

}
public static void main(String[] args) {
int w=Integer.parseInt(p1.showInputDialog(null,"\n(1)Volumen
Esfera"+

de

la

"\n(2)Volumen del Cubo \nDigite una opcin:","Menu Principal",1));


double z=0;
if(w==1){
z=Double.parseDouble(p1.showInputDialog(null,"Ingrese radio:","Volumen
de la Esfera",1));
new Ejercicio2().volumenEsfera(z);
}
if(w==2){
z=Double.parseDouble(p1.showInputDialog(null,"Ingrese arista:","Volumen
del Cubo",1));
new Ejercicio2().volumenCubo(z);
}
}

68

Java 8 Programacin bsica


}
Al ejecutar tendremos lo siguiente:

Ejercicio 3: Crear un men de opciones que permita desarrollar lo siguiente:

68

Java 8 Programacin bsica


Opcin 1: Convertir decimal a binario
Opcin 2: Convertir decimal a hexadecimal
Solucin: Aadir un nuevo archivo, el nombre de este archivo ser:
Ejercicio3, el cdigo es el siguiente:
import javax.swing.*;
public class Ejercicio3 {
static JOptionPane p1;
public void decimalBinario(int n){
String bin="";
bin=Integer.toBinaryString(n);
p1.showMessageDialog(null,"Decimal:"+n+"\nBinario:"+bin,"Decimal
Binario",1);

}
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

Java 8 Programacin bsica


int z=0;
if(w==1){
z=Integer.parseInt(p1.showInputDialog(null,"Ingrese un valor entero:",
"Decimal a binario",1));
new Ejercicio3().decimalBinario(z);
}
if(w==2){
z=Integer.parseInt(p1.showInputDialog(null,"Ingrese un valor entero:",
"Decimal a Hexadecimal",1));
new Ejercicio3().decimalHexadecimal(z);
}
}
}
Al ejecutar tendremos lo siguiente:

68

Java 8 Programacin bsica

Ejercicio 4: Crear un men de opciones que permita desarrollar las


operaciones bsicas de mantenimiento de la tabla empleados de la base de
datos microcelperu (esta base de datos fue creado para el ejemplo29)
Opcin 1: Registrar
Opcin 2: listar
Opcin 3: Borrar
Opcin 4: Actualizar
Solucin: Aadir un nuevo archivo, el nombre de este archivo ser:
Ejercicio4, el cdigo es el siguiente:
import javax.swing.*;
import java.sql.*;
public class Ejercicio4 {

68

Java 8 Programacin bsica


static JOptionPane p1;
static Statement s=null;
static ResultSet r=null;
Connection c=null;
public void conexion(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
c=DriverManager.getConnection("jdbc:odbc:data1");
s=c.createStatement();
p1.showMessageDialog(null,"Conexion exitosa","Mensaje del Sistema",1);
}catch(Exception e){
p1.showMessageDialog(null,"Error de Conexin","Mensaje del Sistema",1);
}
}
public static void main(String[] args) {
Ejercicio4 obj=new Ejercicio4();
int w=Integer.parseInt(p1.showInputDialog(null,"\n(1) Registrar \n(2)
Listar"+
"\n(3) Borrar \n(4) Actualizar \nDigite una opcin:","Menu Principal",1));
}
}

68

Java 8 Programacin bsica


Al ejecutar tendremos lo siguiente:

Ahora crearemos el mtodo registrar, el cdigo es el siguiente:


public boolean registrar(String a,String b,String c,String d){
conexion();
try{
s.executeUpdate("insert
"','"+d+"')");

into

empleados

values('"+a+"','"+b+"','"+c+

return true;
}catch(Exception e){
return false;
}
}
Nota: este mtodo debe digitarlo debajo del mtodo conexion().

68

Java 8 Programacin bsica


Ahora vamos a digitar el cdigo de la opcin Registrar:
public static void main(String[] args) {
Ejercicio4 obj=new Ejercicio4();
int w=Integer.parseInt(p1.showInputDialog(null,"\n(1) Registrar \n(2)
Listar"+
"\n(3) Borrar
Principal",1));

\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

Java 8 Programacin bsica


Ahora vamos a probar la opcin registrar:

68

Java 8 Programacin bsica

68

Java 8 Programacin bsica


Ahora crearemos el mtodo listar, este mtodo debe digitarlo debajo del
mtodo registrar() el cdigo es el siguiente:
public void listar(){
conexion();
String n1="",n2="",n3="",n4="",n5="";
try{
r=s.executeQuery("Select * from empleados");
while(r.next()){
n1=r.getString(1);n2=r.getString(2);
n3=r.getString(3);n4=r.getString(4);
n5=n5+" | "+n1+" | "+n2+" | "+n3+" | "+n4+"\n";
}
}catch (Exception e){}
new JOptionPane().showMessageDialog(null,n5,"Listado de datos",1);
}
Ahora vamos a digitar el cdigo de la opcin Listar del men de opciones
que se encuentra en el mtodo principal (public estatic void main()):
if(w==2){
obj.listar();
}

68

Java 8 Programacin bsica


El ejecutar la aplicacin tendremos:

68

Java 8 Programacin bsica


Ahora crearemos el mtodo borrar(), debe digitarlo debajo del mtodo
listar(), el cdigo es el siguiente:
public boolean borrar(String dni){
try{
conexion();
s.executeUpdate("delete from empleados where dni='"+dni+"'");
return true;
}catch (Exception e){
return false;
}
}
Ahora vamos a digitar el cdigo de la opcin Borrar del men de opciones
que se encuentra en el mtodo principal (public estatic void main()):
if(w==3){
String m1=p1.showInputDialog(null,"Ingrese DNI:","Borrar Registros",1);
boolean k=true;
k=obj.borrar(m1);
if(k==true){
p1.showMessageDialog(null,"Registro Borrado","Borrar Registros",1);
}else{
p1.showMessageDialog(null,"Se
Registros",1);

ha

producido

un

error","Borrar

68

Java 8 Programacin bsica


}
}
Al ejecutar la aplicacin tendremos lo siguiente:

68

Java 8 Programacin bsica

Ahora crearemos el mtodo actualizar(), debe digitarlo debajo del mtodo


borrar(), el cdigo es el siguiente:
public boolean actualizar(String a,String b,String c,String d){
conexion();
try{
s.executeUpdate("update empleados set nombres='"+b+"',apellidos='"+c+
"',email='"+d+"' where dni='"+a+"'");
return true;
}catch(Exception e){
return false;
}
}
Ahora vamos a digitar el cdigo de la opcin Actualizar del men de
opciones que se encuentra en el mtodo principal (public estatic void main()):
if(w==4){
String k=p1.showInputDialog(null,"Ingrese DNI:","Consulta de datos",1);
String n1="",n2="",n3="",n4="";

68

Java 8 Programacin bsica


try{
obj.conexion();
r=s.executeQuery("select * from empleados where dni='"+k+"'");
r.next();
n1=r.getString(1); n2=r.getString(2);
n3=r.getString(3); n4=r.getString(4);
}catch (Exception e){}
if(!n1.equals("")){
String w2=p1.showInputDialog(null,"Nombre:",n2);
String w3=p1.showInputDialog(null,"Apellido: ",n3);
String w4=p1.showInputDialog(null,"email: ",n4);
boolean w5=true;
w5=obj.actualizar(n1,w2,w3,w4);
if(w5==true){
p1.showMessageDialog(null,"Registro
datos",1);

actualizado","Actualizacion

de

}else{
p1.showMessageDialog(null,"Se ha producido un error","Actualizacion de
datos",1);
}
}else{
p1.showMessageDialog(null,"Registro No Existe");

68

Java 8 Programacin bsica


}
}
Ahora vamos a ejecutar la aplicacin:

68

Java 8 Programacin bsica

Vamos a cambiar el apellido para ver si se produce la actualizacin.

68

Java 8 Programacin bsica

El sistema nos indica que el registro fue actualizado, vamos a verificar estos
ejecutando el men principal y eligiendo la opcin Listar:

En el listado de datos vemos que se ha actualizado el apellido de Andrea.


Comentarios:

Para realizar la actualizacin de datos, primero se realiz una consulta


por DNI, si el DNI existe se editaron los datos caso contrario se debera
mostrar el mensaje DNI no existe.

Los objetos r y s de las clases ResultSet y Statement se declararon static


para poder ser utilizados en cualquier mtodo de la clase Ejercicio4

Vous aimerez peut-être aussi