Download Programación en Java - paradigmas
Document related concepts
no text concepts found
Transcript
Java y JSP
Introducción a
Java
Reseña histórica
Surge en 1991 por Sun
Microsystems
Desarrollado para electrodomésticos
Se buscaba un código neutro
El lema del lenguaje es
“WRITE ONCE, RUN EVERYWHERE”
(Escribir una vez, ejecutar donde sea)
Reseña histórica
(continuación)
Versiones
Java 1.0 (212 Clases, 12 paquetes). Muchos
navegadores llevan esta versión, se usa para
applets.
Java 1.1 (504 Clases, 23 paquetes). Uso en
sistemas donde no está la V 1.2
Java 1.2 (1520 Clases, 59 paquetes).
Plataforma Java 2.0
Java 1.3 (Beta) Pequeñas correcciones y
actualizaciones
Java 1.4
Java 1.5 o Java 5.0
Java 6.0
Reseña histórica
(continuación)
Versiones
Java 1.4
Java 1.5 o
Java 5.0
java.sun.com
Características
Lenguaje orientado a objeto
Simple
Portable
Robusto
Seguro
Pequeño
Interpretado
Características
(Lenguaje interpretado)
Todo programa Java es compilado y
después
interpretado
Independencia de la plataforma
Programa Java
fichero.java
Editor
Byte code
fichero.class
Compilador
Intérprete
Instalación y configuración
Copiar el JDK a la estación de trabajo.
Modificar del archivo autoexec.bat:
El directorio BIN (donde están los archivos
ejecutables) debe estar incluido en la
variable PATH.
Agregar una variable CLASSPATH (que le
indica al JDK donde buscar los paquetes
para la ejecución de un programa Java) con
las entradas “classes.zip” y el directorio
actual “.”.
Aplicación Java
¿Qué es una aplicación Java?
Aplicaciones estándar
Applets
Creación
Necesitamos
Editor de texto
Salida
Grabar un archivo del mismo
nombre de la clase (respetando las
mayúsculas y minúsculas) con
extensión “.java”
Aplicación Java
(continuación)
Compilación
Necesitamos
JDK (javac.exe)
Salida
Al ejecutar la sentencia
“javac <NombreArchivo>.java” se crea un
archivo del mismo nombre de la clase
con extensión “.class”
Aplicación Java
(continuación)
Ejecución
Necesitamos
JDK (java.exe)
Se ejecuta mediante la sentencia
“java <NombreArchivo>” .
Aplicación Java
(continuación)
Ejemplo (Promedio.java)
class Promedio
{
public static void main(String[] args)
{ int i = 11, j = 20;
double a = (i + j) / 2.0;
System.out.println(“El valor de i es:” + i + “y
el de j es: ” + j);
System.out.println(“El promedio es de: ” + a);
}
}
Plataforma JAVA
Una plataforma es el entorno hardware y/o
software donde se ejecuta un programa.
Ejemplos
Plataformas Intel, RISC, …
Plataformas Win32, Linux, AIX, Solaris,
HP-UX, z/OS, …
Plataformas IBM, Sun, Microsoft, HP, …
Plataforma JAVA
(cont.)
La plataforma JAVA es una plataforma
solo software que se ejecuta sobre otra
plataforma hardware/software.
Tiene dos componentes:
La Máquina Virtual de JAVA (JVM)
La Interfaz de Programación de
Aplicaciones (API)
Plataforma JAVA
(cont.)
La JVM es el intérprete JAVA.
La API Java es un conjunto de clases ya
desarrolladas que ofrecen un gran
abanico de posibilidades al programador.
myProgram.java
JAVA API
JAVA Virtual Machine
Hardware Based
Plataform
J2SE: Java 2 Standard Edition
JAVA Plataform
Plataforma JAVA
(cont.)
Existen distintas ediciones de la plataforma
Java:
J2ME: Java2 Micro Edition
J2SE: Java2 Standard Edition
J2EE: Java2 Enterprise Edition
Siglas
JDK: Java Development Kit
SDK: Software Development Kit
JRE: Java Runtime Environment (JVM)
J2ME: Java2 Micro Edition
J2SE: Java2 Standard Edition
J2EE: Java2 Enterprise Edition
Sintaxis en Java
Comentarios
Para una sola línea
// nota
De una o mas líneas
/* nota */
De documentación
/** nota */
Separadores
Paréntesis
Llaves
Corchetes
Punto y coma
Coma
Punto
Puntos y coma - Bloques
Una sentencia es una línea simple de
código terminada en un punto y
coma.
System.out.println(“Hola”);
Un bloque es un conjunto de
sentencias agrupadas entre llaves.
while(true)
{
x = y + 1;
x = x + 1;
}
Puntos y coma - Bloques
Los bloques pueden estar anidados:
while(true)
{
x = y + 1;
if (x<0)
{
x = x + 1;
}
}
Identificadores
Nombran variables, funciones, clases y
objetos
Comienza con una letra, un guión bajo
(_) o un símbolo pesos ($). Los
siguientes caracteres pueden ser letras
o dígitos
Distinción
entre
mayúsculas
y
minúsculas
No hay longitud máxima
Keywords
Variables
Una variable es un contenedor de datos
identificado mediante un nombre.
Dicho nombre o identificador se utilizará
para referenciar al dato que contiene.
Toda variable debe llevar asociada un tipo
que describe el tipo de dato que guarda.
Por tanto, una variable tiene:
Un tipo
Un identificador
Un dato o valor.
Declaración de variables
Es la sentencia mediante la cual se define
una variable, asignándole un tipo y un
identificador.
tipo identificador;
int a;
Adicionalmente se le pude asignar un valor
inicial:
tipo identificador = valor;
int a = 10;
Si no se le asigna un valor, se inicializará
con el valor por defecto para ese tipo.
Operadores
Operador
+
*
/
%
!=
&
!
Función
Suma o concatena caracteres.
Resta
Multiplicación
División
Resto de la división
Distinto
AND
Negación
Operador
++
-==
=
=>
=<
<, >
|
Función
Incrementar en uno
Decrementar en uno
Igual que
Asignar a
Mayor o igual que
Menor o igual que
Menor que, Mayor que
OR
Tipos de Datos
En Java existen dos tipo de datos genéricos:
Tipos primitivos
Tipos complejos: clases
Existen ocho tipos de datos primitivos
clasificados en cuatro grupos diferentes:
Lógico: boolean
Carácter: char
Número enteros: byte, short, int y long.
Números reales: double y float.
Tipo de dato lógico
boolean
Sus valores son:
true
false
Su valor por defecto es false
Ejemplos:
boolean a;
boolean a = true;
Tipo de dato caracter
char
Representa un caracter UNICODE.
Su tamaño es 16 bits (2 bytes).
Sus posibles valores son:
Un carácter entre comillas simples: ‘a’
Un carácter especial con \ por delante: ‘\n’
Un código UNICODE: ‘\uxxxx’ (donde xxxx
es un valor hexadecimal)
Tipo de dato caracter
Su valor por defecto es :
‘\u0000’
Ejemplos:
char
char
char
char
letra1 = ‘a’;
letra2 = ‘\n’;
letra3 = ‘\u0041’;
letra4;
Tipo de dato enteros
byte, short, int y long.
Sus tamaños son:
byte = 8 bits (1 byte) -128 a 127
short = 16 bits (2 byte) -32768 a 32767
int = 32 bits (4 byte) -2147483468 a
2147483467
long = 64 bits (8 byte) -enorme a enorme
Tipo de dato enteros
Su valor por defecto es cero.
Ejemplos:
byte unByte = 12;
short unShort;
int unInt = -199;
long unLong = 2;
Tipo de dato reales
float, double.
Sus tamaños son:
float = 32 bits (4 byte) Su precisión varía
de acuerdo a la plataforma.
double = 64 bits (8 byte) Su precisión
varía de acuerdo a la plataforma.
Tipo de dato reales
Su valor por defecto es 0.0.
Ejemplos:
float unfloat = 0.17;
double unDouble;
Tipo de datos complejo
La keyword es el nombre de la clase
del objeto que va a contener la
variable.
Su valor por defecto es
null
Ejemplo
String unString = new String(“Hola”);
String unString;
Tipo de datos complejo vs. Tipo de
datos primitivo
Una variable de tipo primitiva contiene el
dato directamente:
Una variable de tipo compleja contiene una
referencia a la zona de memoria donde está
el objeto
Ámbito de las variables
El ámbito de una variable es la zona
de código donde se puede referenciar
dicha variable a través de su
identificador.
El lugar de definición de una variable
establece su ámbito.
Ámbito de las variables
Ámbito de las variables
Ámbito de las variables
Arrays
Declaración
char s[];
Punto p[];
Construcción
Array vacío
int tabla[][] = new int[4][5];
Array con sus valores iniciales
String nombres[] = { "Juan","Pedro","Maria" };
Control de Flujo
Sentencias de Salto
Posibilitan la ejecución selectiva de porciones del
programa según el valor de algunas expresiones
Control de Flujo
(continuación)
switch( expr1 )
{
case expr2:
sentencias;
break;
case expr3:
sentencias;
break;
default:
sentencias;
}
Control de Flujo
(continuación)
Sentencias de Ciclos
Repiten la ejecución de bloques de sentencias
for(expr1 inicio;expr2 test;expr3 incremento)
{
sentencias;
}
while(Boolean)
{
sentencias;
}
Control de Flujo
do
{
sentencias;
}
while( Boolean);
(continuación)
Control de Flujo
(continuación)
Control General del Flujo
Pueden usarse para tener un mayor control
sobre la sentencias de ciclos
Break: sirve para detener la ejecución
tanto de los bucles como del switch. Salta
a la siguiente línea de código.
Continue: sirve para detener la ejecución
del bloque de código de un bloque y
volver a evaluar la condición de este.
Return: sirve para finalizar la ejecución
de un método.
Ejemplo - Enunciado
Desarrollar un programa que muestre
por pantalla los números primos del 1
al 1000 y todos los años bisiestos
entre el año 2000 y el año 3000.