SlideShare una empresa de Scribd logo
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

Java kaime con
Java kaime conJava kaime con
Java kaime conjtk1
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVANoralma Yanez
 
Trabajo java
Trabajo javaTrabajo java
Trabajo javaamec0612
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
Laura Almazan
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
Mariano Galvez
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
Mariano Galvez
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointMariviMartinezM
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
Saviotec
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
maeusogo
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
Santiago Sora
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
Cristian Alexander
 
Guia del trabajo con excepciones
Guia del trabajo con excepcionesGuia del trabajo con excepciones
Guia del trabajo con excepciones
Carlos Anibal Riascos Hurtado
 
Java
JavaJava

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

Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
Alexandra Feijoo
 
Manual de Java.pdf
Manual de  Java.pdfManual de  Java.pdf
Manual de Java.pdf
LeonardoCarillo
 
Manual de Java.pdf
Manual de  Java.pdfManual de  Java.pdf
Manual de Java.pdf
LeonardoCarillo
 
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
Facultad de Ciencias y Sistemas
 
Java basico 2
Java basico 2Java basico 2
Java basico 2jtk1
 
Java basico 2
Java basico 2Java basico 2
Java basico 2jtk1
 
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 objetoJJ
 
Java de erlin
Java de erlinJava de erlin
Java basico
Java basicoJava basico
Java basico
Lexahira Lopez
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicasbat1820
 
Java
JavaJava
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
Cristian Alexander
 
C1 intro java
C1 intro javaC1 intro java
C1 intro javaalenco
 
Programación en Java (I)
Programación en Java (I) Programación en Java (I)
Programación en Java (I)
Cristian
 
Clase2
Clase2Clase2
Clase2rilara
 
JAVA
JAVAJAVA
JAVA
ale8819
 
Java desde 0
Java desde 0Java desde 0
Java desde 0
Saviotec
 

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 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
Universidad del golfo de México Norte
 
Unidad 7. Muros y estructuras especiales
Unidad 7. Muros y estructuras especialesUnidad 7. Muros y estructuras especiales
Unidad 7. Muros y estructuras especiales
Universidad del golfo de México Norte
 
Unidad 5. Cimientos
Unidad 5. CimientosUnidad 5. Cimientos
Unidad 4. Columnas
Unidad 4. ColumnasUnidad 4. Columnas
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
Universidad del golfo de México Norte
 
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
Universidad del golfo de México Norte
 
Unidad 4. Capital contable
Unidad 4. Capital contableUnidad 4. Capital contable
Unidad 4. Capital contable
Universidad del golfo de México Norte
 
Unidad 3. Pasivo a largo plazo
Unidad 3. Pasivo a largo plazoUnidad 3. Pasivo a largo plazo
Unidad 3. Pasivo a largo plazo
Universidad del golfo de México Norte
 
Unidad 2. Pasivo a corto plazo
Unidad 2. Pasivo a corto plazoUnidad 2. Pasivo a corto plazo
Unidad 2. Pasivo a corto plazo
Universidad del golfo de México Norte
 
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
Universidad del golfo de México Norte
 
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
Universidad del golfo de México Norte
 
Unidad 13. Medios de impugnación
Unidad 13. Medios de impugnaciónUnidad 13. Medios de impugnación
Unidad 13. Medios de impugnación
Universidad del golfo de México Norte
 
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
Universidad del golfo de México Norte
 
Unidad 11. Audiencia intermedia
Unidad 11. Audiencia intermediaUnidad 11. Audiencia intermedia
Unidad 11. Audiencia intermedia
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 penal
Universidad del golfo de México Norte
 
Unidad 9 Medidas cautelares
Unidad 9 Medidas cautelaresUnidad 9 Medidas cautelares
Unidad 9 Medidas cautelares
Universidad del golfo de México Norte
 
Unidad 8. Audiencia inicial
Unidad 8. Audiencia inicialUnidad 8. Audiencia inicial
Unidad 8. Audiencia inicial
Universidad 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

T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 

Último (20)

T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.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.