Sei sulla pagina 1di 13

PROGRAMACION DE COMPUTADORES III

PROGRAMACIN EN JAVA

ORIGEN
El lenguaje Java as como la mquina virtual, comenzaron como un
proyecto interno de Sun Microsystems en 1990. Los ingenieros de Sun no
estaban satisfechos con el rendimiento del lenguaje C++, por lo que James
Gosling, Mike Sheridan y Patrick Naughton, junto con otros ms,
comenzaron a desarrollar un nuevo lenguaje, que en principio pensaron
dedicar a la programacin de todo tipo de aparatos, tales como
microondas, neveras, telfonos mviles, etc.. Ellos pensaban que stos
generaran muchas e importantes aplicaciones para la tecnologa del
futuro.
El lenguaje tendra que obviar problemas que presenta C++, en campos
tales como la programacin distribuda, las aplicaciones multihilo, el
manejo de la memoria y ser ms sencillo de manejar que C++. Finalmente
se deseaba que los programas fueran portables a todo tipo de aparatos.
Inicialmente el lenguaje se llam Oak (en espaol 'roble'), en honor de un
roble que haba frente a la oficina. En 1992, se present como
demostracin una PDA con interface grfica y un asistente inteligente
representado mediante un mueco llamado Duke.
Oak fue presentado a concurso, como solucin tecnolgica, en varios
proyectos para la industria del cine y la televisin, pero no fue elegido. En
1994 John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing,
y Eric Schmidt se se reunieron para reorientar Oak. Decidieron orientarlo
hacia la tecnologa de la Web, pues se pensaba que tras la aparicin del
navegador Mosaic, sta evolucionara hacia la misma clase de
interactividad, que la televisin por cable, para la cual haban estado
preparando Oak.

Fue asimismo en 1994 cuando se cambi el nombre de Oak a Java. Poco


despus, an en 1994, la plataforma Java 1.0, estaba disponible para
descarga en la Web. En 1995 Netscape anunci que incluira soporte para
Java en sus navegadores, dando con esto un buen apoyo a Java.

INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS


PARTE I

PROGRAMACION DE COMPUTADORES III

Lo mas curioso es que este lenguaje fue diseado antes de que comenzara
la World Wide Web (www), ya que se dise para dispositivos electrnicos
de calculadoras, la televisin interactiva y microondas.
Las tres razones por las que se desarrollo java fueron las siguientes:

La necesidad de interfaces mucho ms cmodas e intuitivas que


los sistemas que existian en esa poca.
La fiabilidad y facilidad de desarrollo.
Enorme diversidad de controladores electrnicos.

CONCEPTO
Java es un lenguaje de programacin de ordenadores. En cierto sentido
no se diferencia mucho de otros lenguajes de programacin, tales como
C, Pascal o Visual Basic. Aquel que ya conoce alguno de estos lenguajes
tiene medio camino ya andado.
Como otros lenguajes posee declaraciones de variables, instrucciones
condicionales, bucles, funciones, etc.. Sin embargo Java posee algunas
caractersticas nicas, que le hacen un lenguaje muy importante.
Las ms sobresalientes son:

Portabilidad: Los programas escritos en Java pueden ejecutarse en


cualquier ordenador o terminal tal como telfonos mviles. No
importa el tipo de hardware, ni el sistema operativo (ms adelante
veremos algunas precisiones a esta afirmacin).
Internet: Java est especialmente pensado para realizar
aplicaciones que funcionan en red, ya sea local o Internet. El
acceso a recursos remotos, tales como bases de datos es sencillo y
rpido.
Potencia: Java es un lenguaje que soporta todas las caractersticas
necesarias para desarrollar cualquier tipo de programa, tales como
grficos, imgenes y mutimedia en general, multihilo, etc.

INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS


PARTE I

PROGRAMACION DE COMPUTADORES III

PARTES DE UN PROGRAMA EN JAVA

Un programa en Java por lo regular tiene la siguiente estructura:

INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS


PARTE I

PROGRAMACION DE COMPUTADORES III

Package: Un package es una agrupacin de clases. Es parecido a una


