SlideShare una empresa de Scribd logo
1 de 17
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.
Desarrollaron un código “neutro” que no dependía del tipo de electrodoméstico, el
cual se ejecutaba sobre una “máquina hipotética o virtual” denominada Java
Virtual Machine (JVM). Era la JVM quien interpretaba 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.
Como lenguaje de programación para computadores, Java se introdujo a finales de
1995. La clave fue la incorporación de un intérprete Java en la versión 2.0 del
programa Netscape Navigator, produciendo una verdadera revolución en Internet.
Java 1.1 apareció a principios de 1997, mejorando sustancialmente la primera
versión del lenguaje. Java 1.2, más tarde rebautizado como Java 2, nació a finales
de 1998.
Applets y aplicaciones.
Aplicaciones
Son los programas básicos de Java. Se ejecutan en una determinada máquina, por el Java Runtime
Enviroment (JRE). Para crear una aplicación hace falta incluir en alguna de las clases que
compongan la aplicación un método denominado:
public static void main(String[] s){ }
Hay que indicar al JRE (comando java del JDK) el nombre de la clase (previamente compilada a
.class), que queremos ejecutar. Cuando se ejecute el programa lo que realmente se ejecutará será el
método main() de la clase indicada al JRE. Las aplicaciones soportan métodos nativos, o sea, incluir
en el programa código escrito en otros lenguajes de programación, así como violar algunas de las
directrices de seguridad.
En cada fichero Java (.java) sólo debe haber una clase pública.
Applets
Las applets o miniaplicaciones Java, son programas que deben incluirse en páginas
Web para ser observadas por otra aplicación (visualizador de applets o navegador
Web), y que se ejecutan cuando el usuario intenta visualizarlas (cargando la página
Web).
Las applets deben incluir un método de nombre start(), que será ejecutado cuando
el navegador intente mostrar por pantalla la applet.
Estas aplicaciones, son seguras (cumplen la especificación Java), y al ser
distribuibles por Internet no permiten incluir métodos nativos Java.
JavaBeans
Los JavaBeans son componentes gráficos de Java, que se pueden incorporar a otros
componentes gráficos. Se incluyen en la API de Java (paquete java.beans).
Existe una herramienta de Sun, denominada BDK (Beans Developer Kit), que es un
conjunto de herramientas para desarrollar JavaBeans. El BDK, es el JDK para el
desarrollo de JavaBeans.
Existen ya multitud de bibliotecas con JavaBeans, para que puedan ser utilizados.
JavaScript
JavaScript es un subconjunto del lenguaje Java que puede codificarse directamente
sobre cualquier documento HTML; el código fuente de JavaScript forma parte del
propio documento HTML.
JavaScript tiene menos potencia que Java, a cambio de más control sobre el
navegador Web que lo ejecute.
Se utiliza sobre todo para dar animación e interactividad a páginas Web.
JavaScript posee una habilidad limitada para interactuar con applets Java, pero Java
no puede interactuar de ningún modo con JavaScript.
Servlets
Son módulos que permiten sustituir o utilizar el lenguaje Java en lugar de
programas CGI (Common Gateway Interface) a la hora de dotar de interactividad a
las páginas Web.
Estas aplicaciones se ejecutan como aplicaciones servidoras en Internet, y
normalmente incluyen bucles infinitos a la espera de peticiones a las que atender.
Los Servlets no tienen entorno gráfico, ya que se ejecutan en el servidor. Reciben
datos y su respuesta más habitual suele ser código HTML (páginas Web).
 Simple
Es un lenguaje sencillo de aprender. Su sintaxis es la de C++ “simplificada”. Los
creadores de Java partieron de la sintaxis de C++ y trataron de eliminar de este todo
lo que resultase complicado o fuente de errores en este lenguaje. La herencia
múltiple, la aritmética de punteros, por la gestión de memoria dinámica (que en
Java se elimina de modo transparente para el programador gracias al recogedor
basura) son ejemplos de "tareas complicadas" de C++ y en Java se han eliminado
poco simplificado.
 Orientado a Objetos
