Está en la página 1de 12

Separata de Java

SEPARATA DE JAVA
Algunos sabemos que la idea de ponerle Java a este lenguaje de
programacin vino de la gran aficin de sus programadores al
Caf (Java es el nombre de un tipo de caf, originario del este de
Asia, de la isla del mismo nombre).
De hecho como se sabe el logotipo de Java es una taza de caf
humeante, y es tambin muy frecuente ver granos de caf al
lado del nombre Java en un libro de programacin.
Java surgi en 1991 cuando un grupo de ingenieros de Sun
Microsystems trataron de disear un nuevo lenguaje de programacin destinado a
electrodomsticos. La reducida potencia de clculo y memoria de los electrodomsticos
llev a desarrollar un lenguaje sencillo capaz de generar cdigo de tamao muy
reducido.
Debido a la existencia de distintos tipos de CPUs y a los continuos cambios, era
importante conseguir una herramienta independiente del tipo de CPU utilizada.
Desarrollan un cdigo neutro que no depende del tipo de electrodomstico, el cual se
ejecuta sobre una mquina hipottica o virtual denominada Java Virtual Machine
(JVM). Es la JVM quien interpreta el cdigo neutro convirtindolo a cdigo particular de
la CPU utilizada. Esto permita lo que luego se ha convertido en el principal lema del
lenguaje: Write Once, Run Everywhere.
A pesar de los esfuerzos realizados por sus creadores, ninguna empresa de
electrodomsticos se interes por el nuevo lenguaje.
Java, como lenguaje de programacin para computadores, se introdujo a finales de 1995.
La clave fue la incorporacin de un intrprete Java en el programa Netscape Navigator,
versin 2.0, produciendo una verdadera revolucin en Internet. Java 1.1 apareci a
principios de 1997, mejorando sustancialmente la primera versin del lenguaje.
Al programar en Java no se parte de cero. Cualquier aplicacin que se desarrolle
cuelga (o se apoya, segn como se quiera ver) en un gran nmero de clases
preexistentes. Algunas de ellas las ha podido hacer el propio usuario, otras pueden ser
comerciales, pero siempre hay un nmero muy importante de clases que forman parte
del propio lenguaje (el API o Application Programming Interface de Java). Java incorpora
muchos aspectos que en cualquier otro lenguaje son extensiones propiedad de
empresas de software o fabricantes de ordenadores (threads, ejecucin remota,
componentes, seguridad, acceso a bases de datos, etc.). Por eso es un lenguaje ideal
para aprender la informtica moderna, porque incorpora todos estos conceptos de un
modo estndar, mucho ms sencillo y claro que con las citadas extensiones de otros
lenguajes. Esto es consecuencia de haber sido diseado ms recientemente y por un
nico equipo.
El principal objetivo del lenguaje Java es llegar a ser el nexo universal que conecte a
los usuarios con la informacin, est sta situada en el ordenador local, en un servidor
de Web, en una base de datos o en cualquier otro lugar.
Java es un lenguaje muy completo (se est convirtiendo en un macro-lenguaje: Java 1.0
tena 12 packages; Java 1.1 tena 23 y Java 1.2 tiene 59). En cierta forma casi todo
depende de casi todo. Por ello, hay que aprenderlo de modo iterativo: primero una visin
muy general, que se va refinando en sucesivas iteraciones. Una forma de hacerlo es
empezar con un ejemplo completo en el que ya aparecen algunas de las caractersticas
ms importantes.
La compaa Sun describe el lenguaje Java como simple, orientado a objetos,
distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de altas
prestaciones, multitarea y dinmico. Adems de una serie de halagos por parte de Sun

Ing. Fernando Infante Saavedra


Docente del Curso

Separata de Java
hacia su propia criatura, el hecho es que todo ello describe bastante bien el lenguaje
Java.
1.1.