"caja" que contiene las clases que queramos mantener en un solo lugar.
Tambin podra decirse que los packages es el equivalente a las libreras
en otros lenguajes. Esta parte del cdigo no es obligatoria, es slo si lo
necesita usar nuestro programa.
Import: En ocasiones nuestros programas requerirn utilizar clases
existentes en otros Packages, y esto se puede lograr con Import.
Clases:
Java
puede
crear
diferentes
tipos
de
clases: privadas, pblicas y protegidas; y se utilizan de acuerdo a
conveniencia de la estructura de nuestro programa.
Variables: Java maneja tres tipos de variables: de instancia,
de clase y locales.
Las variables de instancia son las que se usan para guardar valores o
atributos de un objeto en particular.
Las variables de clase son las que guardan valores o atributos de la clase.
Las variables locales son las que se declaran en una funcin o mtodo y
solamente las puede utilizar esa funcin o mtodo, de ah el nombre de
locales.
Constructores: Los constructores son la forma de crear los objetos.
Mtodos: En Java los mtodos son los que utilizamos para realizar alguna
tarea en especfico. Podemos decir que hay dos tipos de mtodos en
Java: El primero, que llamaremos set (poner) sirve para manipular y/o fijar
valores en las variables, por ejemplo: cuando especificamos que el baln
va a ser color blanco. El segundo, denominado get (obtener) sirve para
obtener un valor de una variable, por ejemplo: cuando queremos saber la
edad de Juan.
Comentarios: stos pueden incluirse en cualquier parte del cdigo. Sus
lneas sern completamente ignoradas por el compilador, o sea que no
afectarn para nada nuestro programa.
INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS
PARTE I

PROGRAMACION DE COMPUTADORES III

Definicin de clases

La definicin de una clase especifica cmo sern los objetos de dicha clase, esto es, de
que variables y de que mtodos constarn.

La siguiente es la definicin ms simple de una clase:


class nombreClase
{

/* Declaracin de la clase */

/* Aqu va la definicin de variables y mtodos */


}

Como se puede observar, la definicin de una clase consta de dos partes


fundamentales:
* La declaracin de la clase

Indica el nombre de la clase precedido por la palabra clave class.


INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS
PARTE I

PROGRAMACION DE COMPUTADORES III

* El cuerpo de la clase
El cuerpo de la clase sigue a la declaracin de la clase y est contenido
entre la pareja de llaves ({ y }). El cuerpo de la clase contiene las
declaraciones de las variables de la clase, y tambin la declaracin y la
implementacin de los mtodos que operan sobre dichas variables.

Declaracin de variables de instancia


El estado de un objeto est representado por sus variables
(variables de instancia). Las variables de instancia se declaran
dentro del cuerpo de la clase. Tpicamente, las variables de
instancia se declaran antes de la declaracin de los mtodos, pero
esto no es necesariamente requerido.

Implementacin de mtodos
Los mtodos de una clase determinan los mensajes que un objeto
puede recibir.
Las partes fundamentales de un mtodo son el valor de retorno, el
nombre, los argumentos (opcionales) y su cuerpo. Adems, un
mtodo puede llevar otros modificadores opcionales que van al
inicio de la declaracin del mtodo y que se analizarn ms
adelante. La sintaxis de un mtodo es la siguiente:
<otrosModificadores>
valorRetorno
argumentos> )
{
/* Cuerpo del mtodo */
sentencias;
}