Posiblemente sea el lenguaje más orientado a objetos de todos los existentes; en
Java todo, a excepción de los tipos fundamentales de variables (int, char, long...) es
un objeto.
 Distribuido
Java está muy orientado al trabajo en red, soportando protocolos como TCP/IP,
UDP, HTTP y FTP. Por otro lado el uso de estos protocolos es bastante sencillo
comparándolo con otros lenguajes que los soportan.
 Robusto
El compilador Java detecta muchos errores que otros compiladores solo detectarían
en tiempo de ejecución o incluso nunca. A esclarecer así por ejemplo " if(a=b) then
... " o " int i; h=i*2; "son dos ejemplos en los que el compilador Java no nos dejaría
compilar este código; sin embargo un compilador C compilaría el código y
generaría un ejecutable que ejecutaría esta sentencia sin dar ningún tipo de error).
 Seguro
Sobre todo un tipo de desarrollo: los Applet. Estos son programas diseñados para
ser ejecutados en una página web. Java garantiza que ningún Applet puede escribir
o leer de nuestro disco o mandar información del usuario que accede a la página a
través de la red (como, por ejemplo, la dirección de correo electrónico). En general
no permite realizar cualquier acción que pudiera dañar la máquina o violar la
intimidad del que visita la página web.
 Portable
En Java no hay aspectos dependientes de la implementación, todas las
implementaciones de Java siguen los mismos estándares en cuanto a tamaño y
almacenamiento de los datos.
 Arquitectura Neutral
El código generado por el compilador Java es independiente de la arquitectura:
podría ejecutarse en un entorno UNIX, Mac o Windows. El motivo de esto es que el
que realmente ejecuta el código generado por el compilador no es el procesador del
ordenador directamente, sino que este se ejecuta mediante una máquina virtual.
 Rendimiento medio
Actualmente la velocidad de procesado del código Java es semejante a la de C++,
hay ciertos pruebas estándares de comparación (benchmarks) en las que Java gana
a C++ y viceversa. Esto es así gracias al uso de compiladores just in time,
compiladores que traduce los bytecodes de Java en código para una determinada
CPU, que no precisa de la máquina virtual para ser ejecutado, y guardan el
resultado de dicha conversión, volviéndolo a llamar en caso devolverlo a necesitar,
con lo que se evita la sobrecarga de trabajo asociada a la interpretación del
bytecode.
 Multithread
Soporta de modo nativo los threads, sin necesidad del uso de de librerías
específicas (como es el caso de C++). Esto le permite además que cada Thread de
una aplicación java pueda correr en una CPU distinta, si la aplicación se ejecuta en
una máquina que posee varias CPU.
9
 enteros: int, long, short, byte
Const. 1, -1, 1024, 1L
 reales: float, double
Const. 1.0, -3.14159, 1.5e4, 1.0f
 caracter: char
Const. ‘a’, ‘X’, ‘@’
 lógico: boolean
Const. true, false
Constantes de String: “Hola“,“12 de Abril“
10
int i;
int i = 1;
double pi = 3.14159;
char c = ‘a’;
boolean estamos_bien = true;
Las declaraciones de variables pueden ir en cualquier
parte del programa pero siempre antes de que la
variable sea usada. Hay que tener cuidado con el rango
de validez (scope) de la declaración
11
 Aritmeticas: suma + 20 * c / (mod % 3)
 Relacionales: a > b, b >= c, c != 4, a == 0
 De String: “hola “+ nombre + “ hoy es “+
dia + “de”+mes
 Casts: (int) pi (pi = 3.1) (int) (Math.random()*100)+1)
 Otros: a == 1 ? a+1 : a-1
 Asignacion: a = 1;
 Asignación como operador: a = b = c = d = 0;
boolean cero = ( b = c - 10) == 0;
12
 Java no reclama si un tipo de menor rango se
