Separata de Java
-
Upload
fernando-infante-saavedra -
Category
Documents
-
view
212 -
download
0
description
Transcript of Separata de Java
![Page 1: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/1.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
SEPARATA DE JAVA
Algunos sabemos que la idea de ponerle Java a este lenguaje de
programación vino de la gran afición 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 también muy frecuente ver granos de café al lado del nombre Java en
un libro de programación.
Java surgió en 1991 cuando un grupo de ingenieros de Sun Microsystems trataron de diseñar un nuevo lenguaje de programación destinado a electrodomésticos.
La reducida potencia de cálculo y memoria de los electrodomésticos llevó a desarrollar un lenguaje
sencillo capaz de generar código de tamaño 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 código “neutro” que no
depende del tipo de electrodoméstico, el cual se ejecuta sobre una “máquina hipotética o virtual” denominada Java Virtual Machine (JVM). Es la JVM quien interpreta el código neutro convirtiéndolo a
código particular de la CPU utilizada. Esto permitía 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 electrodomésticos se interesó
por el nuevo lenguaje.
Java, como lenguaje de programación para computadores, se introdujo a finales de 1995. La clave fue
la incorporación de un intérprete Java en el programa Netscape Navigator, versión 2.0, produciendo
una verdadera revolución en Internet. Java 1.1 apareció a principios de 1997, mejorando
sustancialmente la primera versión del lenguaje.
Al programar en Java no se parte de cero. Cualquier aplicación que se desarrolle “cuelga” (o se apoya,
según como se quiera ver) en un gran número de clases preexistentes. Algunas de ellas las ha podido
hacer el propio usuario, otras pueden ser comerciales, pero siempre hay un número 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, ejecución remota, componentes, seguridad, acceso a
bases de datos, etc.). Por eso es un lenguaje ideal para aprender la informática moderna, porque
incorpora todos estos conceptos de un modo estándar, mucho más sencillo y claro que con las citadas
extensiones de otros lenguajes. Esto es consecuencia de haber sido diseñado más 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 información, 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 tenía 12
packages; Java 1.1 tenía 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 visión 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 características más importantes.
La compañía Sun describe el lenguaje Java como “simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y dinámico”.
![Page 2: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/2.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
Además de una serie de halagos por parte de Sun 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 versión importante del lenguaje de
programación 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 ejecución de programas en Java tiene muchas posibilidades:
Ejecución como aplicación independiente (Stand-alone Application), ejecución como
applet, ejecución como servlet, etc.. Un applet es una aplicación especial que se ejecuta
dentro de un navegador o browser (por ejemplo Netscape Navigator o Internet Explorer) al cargar una página HTML desde un servidor Web. El applet se descarga
desde el servidor y no requiere instalación en el ordenador donde se encuentra el
browser. Un servlet es una aplicación sin interfase gráfica que se ejecuta en un
servidor de Internet. La ejecución como aplicación independiente es análoga a los
programas desarrollados con otros lenguajes.
Además de incorporar la ejecución como Applet, Java permite fácilmente 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 simultáneamente, repartiendo por lo tanto el trabajo.
Aunque también otros lenguajes de programación 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 código Java. La compañía
Sun, creadora de Java, distribuye gratuitamente el Java(tm) Development Kit (JDK). Se trata
de un conjunto de programas y librerías que permiten desarrollar, compilar y ejecutar
programas en Java.
Incorpora además la posibilidad de ejecutar parcialmente el programa, deteniendo la ejecución
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 mínimo de experiencia sabe que una
parte muy importante (muchas veces la mayor parte) del tiempo destinado a la elaboración de
un programa se destina a la detección y corrección de errores. Existe también una versión
reducida del JDK, denominada JRE (Java Runtime Environment) destinada únicamente a
ejecutar código 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 código Java, compilarlo
y ejecutarlo sin tener que cambiar de aplicación. Algunos incluyen una herramienta para
realizar Debug gráficamente, frente a la versión que incorpora el JDK basada en la utilización
de una consola (denominada habitualmente ventana de comandos de MS-DOS, en Windows NT/95/98) bastante difícil y pesada de utilizar. Estos entornos integrados permiten
desarrollar las aplicaciones de forma mucho más rápida, incorporando en muchos casos
librerías con componentes ya desarrollados, los cuales se incorporan al proyecto o programa.
Como inconvenientes se pueden señalar algunos fallos de compatibilidad entre plataformas y
ficheros resultantes de mayor tamaño que los basados en clases estándar.
![Page 3: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/3.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
1.2.1. El compilador de Java
Se trata de una de las herramientas de desarrollo incluidas en el JDK. Realiza un
análisis de sintaxis del código escrito en los ficheros fuente de Java (con extensión
*.java). Si no encuentra errores en el código genera los ficheros compilados (con
extensión *.class). En otro caso muestra la línea o líneas erróneas. En el JDK de Sun dicho compilador se llama javac.exe. Tiene numerosas opciones, algunas de las cuales
varían de una versión a otra. Se aconseja consultar la documentación de la versión
del JDK utilizada para obtener una información 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 conclusión de que era muy importante conseguir un software que no
dependiera del tipo de procesador utilizado. Se plantea la necesidad de conseguir un
código capaz de ejecutarse en cualquier tipo de máquina. Una vez compilado no
debería ser necesaria ninguna modificación por el hecho de cambiar de procesador o de
ejecutarlo en otra máquina. La clave consistió en desarrollar un código “neutro” el
cual estuviera preparado para ser ejecutado sobre una “máquina hipotética o virtual”, denominada Java Virtual Machina (JVM). Es esta JVM quien interpreta este código
neutro convirtiéndolo a código particular de la CPU o chip utilizada. Se evita tener
que realizar un programa diferente para cada CPU o plataforma.
La JVM es el intérprete de Java. Ejecuta los “bytecodes” (ficheros compilados con
extensión *.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 ejecución de un
programa.
![Page 4: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/4.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
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
razón que Java se conoce como un lenguaje fuertemente tipificado.
Cuando se declaran variables de alguno de los tipos primitivos fuera de un método,
se les asignan automáticamente valores predeterminados, a menos que se inicialicen en
forma explícita. 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 Tamaño en bits Valores
boolean true o false
Char 16 0 hasta 65535
Byte 8 -128 a +127
Short 16 -32768 a 32767
Int 32 -2147483648 hasta +2147483647
long 64 -9223372036854775808 hasta +9223372036854775807
Float 32 Rango negativo:
-3.4028234663852886E+38 hasta -1.40129846432481707E-45
Rango positivo:
1.40129846432481707E-45 hasta 3.4028234663852886E+38
Double 64 Rango negativo:
-1.7976931348623157E+308 hasta -4.94065645841246544E-324
Rango positivo:
4.94065645841246544E-324 hasta 1.7976931348623157E+308
![Page 5: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/5.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
ESTRUCTURAS SECUENCIALES
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 declaración 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
declaración de clase en Java, la cual debe ir seguida inmediatamente por el nombre de
la clase.
La línea.
public static void main(String args[])
Es el punto de inicio de toda aplicación en Java. Los paréntesis después de main
indican que éste es un bloque de construcción del programa, al cual se le llama método. Las
declaraciones de clases en Java generalmente contienen uno o más métodos. En una
aplicación en Java, sólo uno de esos métodos debe llamarse main y debe definirse como lo
muestra el primer programa, de no ser así, el intérprete java no ejecutará la aplicación. La
palabra clave void indica que este método realizará una tarea pero no devolverá ningún tipo
de información cuando complete su tarea.
System.out se conoce como el objeto de salida estándar, permite a las aplicaciones en
Java mostrar conjuntos de caracteres en la ventana de comandos, desde la cual se
ejecuta la aplicación en Java.
![Page 6: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/6.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
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 código 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:
![Page 7: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/7.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
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:
![Page 8: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/8.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
ENTRADA DE DATOS
import java.util.Scanner;
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
![Page 9: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/9.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
ESTRUCTURAS SELECTIVAS, DE DECISIÓN O CONDICIONALES
Para decidir el Tipo de Estructura Selectiva a usar debemos analizar la
variable y su cantidad de alternativas.
ESTRUCTURA SELECTIVA SIMPLE
Dividen el rumbo de ejecución 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;
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 ");}
}
}
![Page 10: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/10.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
Condición
Acción S1 Acción S2 Acción S3 Acción Sn .....
ESTRUCTURA SELECTIVA MULTIPLE
Dividen el rumbo de ejecución de los programas en más de 2 alternativas.
Ej.:
CARRERAS PROFESIONALES, CIUDADES, ESTADO CIVIL, etc.
Programa en Java
import java.util.Scanner;
public class estadocivil {
public static void main(String args[])
{char estadocivil;
Scanner teclado=new Scanner(System.in);
System.out.print("Ingresa el Estado Civil:");
estadocivil=teclado.next().charAt(0); switch (estadocivil) {
case ´S´: System.out.print("Soltero"); break;
case ´C´: System.out.print("Casado"); break;
case ´V´: System.out.print("Viudo"); break;
case ´D´: System.out.print("Divorciado"); break;
case ´N´: System.out.print("Conviviente"); break;
default: System.out.print("Error de Ingreso"); }
}
Las acciones que van dentro de cada alternativa
deben ser diferentes.
Si existe algo en común debe ser colocado fuera
de la Estructura Selectiva.
![Page 11: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/11.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
ESTRUCTURAS REPETITIVAS
1. Definición: Es una estructura de mayor nivel que permite
crear lazos de repetición de líneas de sentencias.
Las estructuras repetitivas o bucles permiten repetir una o
varias acciones un número determinado de veces. Cada una de
las repeticiones se conoce como iteración.
2. Usos Se debe utilizar cuando se repiten varias líneas de sentencias.
Ingresar Apellido1
Ingresar Apellido2
Ingresar Apellido3
º
º
º
Ingresar Apellido30
Ingresar Apellido
3. Importancia Reduce el tamaño de la aplicación es decir la cantidad de líneas.
Reduce la complejidad.
Eficiencia: Espacio, Tiempo y Procesador.
4. 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 número de repeticiones.
Se repite 30
veces
Se reduce
![Page 12: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/12.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
4.1. Estructura Repetitiva Finita: o Aquellas donde se conoce el número o cantidad de elementos, repeticiones o
iteraciones.
o Se utiliza la estructura PARA (for).
o Ejemplo: El número de alumnos de una asignatura, Notas de Alumnos de
Métodos Algorítmicos 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++)
System.out.println("\t" + i);
}
}
4.2. Estructura Repetitiva Infinita: o Aquellas donde no se conoce el número o cantidad de elementos, repeticiones o
iteraciones.
o Se utiliza las estructuras: MIENTRAS (while) y
HACER/MIENTRAS (do/while).
o Ejemplo: El número de postulantes a un examen de
admisión, Pacientes de un médico, Clientes de una
tienda, usuarios de biblioteca, etc.
![Page 13: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/13.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
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");
}
}
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 número: " + numero);
while (cuentaN <= 12) {
resultado = cuentaN * numero;
System.out.println(cuentaN + " * " + numero + " = " +
resultado);
cuentaN++;
}
}
}
![Page 14: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/14.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
5. Herramientas: Se deben utilizar dentro del lazo de repetición.
5.1. Contador: Permite contabilizar o enumerar la cantidad de elementos o de
repeticiones.
N=0 (Se inicializa)
º
º
º
N=N+1 (Dentro de la repetición)
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 repetición)
5.3. Máximo: Permite determinar el mayor valor de un grupo de elementos o datos.
MAYOR=0 (Se inicializa)
º
º
º
Si valor>MAYOR
Entonces MAYOR = valor (Dentro de la repetición)
5.4. Mínimo: Permite determinar el menor valor de un grupo de elementos o datos.
MENOR=9999 (Se inicializa)
º
º
º
Si valor<MENOR
Entonces MENOR = valor (Dentro de la repetición)
![Page 15: Separata de Java](https://reader035.fdocuments.ec/reader035/viewer/2022072001/563db888550346aa9a948c6b/html5/thumbnails/15.jpg)
Separata de Java
Ing. Fernando Infante Saavedra
Docente del Curso
6. Diferencias entre los tipos de Estructuras Repetitivas Infinitas:
1. Uno es Mientras y el otro Hacer/Mientras
2. El Mientras lleva la Condición de Repetición antes de empezar el lazo de repetición,
el Hacer/Mientras tiene la Condición de Repetición al final del lazo de repetición.
3. El Mientras ejecuta Ninguna o varias veces el lazo de repetición, el Hacer/Mientras
ejecuta por lo menos Una o varias veces el lazo de repetición.
4. El Mientras tiene un Diagrama de Flujo diferente al del Hacer/Mientras.