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.