convierte a uno de mayor rango.
byte < short < int < long < float < double
Tipo Bits Rango
int 32 -2**31 .. 2**31-1
short 16 -2**15 .. 2**15-1
byte 8 -2**7 .. 2**7-1
long 64 -2**63 .. 2**63-1
float 32 -10**32 .. 10**32
double 64 -10**300 .. 10**300
13
 int i = 1;
 long l = i; //ok
 l = 1000000000000;float f = l; //ok
 double d= 1.0e24; int i = d; // Error
 float f = 1.0f; int i = f; // Error
 short s = i; //Error
 double d = 1.0; int i = (int)d; //ok
 int i = 256;
 byte b = (byte)i; //ok pero b ==0;
Los operadores básicos de Java son + , - , * , / para suma, resta, producto y división.
El operador / representa la división de enteros si ambos operandos son enteros. Su
módulo puede obtenerse mediante el operador % (7/4= 1; 7% 4=3). Además existen
los operadores decremento e incremento: -- y ++ respectivamente. La
operación que realizan son incrementar y decrementar en una unidad a la variable a
la que se aplican. Su acción es distinta según se apliquen antes (++a) o después
(a++) de la variable. El siguiente programa ilustra estos distintos efectos:
Salida por pantalla del
programa anterior:
 if
Permite crear estructuras condicionales
simples; en las que al cumplirse una
condición se ejecutan una serie de
instrucciones. Se puede hacer que otro
conjunto de instrucciones se ejecute si la
condición es falsa. La condición es cualquier
expresión que devuelva un resultado de true
o false. La sintaxis de la instrucción if es(La
parte else es opcional):
 switch
Esta instrucción evalúa una expresión, y
según el valor de la misma ejecuta
instrucciones. Cada case contiene un valor de
la expresión; si efectivamente la expresión
equivale a ese valor, se ejecutan las
instrucciones de ese case y de los siguientes.
La instrucción break se utiliza para salir del
switch.
 while
La instrucción while permite crear bucles. Un
bucle es un conjunto de sentencias que se
repiten si se cumple una determinada
condición. Los bucles while agrupan
instrucciones las cuales se ejecutan
continuamente hasta que una condición que
se evalúa sea falsa. La condición se mira antes
de entrar dentro del while y cada vez que se
termina de ejecutar las instrucciones del
while
 do-while
Crea un bucle muy similar al anterior, en la
que también las instrucciones del bucle se
ejecutan hasta que una condición pasa a ser
falsa. La diferencia estriba en que en este tipo
de bucle la condición se evalúa después de
ejecutar las instrucciones; lo cual significa
que al menos el bucle se ejecuta una vez.
Sintaxis:
 for
Es un bucle más complejo
especialmente pensado para rellenar
arrays o para ejecutar instrucciones
controladas por un contador. Una vez
más se ejecutan una serie de
instrucciones en el caso de que se
cumpla una determinada condición.
La expresión inicial es una instrucción que se ejecuta una sola vez: al entrar por
primera vez en el bucle for (normalmente esa expresión lo que hace es dar valor
inicial al contador del bucle). La condición es cualquier expresión que devuelve un
valor lógico. En el caso de que esa expresión sea verdadera se ejecutan las
instrucciones. Cuando la condición pasa a ser falsa, el bucle deja de ejecutarse. La
condición se valora cada vez que se terminan de ejecutar las instrucciones del bucle.
Después de ejecutarse las instrucciones interiores del bucle, se realiza la expresión
que tiene lugar tras ejecutarse las instrucciones del bucle (que, generalmente,
incrementa o decrementa al contador). Luego se vuelve a evaluar la condición y así
sucesivamente hasta que la condición sea falsa.

Más contenido relacionado

La actualidad más candente (19)

Java kaime con
Java kaime conJava kaime con
Java kaime con
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVA
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
 
Java basico
Java basicoJava basico
Java basico
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Ut
UtUt
Ut
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power Point
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Semana9 Vbr
Semana9 VbrSemana9 Vbr
Semana9 Vbr
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Instituto Cristiano Encuentro
Instituto Cristiano EncuentroInstituto Cristiano Encuentro
Instituto Cristiano Encuentro
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Guia del trabajo con excepciones
Guia del trabajo con excepcionesGuia del trabajo con excepciones
Guia del trabajo con excepciones
 
Java
JavaJava
Java
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Java
 
