Documente Academic
Documente Profesional
Documente Cultură
Introduccin
Lenguaje programacin serio
Middleware ( cliente db )
Portabilidad,Red,Multithreaded Dispositivos Moviles No intenta reescribir programas actuales si no aprovechar las nueva generacin de aplicaciones
Introduccin
Java como herramienta de programacin
de los mejores para programacin en serio ) Potencialmente un gran lenguaje ( compatibilidad ascendente y aceptar cambios ) Mejoras en Java. No lenguaje. Bibliotecas de java. Utilidad
Buen lenguaje de programacin ( uno
Introduccin
Ventajas
Entorno de ejecucin independiente de plataforma Orientado completamente a Objetos OOP ( proyectos complejos )
Introduccin
Carcteristicas de Diseo de Java
Simple Orientado a Objetos Distribuido Robusto Seguro Arquitectura neutral Portable Interpretado Alto rendimiento Multrithread Dinamico
Introduccin
Simple
Fcil programacion-sintaxis clara No confundir con entornos programacin visuales que suministran la infraestructura de aplicacin Pequeo:interprete basico + clases apoyo threads
(microkernel)=175kb
Las bibliotecas grficas son muchisimo mas grandes
Introduccin
Orientado a Objetos
30 aos de OOP ya demostraron su valor El lenguaje permite modelar el problema
Introduccin
Distribuido
Manejo de recursos sobre TCP/IP via HTTP y FTP. Acceso no solo a recursos locales sino a cualquiera
Introduccin
Robusto
Fiabilidad del producto final Medios: Comprobacion sintaxis del compilador Simplicidad del lenguaje No delegar manejo memoria al programador
Introduccin
Seguro
Pensado para entornos distibuidos o en red. Mucho
enfasis en la seguridad.
Grupos de auditoria de seguridad Son publicas las implementaciones internas. Java hace extremandamente dificil saltearse mecanismos
de seguridad Clases Firmada El mas seguro pero es imposible demostrar que es completamente seguro.
Introduccin
Arquitectura neutral
Formato de fichero objeto independiente de la
arquitectura. Bytecode. No relacionado con la arquitectura del procesador. El conjunto de instrucciones Bytecode funciona bien en la mayoria de las arquitecturas actuales. Diseado para traducirse facilmente a codigo maquina.
Introduccin
Portable
No posee aspecto relacionado con la
Introduccin
Interpretado
Interprete Java JRE Ejecuta bycode Acelera el desarrollo.
Introduccin
Alto rendimiento
Si bien el funcionamiento interpretado es razonable
hay situaciones que exigen mayor rendiento. Traduccion a codigo maquina previo a su ejecucion Compiladores Just-intime y optimizadores.
Introduccin
Multithreaded
Mayor sensacion de interactividad Mejor comportamiento en tiempo real Simplicidad de programacion Muy atractivo para desarrollo del lado del servidor.
Introduccin
Dinamico
Diseado para un entorno en constante evolucin. Las bibliotecas evolucionan sin afectar a clientes
Introduccin
Java e Internet
Descargar bycode por internet y ejecucion local Ejecucion en navegador Applet Problemas de Ancho Banda y Navegadores Ejecucin en el Servidor Servidores de Aplicacion
Introduccin
Conceptos erroneos sobre java
Java es una extension de HTML Utilizo XML asi que no necesito Java Java es un lenguaje de programacion fcil de
aprender Java tiene un entorno fcil de programar Java se va convertir en un lenguaje de programacion universal para todas las plataformas. Java es interpretado, es muy lento para aplicaciones serias Javascript es una version mas sencilla de java.
Fundamentos POO
Que es un Objeto?
Que es un Mensaje?
Que es una Clase?
Qu es un Objeto?
Observar Objetos del mundo Real
Caracteristicas: Estado Comportamiento
Objetos de Software
Miembros Variables (identificadores) Mtodos (funciones)
Modelar Objetos:
Reales Abstractos
Instancia de un ObjetoEncapsulacin
Objeto Bicicleta
Estados (variables): Velocidad Ritmo de Pedaleo Marcha Comportamientos(mtodo
Bicicleta en particular
Variables de Instancia: Velocidad: 10km/h Ritmo de Pedaleo: 20 rpm Marcha: 3 Mtodos de Instancia: Frenar -> Disminuir Veloc.(10) Cambiar el Ritmo de Pedaleo Cambiar la Marcha
s):
Frenar Cambiar el Ritmo de
ENCAPSULACIN:
Encapsulacin
ENCAPSULACIN:
variables de instancia solo son accedidas desde los
Qu es un Mensaje?
Funcionalidad Alto Nivel es un conjuntos de objetos interactuando Mensaje:
comunicacin/interaccion entre objetos.
Partes Mensaje:
Objeto Destinatario
Mtodo Parmetros
Beneficios:
Mensajes permite acceder Comportamiento sin acceso
variables Mensajes permiten a Objetos interactuar aunque no esten en el mismo proceso y/o equipo
Qu es una Clase?
Existen Objetos de la misma naturaleza/tipo que
comparten caracteristicas similares Definicin: una CLASE es un Modelo/Plano que define las variables y mtodos comunes a todos los OBJETOS de un cierto TIPO.
Objeto - Clase
Un OBJETO es una instancia de
Variables/Mtodos de Clase
una VARIABLE de Clase es
Clases - Reusabilidad
OBJETOS proveen los beneficios de Modularidad
y Ocultamiento de Informacin. CLASES proveen los beneficios de REUSABILIDAD El lenguaje JAVA va acompaado de CLASES de propsitos varios que permiten al Programador REUTILIZAR fcilmente cdigo de la plataforma JAVA (J2EE,J2SE,J2ME..)
Introduccin
Programa
Identificadores
Tipos de Datos Variables Asignaciones e Inicializaciones Operadores Cadenas de Caracteres Control de Flujo de un Programa
Programa
Es una Clase
System.out.println("Hello world");
} }
Identificadores
Un identificador es un nombre que se le asigna
a los distintos elementos de un programa Reglas: Contener digitos (0 al 9), letras ( a-z , A-Z ), signos _ y $ No debe comenzar con digitos
Palabras Reservadas
Son identificadores que tienen un significado
especial para el compilador. No puden ser utilizadas como identificadores definidos por el programador ( variables, etc. )
Palabras Reservadas
Variables
Una Variable es un identificador que referencia
Valores Literales
Un Literal es un valor que es constante.
tipo de dato:
Literales Enteros Literales de Punto Flotante Literales Booleanos Literales de Caracteres Literales de Strings
Literales de Enteros
Literales de Enteros en diferentes formatos:
decimal (base 10) hexadecimal (base 16) octal (base 8).
Notacin especial:
Decimal No tiene notacin especial ejemplo: 12 Hexadecimal Precedido por 0x o 0X ejemplo: 0xC Octal Precedido por 0 ejemplo: 014
ocientfica.
Ejemplo: 583.45 (standard), 5.8345e2 (scientific)
Literales Boolean
Los literales Booleanos tienen solo dos valores
Literales: Character
Un literal Character representa un carcter
reemplaza el conjunto de caracteres ASCII de 8bits. Unicode permite la inclusin de simbolos y caracteres especiales para otros lenguajes.
Literales: Character
Para utilizar un litereal Character, coloque el
representa con una barra oblicua (\) seguida por el cdigo de caracter. Por ejemplo, \n para el caracter de nueva linea, \r para el retorno de carro, \b para el backspace.
Literales String
Un literal String representa multiples caracteres y
se colocan entre comillas dobles. Un ejemplo de un literal String es, Hello World.
de datos primitivos.
boolean char byte
short
int long double float
( Falso ). Ejemplo: boolean result = true; Este ejemplo declara una variable boolean y le asigna un valor true (literal booleano que representa verdadero).
simple caracter Unicode. Debe estar encerrado entre comillas simples ( ). Ejemplo, a //The letter a \t //A tab Para representar caracteres especiales como ' (comilla simple) o " (comilla doble), se utiliza el caracter de escape \. Ejemplo, '\'' //for single quotes '\"' //for double quotes
una Clase), se introduce String en esta seccion. Un String representa un tipo de datos que contiene mltiples caracteres. No es un tipo primitivo es una Clase. Un literal String esta encerrado entre comillas dobles(). Ejemplo, String message=Hello world!;
2 // valor decimal 2 077 // inicia con 0 indica que es un valor Octal 0xBACC // inicia con 0x indicando que es un valor hexadecimal Los numeros enteros por defecto son int. Se puede definir un valor como long agregando la letra l o L al final del numero Ejemplo: 10L
de dato por defecto. Un literal de punto flotante incluye el punto decimal o uno de los posfijos, E or e //(agrega valor exponencial) F or f //(float) D or d //(double) Ejemplos, 3.14 // un valor simple( double) 6.02E23 // A large floating-point value 2.718F // A simple float size value 123.4E+306D //Un valor double
Variables
Una variable es un item de datos que es utilizado
<tipo de dato> <nombre> [=valor inicial]; Nota: los valores entre <> son requeridos, mientras que aquellos entre [] son opcionales.
Declarando e inicializando variables: Guias de Codificacin Siempre es bueno inicializar las variables cuando son declaradas. Utilice nombres descriptivos para sus variables. Por ejemplo, si tienen que definir una variable que contenga el grado de un estudiante, utilice grado y no una secuencia de caracteres aleatorios que uds. elija. Declare una variable por linea.
(System.out.println)
Variables Primitivas
variables con tipo de datos primitivos. Almacenan el dato en la ubicacin de memoria
memoria. Apuntan otra ubicacin de memoria donde se encuentra el dato. Cuando se declara una variable de cierta Clase, se esta declarando una variable de referencia a un objeto de dicha clase.
Operadores
Diferentes tipos de operadores:
Aritmticos Relacionales Lgicos Condicionales
tienen una PRECEDENCIA. Esta le indica al compilador como evaluarla en el caso que existan mlltiples operadores en una sentencia.
Operadores Aritmticos
Nota: Cuando un Entero y un Punto Flotante son utilizados como operadores con un operador aritmtico, el resultado es un valor de Punto Flotante. El Entero es implicitamente convertido a flotante previo a efectuar la operacin.
Operadores de Incremento/Decremento operador unitario de incremento (++) operador unitario de decremento (--) operadores que incrementa o decrementan el valor almacenado en la variable por 1. Ejemplo, la expresin,
count=count + 1;//increment the value of count by 1 es equivalente a, count++;
Operadores de Incremento/Decremento
Pre/Pos de Incremento/Decremento
cuando el operador es colocado antes del operando, esto
causa que primero es aplicado el operador al valor de la variable y el nuevo valor resultante es utilizado en la expresin en la que forma parte. int i = 10; int j = 3; int k = 0; k = ++j + i; //will result to k = 4+10 = 14 cuando el operador es colocado luego del operando, el viejo valor de la variable es utilizada en la expresin donde aparece. int i = 10; int j = 3; int k = 0; k = j++ + i; //will result to k = 3+10 = 13
Operadores Relacionales
Los operadores relacionales comparan dos
valores y determinan la relacin estre estos. El resultado de la evaluacin es un valor boolean, true o false.
Operadores Lgicos
Los operadores Lgicos tienen uno o dos
operadores booleanos y tiene por resultado un valor tambin booleano. Existen 6 operadores lgicos:
&& (logical AND )
Op.Lgicos: &&(logical) and &(boolean logical) AND Diferencia bsica entre los operadores && y &:
&& soporta evaluaciones de circuito corto (or
retornar false si el valor de la expresin exp1 es false. Si exp1 es false, el operador nunca evalua la expresion exp2 porque el resultado del operador ser false sin importar que valor tiene la exp2.
Por el contrario, el operador & siempre evalua
Op.Lgicos: || (logical) and | (boolean logical) inclusive OR La diferencia bsica entre los operadores || y I :
|| soporta evaluaciones de circuito corto (o
retornar un valor true si la exp1 es true Si exp1 es true, el operador nunca evaluar la exp2 ya que el resultado siempre ser true independiente del valor de la exp2. De manera diferente, el operador | simpre evaluar ambas expresiones, exp1 and exp2, antes de retornar la respuesta.
Op.Lgicos: ^ (boolean logical exclusive OR) El resultado de una operacion de OR Exclusivo es true si y solo si un operando es true y el otro false. Note que ambos operadores deben ser evaluados antes de calcular el resultado del OR Exclusivo.
argumento, que puede ser una expresin, una variable o una constante.
condicional es
exp1?exp2:exp3 donde, exp1 es una expresin booleana que puede tener valor true o false
El resultado: Si exp1 es true, exp2 es el valor resultante. Si es false, entonces la exp3 es el valor resultante.