QU ES JAVA 2
Java 2 (antes llamado Java 1.2 o JDK 1.2) es la tercera versin importante del lenguaje
de programacin Java.
No hay cambios conceptuales importantes respecto a Java 1.1 (en Java 1.1 s los hubo
respecto a Java 1.0), sino extensiones y ampliaciones, lo cual hace que a muchos
efectos sea casi lo mismo trabajar con Java 1.1 o con Java 1.2.
Los programas desarrollados en Java presentan diversas ventajas frente a los
desarrollados en otros lenguajes como C/C++. La ejecucin de programas en Java
tiene muchas posibilidades:
Ejecucin como aplicacin independiente (Stand-alone Application), ejecucin
como applet, ejecucin como servlet, etc.. Un applet es una aplicacin especial
que se ejecuta dentro de un navegador o browser (por ejemplo Netscape
Navigator o Internet Explorer) al cargar una pgina HTML desde un servidor
Web. El applet se descarga desde el servidor y no requiere instalacin en el
ordenador donde se encuentra el browser. Un servlet es una aplicacin sin
interfase grfica que se ejecuta en un servidor de Internet. La ejecucin como
aplicacin independiente es anloga a los programas desarrollados con otros
lenguajes.
Adems de incorporar la ejecucin como Applet, Java permite fcilmente el
desarrollo tanto de arquitecturas cliente-servidor como de aplicaciones
distribuidas, consistentes en crear aplicaciones capaces de conectarse a otros
ordenadores y ejecutar tareas en varios ordenadores simultneamente,
repartiendo por lo tanto el trabajo. Aunque tambin otros lenguajes de
programacin permiten crear aplicaciones de este tipo, Java incorpora en su
propio API estas funcionalidades.

1.2.

EL ENTORNO DE DESARROLLO DE JAVA


Existen distintos programas comerciales que permiten desarrollar cdigo Java. La
compaa Sun, creadora de Java, distribuye gratuitamente el Java(tm) Development Kit
(JDK). Se trata de un conjunto de programas y libreras que permiten desarrollar,
compilar y ejecutar programas en Java.
Incorpora adems la posibilidad de ejecutar parcialmente el programa, deteniendo la
ejecucin en el punto deseado y estudiando en cada momento el valor de cada una de
las variables (es el denominado Debugger). Cualquier programador con un mnimo de
experiencia sabe que una parte muy importante (muchas veces la mayor parte) del
tiempo destinado a la elaboracin de un programa se destina a la deteccin y
correccin de errores. Existe tambin una versin reducida del JDK, denominada JRE
(Java Runtime Environment) destinada nicamente a ejecutar cdigo Java (no permite
compilar).
Los IDEs (Integrated Development Environment), tal y como su nombre indica, son
entornos de desarrollo integrados. En un mismo programa es posible escribir el cdigo
Java, compilarlo y ejecutarlo sin tener que cambiar de aplicacin. Algunos incluyen una
herramienta para realizar Debug grficamente, frente a la versin que incorpora el JDK
basada en la utilizacin de una consola (denominada habitualmente ventana de
comandos de MS-DOS, en Windows NT/95/98) bastante difcil y pesada de utilizar.
Estos entornos integrados permiten desarrollar las aplicaciones de forma mucho ms
rpida, incorporando en muchos casos libreras con componentes ya desarrollados, los
cuales se incorporan al proyecto o programa.

Ing. Fernando Infante Saavedra


Docente del Curso

Separata de Java
Como inconvenientes se pueden sealar algunos fallos de compatibilidad entre
plataformas y ficheros resultantes de mayor tamao que los basados en clases
estndar.
1.2.1.

El compilador de Java
Se trata de una de las herramientas de desarrollo incluidas en el JDK. Realiza
un anlisis de sintaxis del cdigo escrito en los ficheros fuente de Java (con
extensin *.java). Si no encuentra errores en el cdigo genera los ficheros
compilados (con extensin *.class). En otro caso muestra la lnea o lneas
errneas. En el JDK de Sun dicho compilador se llama javac.exe. Tiene
numerosas opciones, algunas de las cuales varan de una versin a otra. Se
aconseja consultar la documentacin de la versin del JDK utilizada para
obtener una informacin detallada de las distintas posibilidades.

1.2.2.

La Java Virtual Machine