nombreMetodo( <lista de

Los signos <> indican que no son obligatorios.


Los mtodos en Java pueden ser creados nicamente como parte de una clase.
Cuando se llama a un mtodo de un objeto se dice comnmente que se enva un
mensaje al objeto.

Ejemplo
/* Usuario.java */
class Usuario
{
String nombre;
INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS
PARTE I

PROGRAMACION DE COMPUTADORES III


int edad;
String direccion;
void setNombre(String n)
{
nombre = n;
}
String getNombre()
{
return nombre;
}
void setEdad(int e)
{
edad = e;
}
int getEdad()
{
return edad;
}
void setDireccion(String d)
{
direccion = d;
}
String getDireccion()
{
return direccion;
}
}

Constructores y creacin de objetos


Una vez que se tiene definida la clase a partir de la cual se crearn los
objetos se est en la posibilidad de instanciar los objetos requeridos.
Para la clase Usuario del ejemplo anterior podemos crear un objeto de la
siguiente manera:
Usuario usr1;
//usr1 es una variable del tipo Usuario
usr1 = new Usuario();

La primera lnea corresponde a la declaracin del objeto, es decir, se


declara una variable del tipo de objeto deseado.

La segunda lnea corresponde a la iniciacin del objeto.

El operador new
INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS
PARTE I

PROGRAMACION DE COMPUTADORES III

El operador new crea una instancia de una clase asignando la


cantidad de memoria necesaria de acuerdo al tipo de objeto. El
operador new se utiliza en conjunto con un constructor. El
operador new regresa una referencia a un nuevo objeto.

Constructores
Un constructor es un tipo especfico de mtodo que siempre tiene
el mismo nombre que la clase, y que se utiliza cuando se desean
crear objetos de dicha clase, es decir, se utiliza al crear e iniciar un
objeto de una clase.

Constructores mltiples
Cuando se declara una clase en Java, se pueden declarar uno o ms
constructores (constructores mltiples) opcionales que realizan la
iniciacin cuando se instancia un objeto de dicha clase.

Para la clase Usuario del ejemplo anterior no se especific ningn


constructor, sin embargo, Java proporciona un constructor por omisin
que inicia las variables del objeto a sus valores predeterminados.
Ej.
/* ProgUsuario.java */
class ProgUsuario
{
public static void main(String args[])
{
Usuario usr1, usr2;
/* Se declaran dos objetos de la clase
Usuario */
boolean si_no;
usr1 = new Usuario();
/* Se utiliza el constructor por
omisin */
si_no = usr1 instanceof Usuario;
if(si_no == true)
System.out.println("\nEl objeto usr1 SI es instancia de
Usuario.");
else
System.out.println("\nEl objeto usr1 NO es instancia de
Usuario.");
usr2 = usr1;
/* usr1 y usr2 son el mismo objeto */
si_no = usr2 instanceof Usuario;
if(si_no == true)
System.out.println("\nEl objeto usr2 SI es instancia de
Usuario.");
INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS
PARTE I

PROGRAMACION DE COMPUTADORES III


else
System.out.println("\nEl objeto usr2 NO es instancia de
Usuario.");
}
}

Java como todo lenguaje de programacin orientado a objetos utiliza los


llamados metodos. Acontinuacin veremos como se crea un metodo y
como
se
utilizan.
Se podria decir que existen 2 grandes tipos de metodos, el primer tipo de
metodo son metodos que realizan procesos, puedes realizar cualquier
operacin con ellos, sin embargo el proposito es manipular variables
existentes. El segundo tipo de metodos son los que realizan un proceso o
calculo, y calculan una variable especifica, un ejemplo podria ser un
metodo para obtener el valor de una multiplicacin.
Estructura de un metodo
Los metodos en java pueden tener parametros, es decir, que un metodo
puede utilizar variables predefinidas para ser utilizadas en sus procesos,
Veamos un ejemplo de como hacer un metodo en el siguiente ejemplo.En
este ejemplo vemos un programa normal en el cual se ejecuta un ciclo
while que imprime numeros del 0 al 7, pero es posible hacerlo utilizando
un metodo?
01 package ciclos;
02
03 /**
04 *

* @author xymind
05
06 */

07 public class Main {


08
09 /**
10 * @param args the command line arguments
11 */
12 public static void main(String[] args) {
13
14 int x=0;
15 while(x!=7)
16 {
17 System.out.println("X vale: "+x);
18 x++;
19
20 }
21 }
22
INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS
PARTE I

PROGRAMACION DE COMPUTADORES III


23 }

Ahora utilizaremos este mismo programa pero el ciclo se ejecutara en un metodo:


01 package ciclos;
02
03 /**
04 *
05 * @author xymind
06 */
07 public class Main {
08
09 /**
10 * @param args the command line arguments
11 */
12 public static void main(String[] args) {
13
14 iniciarCiclo();//aqui estamos ejecutando el metodo escrito en
15 //la parte de abajo, se puede utilizar mas de 1 vez
16 }
17
18 /*Comienza el metodo
19 Este metodo no regresa valores, es un metodo que unicamente
realiza un procedimiento, por lo que se declara como "void" seguido
20
del
21 nombre que tendra el metodo*/
22 public void iniciarCiclo(){
23
24 int x=0;
25 while(x!=7)
26 {
27 System.out.println("X vale: "+x);
28 x++;
29
30 }
31 }
32
33 }

Los dos anteriores programas hacen exactamente lo mismo a diferencia


de que el segundo programa esta utilizando un metodo.
En este ultimo ejemplo se mostrara un metodo que regrese un valor, estos
metodos se declaran diferente y siempre deben terminar con la palabra
return var; donde var es una variable cualquiera del mismo tipo del
metodo. Ejemplo:
INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS
PARTE I

PROGRAMACION DE COMPUTADORES III

Declaramos el metodo:
..//
1 public int obtenerValor(){
2 int x=10;
3 return x;
4}
//..

Notese que se utiliza int en lugar de void, lo cual indica que se


regresara una variable del tipo integer o numerico, por lo que dentro del
metodo se declara int x=10; que es precisamente un valor numerico, y se
regresa el valor de x, es decir 10. Finalmente el metodo puede ser usado
para obtener el valor de 10 del siguiente modo.
//..codigo//
1 int variable;
2
3

variable = obtenerValor(); //estamos diciendo que variable vale ahora


10.

//..mas codigo//

Utilizando parametros
Se puede utilizar parametros en un metodo. En el siguiente ejemplo se
utilizara un parametro el cual es un valor que se puede asignar al metodo
para realizar operaciones, este puede ser variable y se obtendran
diferentes resultados dependiendo del valor asignado.
Declaramos el metodo:
..//
1 public int obtenerValor(int parametro){
2 //notese que dentro de los parentesis se declara una variable
3 //esta variable es el parametro
4 int x=parametro/2;
5

//utilizamos una variable x para calcular el parametro dividido entre


2

return x;//se obtiene finalmente la variable "parametro" dividida entre


2

7}

INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS


PARTE I

PROGRAMACION DE COMPUTADORES III


//..vemos

que este metodo utiliza un parametro, y el resultado del mismo


es este parametro pero dividido entre 2, si el parametro varia, entonces
vemos que el resultado tambien.
su implementacin en codigo seria algo asi:
//..codigo//
1 int variable;
2
variable = obtenerValor(10); //debido a que el parametro es 10, la
variable valdra 5
4 //pues el metodo regresa la division del parametro entre 2.
3

//..mas codigo//

Empezaremos por unos ejercicios bsicos de programas Java con


estructura secuencial, es decir, en estos programas no hay instrucciones
condicionales ni repetitivas. En la mayora de ellos las operaciones a
realizar son: lectura de datos por teclado, realizar alguna operacin con
esos datos y mostrar resultados por pantalla.
Ejercicios Bsicos Resueltos con estructura secuencial
1.

Programa Java que lea dos nmeros enteros por teclado y los muestre por pantalla.
import java.util.*;
public class Main {
public static void main(String[] args){
//declaracin de variables
int n1, n2;
Scanner sc = new Scanner(System.in);
//leer el primer nmero
System.out.println("Introduce un nmero entero: ");
n1 = sc.nextInt();

//lee un entero por teclado

//leer el segundo nmero


System.out.println("Introduce otro nmero entero: ");
n2 = sc.nextInt();

//lee un entero por teclado

//mostrar resultado
System.out.println("Ha introducido los nmeros: " + n1 + " y " + n2);
}
}

2.

Programa Java que lea un nombre y muestre por pantalla:

Buenos dias nombre_introducido


INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS
PARTE I

PROGRAMACION DE COMPUTADORES III

import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String cadena;
System.out.println("Introduce un nombre: ");
cadena = sc.nextLine();
System.out.println("Buenos Das " + cadena);
}
}

3. Escribe un programa Java que lee un nmero entero por teclado y obtiene y muestra
por pantalla el doble y el triple de ese nmero.

import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numero;
System.out.println("Introduce un nmero entero:");
numero = sc.nextInt();
System.out.println("Nmero introducido: " + numero);
System.out.println("Doble de " + numero + " -> "+ 2*numero);
System.out.println("Triple de " + numero + " -> "+ 3*numero);
}
}
TALLER

1. Elabore un programa en java que simule una calculadora que permita realizar
las cuatro operaciones bsicas (Suma, Resta, Multiplicacin y Divisin).
2. Teniendo en cuenta el anterior ejercicio realice un programa en java que
permita hallar el rea y el permetro de cuatro figuras geomtricas (Cuadrado,
Rectangulo, Crculo y Tringulo).

INGENIERA: MIREYA ESPERANZA SUAREZ ROSAS


PARTE I

Potrebbero piacerti anche