Lenguaje java
Lenguaje javaLenguaje java
Lenguaje java
 

Similar a Unidad 2. Lenguaje orientado a objetos

Similar a Unidad 2. Lenguaje orientado a objetos (20)

Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Java basico
Java basicoJava basico
Java basico
 
Java
JavaJava
Java
 
Manual de Java.pdf
Manual de  Java.pdfManual de  Java.pdf
Manual de Java.pdf
 
Manual de Java.pdf
Manual de  Java.pdfManual de  Java.pdf
Manual de Java.pdf
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
 
Java basico 2
Java basico 2Java basico 2
Java basico 2
 
Java basico 2
Java basico 2Java basico 2
Java basico 2
 
Conceptos de programación orientada a objeto
Conceptos de programación orientada a objetoConceptos de programación orientada a objeto
Conceptos de programación orientada a objeto
 
Java de erlin
Java de erlinJava de erlin
Java de erlin
 
Módulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología JavaMódulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología Java
 
Java basico
Java basicoJava basico
Java basico
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
 
Java
JavaJava
Java
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
C1 intro java
C1 intro javaC1 intro java
C1 intro java
 
Programación en Java (I)
Programación en Java (I) Programación en Java (I)
Programación en Java (I)
 
Clase2
Clase2Clase2
Clase2
 
JAVA
JAVAJAVA
JAVA
 
Java desde 0
Java desde 0Java desde 0
Java desde 0
 

Más de Universidad del golfo de México Norte

Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penalUnidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penalUniversidad del golfo de México Norte
 

Más de Universidad del golfo de México Norte (20)

Unidad 8. Proyecto de diseño estructural
Unidad 8. Proyecto de diseño estructuralUnidad 8. Proyecto de diseño estructural
Unidad 8. Proyecto de diseño estructural
 
Unidad 7. Muros y estructuras especiales
Unidad 7. Muros y estructuras especialesUnidad 7. Muros y estructuras especiales
Unidad 7. Muros y estructuras especiales
 
Unidad 6. Zapatas
Unidad 6. ZapatasUnidad 6. Zapatas
Unidad 6. Zapatas
 
Unidad 5. Cimientos
Unidad 5. CimientosUnidad 5. Cimientos
Unidad 5. Cimientos
 
Unidad 4. Columnas
Unidad 4. ColumnasUnidad 4. Columnas
Unidad 4. Columnas
 
Unidad 3. Losas
Unidad 3. LosasUnidad 3. Losas
Unidad 3. Losas
 
Unidad 2. Vigas
Unidad 2. VigasUnidad 2. Vigas
Unidad 2. Vigas
 
Unidad 1. Introducción a las estructuras de concreto
Unidad 1. Introducción a las estructuras de concretoUnidad 1. Introducción a las estructuras de concreto
Unidad 1. Introducción a las estructuras de concreto
 
Unidad 5. Reconocimiento del ingreso y gasto
Unidad 5. Reconocimiento del ingreso y gastoUnidad 5. Reconocimiento del ingreso y gasto
Unidad 5. Reconocimiento del ingreso y gasto
 
Unidad 4. Capital contable
Unidad 4. Capital contableUnidad 4. Capital contable
Unidad 4. Capital contable
 
Unidad 3. Pasivo a largo plazo
Unidad 3. Pasivo a largo plazoUnidad 3. Pasivo a largo plazo
Unidad 3. Pasivo a largo plazo
 
Unidad 2. Pasivo a corto plazo
Unidad 2. Pasivo a corto plazoUnidad 2. Pasivo a corto plazo
Unidad 2. Pasivo a corto plazo
 
Unidad 1. Inversiones permanentes y otros activos
Unidad 1. Inversiones permanentes y otros activosUnidad 1. Inversiones permanentes y otros activos
Unidad 1. Inversiones permanentes y otros activos
 
Unidad 14. Mecanismos alternativos de solución de controversias
Unidad 14. Mecanismos alternativos de solución de controversiasUnidad 14. Mecanismos alternativos de solución de controversias
Unidad 14. Mecanismos alternativos de solución de controversias
 