La existencia de distintos tipos de procesadores y ordenadores llev a los
ingenieros de Sun a la conclusin de que era muy importante conseguir un
software que no dependiera del tipo de procesador utilizado. Se plantea la
necesidad de conseguir un cdigo capaz de ejecutarse en cualquier tipo de
mquina. Una vez compilado no debera ser necesaria ninguna modificacin
por el hecho de cambiar de procesador o de ejecutarlo en otra mquina. La
clave consisti en desarrollar un cdigo neutro el cual estuviera preparado
para ser ejecutado sobre una mquina hipottica o virtual, denominada Java
Virtual Machina (JVM). Es esta JVM quien interpreta este cdigo neutro
convirtindolo a cdigo particular de la CPU o chip utilizada. Se evita tener que
realizar un programa diferente para cada CPU o plataforma.
La JVM es el intrprete de Java. Ejecuta los bytecodes (ficheros compilados
con extensin *.class) creados por el compilador de Java (javac.exe). Tiene
numerosas opciones entre las que destaca la posibilidad de utilizar el
denominado JIT (Just-In-Time Compiler), que puede mejorar entre 10 y 20
veces la velocidad de ejecucin de un programa.

Ing. Fernando Infante Saavedra


Docente del Curso

Separata de Java
TIPOS DE DATOS
La siguiente tabla muestra los 8 tipos primitivos en Java. Al igual que sus lenguajes
antecesores C y C++, Java requiere que todas las variables tengan un tipo. Es por esta razn
que Java se conoce como un lenguaje fuertemente tipificado.
Cuando se declaran variables de alguno de los tipos primitivos fuera de un mtodo, se
les asignan automticamente valores predeterminados, a menos que se inicialicen en forma
explcita. Las variables de los tipos char, byte, short, int, long, float y double reciben el valor de
0 de manera predeterminada. Las variables de tipo bolean reciben el valor de false de manera
predeterminada.
Tipo
boolean
Char
Byte
Short
Int
long
Float

Tamao en bits
true o false
16
8
16
32
64
32

Double

64

Valores
0 hasta 65535
-128 a +127
-32768 a 32767
-2147483648 hasta +2147483647
-9223372036854775808 hasta +9223372036854775807
Rango negativo:
-3.4028234663852886E+38 hasta -1.40129846432481707E-45
Rango positivo:
1.40129846432481707E-45 hasta
3.4028234663852886E+38
Rango negativo:
-1.7976931348623157E+308 hasta -4.94065645841246544E-324
Rango positivo:
4.94065645841246544E-324 hasta 1.7976931348623157E+308

Programa1.java
class Programa1
{
public static void main(String args[])
{
System.out.println("Esta es una prueba");
}
}
Salida:

Comentarios:

Todo programa en Java consiste de, cuando menos, una declaracin de clase que el
programador debe de definir. Estas clases se conocen como clases definidas por el
programador o clases definidas por el usuario. La palabra clave class introduce una
declaracin de clase en Java, la cual debe ir seguida inmediatamente por el nombre de la
clase.

La lnea.
public static void main(String args[])

Es el punto de inicio de toda aplicacin en Java. Los parntesis despus de main


indican que ste es un bloque de construccin del programa, al cual se le llama mtodo. Las
declaraciones de clases en Java generalmente contienen uno o ms mtodos.
Ing. Fernando Infante Saavedra
Docente del Curso

Separata de Java
En una aplicacin en Java, slo uno de esos mtodos debe llamarse main y debe definirse
como lo muestra el primer programa, de no ser as, el intrprete java no ejecutar la aplicacin.
La palabra clave void indica que este mtodo realizar una tarea pero no devolver ningn tipo
de informacin cuando complete su tarea.

System.out se conoce como el objeto de salida estndar, permite a las aplicaciones en


Java mostrar conjuntos de caracteres en la ventana de comandos, desde la cual se ejecuta
la aplicacin en Java.

Programa2.java
class Programa2
{
public static void main(String args[])
{
int a=10;
int b=30;
int c=a+b;
System.out.println("c="+c);
//una alternativa a este cdigo es
/*

int a,b,c;
a=10;
b=30;
c=a+b;
System.out.println("c="+c);

*/
}
}
Programa3.java
class Programa3
{
public static void main(String args[])
{
int a=7;
int b=3;
int s,r,m,d,modulo;
s=a+b;
r=a-b;
m=a*b;
d=a/b;
modulo=a%b;
System.out.println("La suma es="+s);
System.out.println("La resta es="+r);
System.out.println("La multiplicacion es="+m);
System.out.println("La division es="+d);
System.out.println("El residuo es="+modulo);
}
}
Salida:

Ing. Fernando Infante Saavedra


Docente del Curso

Separata de Java

Programa4.java
class Programa4
{
public static void main(String args[])
{
double a=7.453;
double b=3.567;
double s,r,m,d;
s=a+b;
r=a-b;
m=a*b;
d=a/b;
System.out.println("La suma es="+s);
System.out.println("La resta es="+r);
System.out.println("La multiplicacion es="+m);
System.out.println("La division es="+d);
}
}
Salida:

Programa5.java
class Programa5
{
public static void main(String args[])
{
String a="Java";
int b=10;
double c=3.1416;
float d1=5.6F;
float d2=(float)4.2;
byte e=35;
boolean f=true;
char g='a';
short h=100;
System.out.println("a="+a+" b="+b+" c="+c);
System.out.println("d1="+d1+" d2="+d2);
System.out.println("e="+e+" f="+f+" g="+g+" h="+h);
}
}
Salida:

ENTRADA DE DATOS
import java.util.Scanner;
Ing. Fernando Infante Saavedra
Docente del Curso

Separata de Java

public class suma2n {


public static void main(String args[])
{
int a,b,c;
/*
a=10;
b=30;*/
Scanner teclado=new Scanner(System.in);
System.out.print("N1=");
a=teclado.nextInt();
System.out.print("N2=");
b=teclado.nextInt();
c=a+b;
System.out.println("c="+c);
}
}
sexo=teclado.next().charAt(0); //Ingreso de letras
ESTRUCTURA SELECTIVA SIMPLE
Dividen el rumbo de ejecucin de los programas en 2 opciones.

Ejemplo: M/F, S/N, APROBADO/DESAPROBADO, etc.

Programa en Java
import java.util.Scanner;
public class aprobado {
public static void main(String args[])
{
float promfinal;
Ing. Fernando Infante Saavedra
Docente del Curso

Separata de Java
Scanner teclado=new Scanner(System.in);
System.out.print("Ingresa el Promedio Final:");
promfinal=teclado.nextFloat();
if (promfinal>=10.5) {
System.out.println("Aprobado");}
else {
System.out.println("Desaprobado ");}
}
}
ESTRUCTURA SELECTIVA MULTIPLE
Dividen el rumbo de ejecucin de los programas en ms de 2 alternativas.

Condici
n

Accin S1

Accin S2

Accin S3

.....

Accin Sn

Ej.: CARRERAS PROFESIONALES, CIUDADES, ESTADO CIVIL, etc.

Programa en Java
import java.util.Scanner;
public class formapago {
public static void main(String args[])
{
char formapago;
Scanner teclado=new Scanner(System.in);
System.out.print("Ingresa la Forma de Pago:");
formapago==teclado.next().charAt(0);
System.out.println("c="+c);
if (promfinal>=10.5) {
System.out.println("Aprobado");}
else {
System.out.println("Desaprobado ");}
}
}
ESTRUCTURAS REPETITIVAS
1.

Definicin: Es una estructura de mayor nivel que permite crear


lazos de repeticin de lneas de sentencias.

Ing. Fernando Infante Saavedra


Docente del Curso

Separata de Java

Las estructuras repetitivas o bucles permiten repetir una o varias acciones un nmero
determinado de veces. Cada una de las repeticiones se conoce como iteracin.
2.

Usos

Se debe utilizar cuando se repiten varias lneas de sentencias.

Ingresar Apellido1
Ingresar Apellido2
Ingresar Apellido3