Unidad 13. Medios de impugnación
Unidad 13. Medios de impugnaciónUnidad 13. Medios de impugnación
Unidad 13. Medios de impugnación
 
Unidad 12. Audiencia de debate y juicio oral
Unidad 12. Audiencia de debate y juicio oralUnidad 12. Audiencia de debate y juicio oral
Unidad 12. Audiencia de debate y juicio oral
 
Unidad 11. Audiencia intermedia
Unidad 11. Audiencia intermediaUnidad 11. Audiencia intermedia
Unidad 11. Audiencia intermedia
 
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penalUnidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
 
Unidad 9 Medidas cautelares
Unidad 9 Medidas cautelaresUnidad 9 Medidas cautelares
Unidad 9 Medidas cautelares
 
Unidad 8. Audiencia inicial
Unidad 8. Audiencia inicialUnidad 8. Audiencia inicial
Unidad 8. Audiencia inicial
 

Último

LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 

Último (20)

LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 

Unidad 2. Lenguaje orientado a objetos

  • 1.
  • 2. 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. Desarrollaron un código “neutro” que no dependía del tipo de electrodoméstico, el cual se ejecutaba sobre una “máquina hipotética o virtual” denominada Java Virtual Machine (JVM). Era la JVM quien interpretaba 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. Como lenguaje de programación para computadores, Java se introdujo a finales de 1995. La clave fue la incorporación de un intérprete Java en la versión 2.0 del programa Netscape Navigator, produciendo una verdadera revolución en Internet. Java 1.1 apareció a principios de 1997, mejorando sustancialmente la primera versión del lenguaje. Java 1.2, más tarde rebautizado como Java 2, nació a finales de 1998.
  • 3. Applets y aplicaciones. Aplicaciones Son los programas básicos de Java. Se ejecutan en una determinada máquina, por el Java Runtime Enviroment (JRE). Para crear una aplicación hace falta incluir en alguna de las clases que compongan la aplicación un método denominado: public static void main(String[] s){ } Hay que indicar al JRE (comando java del JDK) el nombre de la clase (previamente compilada a .class), que queremos ejecutar. Cuando se ejecute el programa lo que realmente se ejecutará será el método main() de la clase indicada al JRE. Las aplicaciones soportan métodos nativos, o sea, incluir en el programa código escrito en otros lenguajes de programación, así como violar algunas de las directrices de seguridad. En cada fichero Java (.java) sólo debe haber una clase pública.
  • 4. Applets Las applets o miniaplicaciones Java, son programas que deben incluirse en páginas Web para ser observadas por otra aplicación (visualizador de applets o navegador Web), y que se ejecutan cuando el usuario intenta visualizarlas (cargando la página Web). Las applets deben incluir un método de nombre start(), que será ejecutado cuando el navegador intente mostrar por pantalla la applet. Estas aplicaciones, son seguras (cumplen la especificación Java), y al ser distribuibles por Internet no permiten incluir métodos nativos Java. JavaBeans Los JavaBeans son componentes gráficos de Java, que se pueden incorporar a otros componentes gráficos. Se incluyen en la API de Java (paquete java.beans). Existe una herramienta de Sun, denominada BDK (Beans Developer Kit), que es un conjunto de herramientas para desarrollar JavaBeans. El BDK, es el JDK para el desarrollo de JavaBeans. Existen ya multitud de bibliotecas con JavaBeans, para que puedan ser utilizados.
  • 5. JavaScript JavaScript es un subconjunto del lenguaje Java que puede codificarse directamente sobre cualquier documento HTML; el código fuente de JavaScript forma parte del propio documento HTML. JavaScript tiene menos potencia que Java, a cambio de más control sobre el navegador Web que lo ejecute. Se utiliza sobre todo para dar animación e interactividad a páginas Web. JavaScript posee una habilidad limitada para interactuar con applets Java, pero Java no puede interactuar de ningún modo con JavaScript. Servlets Son módulos que permiten sustituir o utilizar el lenguaje Java en lugar de programas CGI (Common Gateway Interface) a la hora de dotar de interactividad a las páginas Web. Estas aplicaciones se ejecutan como aplicaciones servidoras en Internet, y normalmente incluyen bucles infinitos a la espera de peticiones a las que atender. Los Servlets no tienen entorno gráfico, ya que se ejecutan en el servidor. Reciben datos y su respuesta más habitual suele ser código HTML (páginas Web).
  • 6.  Simple Es un lenguaje sencillo de aprender. Su sintaxis es la de C++ “simplificada”. Los creadores de Java partieron de la sintaxis de C++ y trataron de eliminar de este todo lo que resultase complicado o fuente de errores en este lenguaje. La herencia múltiple, la aritmética de punteros, por la gestión de memoria dinámica (que en Java se elimina de modo transparente para el programador gracias al recogedor basura) son ejemplos de "tareas complicadas" de C++ y en Java se han eliminado poco simplificado.  Orientado a Objetos Posiblemente sea el lenguaje más orientado a objetos de todos los existentes; en Java todo, a excepción de los tipos fundamentales de variables (int, char, long...) es un objeto.  Distribuido Java está muy orientado al trabajo en red, soportando protocolos como TCP/IP, UDP, HTTP y FTP. Por otro lado el uso de estos protocolos es bastante sencillo comparándolo con otros lenguajes que los soportan.
  • 7.  Robusto El compilador Java detecta muchos errores que otros compiladores solo detectarían en tiempo de ejecución o incluso nunca. A esclarecer así por ejemplo " if(a=b) then ... " o " int i; h=i*2; "son dos ejemplos en los que el compilador Java no nos dejaría compilar este código; sin embargo un compilador C compilaría el código y generaría un ejecutable que ejecutaría esta sentencia sin dar ningún tipo de error).  Seguro Sobre todo un tipo de desarrollo: los Applet. Estos son programas diseñados para ser ejecutados en una página web. Java garantiza que ningún Applet puede escribir o leer de nuestro disco o mandar información del usuario que accede a la página a través de la red (como, por ejemplo, la dirección de correo electrónico). En general no permite realizar cualquier acción que pudiera dañar la máquina o violar la intimidad del que visita la página web.  Portable En Java no hay aspectos dependientes de la implementación, todas las implementaciones de Java siguen los mismos estándares en cuanto a tamaño y almacenamiento de los datos.
  • 8.  Arquitectura Neutral El código generado por el compilador Java es independiente de la arquitectura: podría ejecutarse en un entorno UNIX, Mac o Windows. El motivo de esto es que el que realmente ejecuta el código generado por el compilador no es el procesador del ordenador directamente, sino que este se ejecuta mediante una máquina virtual.  Rendimiento medio Actualmente la velocidad de procesado del código Java es semejante a la de C++, hay ciertos pruebas estándares de comparación (benchmarks) en las que Java gana a C++ y viceversa. Esto es así gracias al uso de compiladores just in time, compiladores que traduce los bytecodes de Java en código para una determinada CPU, que no precisa de la máquina virtual para ser ejecutado, y guardan el resultado de dicha conversión, volviéndolo a llamar en caso devolverlo a necesitar, con lo que se evita la sobrecarga de trabajo asociada a la interpretación del bytecode.  Multithread Soporta de modo nativo los threads, sin necesidad del uso de de librerías específicas (como es el caso de C++). Esto le permite además que cada Thread de una aplicación java pueda correr en una CPU distinta, si la aplicación se ejecuta en una máquina que posee varias CPU.
  • 9. 9  enteros: int, long, short, byte Const. 1, -1, 1024, 1L  reales: float, double Const. 1.0, -3.14159, 1.5e4, 1.0f  caracter: char Const. ‘a’, ‘X’, ‘@’  lógico: boolean Const. true, false Constantes de String: “Hola“,“12 de Abril“
  • 10. 10 int i; int i = 1; double pi = 3.14159; char c = ‘a’; boolean estamos_bien = true; Las declaraciones de variables pueden ir en cualquier parte del programa pero siempre antes de que la variable sea usada. Hay que tener cuidado con el rango de validez (scope) de la declaración
  • 11. 11  Aritmeticas: suma + 20 * c / (mod % 3)  Relacionales: a > b, b >= c, c != 4, a == 0  De String: “hola “+ nombre + “ hoy es “+ dia + “de”+mes  Casts: (int) pi (pi = 3.1) (int) (Math.random()*100)+1)  Otros: a == 1 ? a+1 : a-1  Asignacion: a = 1;  Asignación como operador: a = b = c = d = 0; boolean cero = ( b = c - 10) == 0;
  • 12. 12  Java no reclama si un tipo de menor rango se convierte a uno de mayor rango. byte < short < int < long < float < double Tipo Bits Rango int 32 -2**31 .. 2**31-1 short 16 -2**15 .. 2**15-1 byte 8 -2**7 .. 2**7-1 long 64 -2**63 .. 2**63-1 float 32 -10**32 .. 10**32 double 64 -10**300 .. 10**300
  • 13. 13  int i = 1;  long l = i; //ok  l = 1000000000000;float f = l; //ok  double d= 1.0e24; int i = d; // Error  float f = 1.0f; int i = f; // Error  short s = i; //Error  double d = 1.0; int i = (int)d; //ok  int i = 256;  byte b = (byte)i; //ok pero b ==0;
  • 14. Los operadores básicos de Java son + , - , * , / para suma, resta, producto y división. El operador / representa la división de enteros si ambos operandos son enteros. Su módulo puede obtenerse mediante el operador % (7/4= 1; 7% 4=3). Además existen los operadores decremento e incremento: -- y ++ respectivamente. La operación que realizan son incrementar y decrementar en una unidad a la variable a la que se aplican. Su acción es distinta según se apliquen antes (++a) o después (a++) de la variable. El siguiente programa ilustra estos distintos efectos: Salida por pantalla del programa anterior:
  • 15.  if Permite crear estructuras condicionales simples; en las que al cumplirse una condición se ejecutan una serie de instrucciones. Se puede hacer que otro conjunto de instrucciones se ejecute si la condición es falsa. La condición es cualquier expresión que devuelva un resultado de true o false. La sintaxis de la instrucción if es(La parte else es opcional):  switch Esta instrucción evalúa una expresión, y según el valor de la misma ejecuta instrucciones. Cada case contiene un valor de la expresión; si efectivamente la expresión equivale a ese valor, se ejecutan las instrucciones de ese case y de los siguientes. La instrucción break se utiliza para salir del switch.
  • 16.  while La instrucción while permite crear bucles. Un bucle es un conjunto de sentencias que se repiten si se cumple una determinada condición. Los bucles while agrupan instrucciones las cuales se ejecutan continuamente hasta que una condición que se evalúa sea falsa. La condición se mira antes de entrar dentro del while y cada vez que se termina de ejecutar las instrucciones del while  do-while Crea un bucle muy similar al anterior, en la que también las instrucciones del bucle se ejecutan hasta que una condición pasa a ser falsa. La diferencia estriba en que en este tipo de bucle la condición se evalúa después de ejecutar las instrucciones; lo cual significa que al menos el bucle se ejecuta una vez. Sintaxis:
  • 17.  for Es un bucle más complejo especialmente pensado para rellenar arrays o para ejecutar instrucciones controladas por un contador. Una vez más se ejecutan una serie de instrucciones en el caso de que se cumpla una determinada condición. La expresión inicial es una instrucción que se ejecuta una sola vez: al entrar por primera vez en el bucle for (normalmente esa expresión lo que hace es dar valor inicial al contador del bucle). La condición es cualquier expresión que devuelve un valor lógico. En el caso de que esa expresión sea verdadera se ejecutan las instrucciones. Cuando la condición pasa a ser falsa, el bucle deja de ejecutarse. La condición se valora cada vez que se terminan de ejecutar las instrucciones del bucle. Después de ejecutarse las instrucciones interiores del bucle, se realiza la expresión que tiene lugar tras ejecutarse las instrucciones del bucle (que, generalmente, incrementa o decrementa al contador). Luego se vuelve a evaluar la condición y así sucesivamente hasta que la condición sea falsa.