Ingresar Apellido30

Se
reduce

Ingresar Apellido

Se repite 30
veces
3.

Importancia

4.

Reduce el tamao de la aplicacin es decir la cantidad de lneas.


Reduce la complejidad.
Eficiencia: Espacio, Tiempo y Procesador.

Tipos: El tipo de estructura se elige de acuerdo a la naturaleza del problema, NO se


decide arbitrariamente ni porque se desea, del mismo problema se deducir si se conoce o
no el nmero de repeticiones.

Estructura Repetitiva Finita:

4.1.
o
o
o

Aquellas donde se conoce el nmero o cantidad de elementos, repeticiones o


iteraciones.
Se utiliza la estructura PARA (for).
Ejemplo: El nmero de alumnos de una asignatura, Notas de Alumnos de Mtodos
Algortmicos 2, Pago de Horas de docentes, Libros de biblioteca, etc.

public class CEjemplo24 {


public static void main(String[] args)
{
for (int i = 1; i <= 10; i++)
Ing. Fernando Infante Saavedra
Docente del Curso

Separata de Java
System.out.println("\t" + i);
}
}
Estructura Repetitiva Infinita:

4.2.
o
o
o

Aquellas donde no se conoce el nmero o cantidad de elementos, repeticiones o


iteraciones.
Se utiliza las estructuras: MIENTRAS (while) y HACER/MIENTRAS (do/while).
Ejemplo: El nmero de postulantes a un examen de admisin, Pacientes de un
mdico, Clientes de una tienda, usuarios de biblioteca, etc.

public class CEjemplo21 {


public static void main(String[] args)
{
int numero = 0;
do

{
numero = numero + 1;
System.out.println("\t" + numero);

}
while (numero < 10);
System.out.println("\tFin del programa");
}
}

Ing. Fernando Infante Saavedra


Docente del Curso

Separata de Java

public class CEjemplo20 {


public static void main(String[] args)
// (utilizando for) suma de pares e impares
// de los numeros comprendidos entre 1 --- 200
{
int numero = 0, resultado = 0;
int cuentaN= 0;
numero = Integer.parseInt(args[0]);
System.out.println("Visualizar la tabla del nmero: " +
numero);
while (cuentaN <= 12)
{
resultado = cuentaN * numero;
System.out.println(cuentaN + " * " + numero + " = " +
resultado);
cuentaN++;
}
}
}
5.

Herramientas: Se deben utilizar dentro del lazo de repeticin.


5.1.
Contador: Permite contabilizar o enumerar la cantidad de elementos o de
repeticiones.

N=0

(Se inicializa)

N=N+1 (Dentro de la repeticin)


5.2.

Acumulador: Permite determinar la suma o total de un grupo de elementos o


datos.

SUMA=0

(Se inicializa)

SUMA=SUMA+valor (Dentro de la repeticin)


5.3.

Mximo: Permite determinar el mayor valor de un grupo de elementos o datos.


MAYOR=0

(Se inicializa)

Si valor>MAYOR
Ing. Fernando Infante Saavedra
Docente del Curso

Separata de Java
Entonces MAYOR = valor (Dentro de la repeticin)
5.4.

Mnimo: Permite determinar el menor valor de un grupo de elementos o datos.


MENOR=9999

(Se inicializa)

Si valor>MENOR
Entonces MENOR = valor

6.

(Dentro de la repeticin)

Diferencias entre los tipos de Estructuras Repetitivas Infinitas:


1. Uno es Mientras y el otro Hacer/Mientras
2. El Mientras lleva la Condicin de Repeticin antes de empezar el lazo de repeticin, el
Hacer/Mientras tiene la Condicin de Repeticin al final del lazo de repeticin.
3. El Mientras ejecuta Ninguna o varias veces el lazo de repeticin, el Hacer/Mientras
ejecuta por lo menos Una o varias veces el lazo de repeticin.
4. El Mientras tiene un Diagrama de Flujo diferente al del Hacer/Mientras.

Ing. Fernando Infante Saavedra


Docente del Curso

También podría gustarte