SlideShare una empresa de Scribd logo
Taller de Programación
Sesión 1
Introducción al lenguaje de programación Java (I)
Revisamos el sílabo
• Dentro de este documento
encontraremos información
sobre el curso, incluyendo:
• Logro del curso.
• Cronograma de actividades.
• Sistema de evaluación.
• Bibliografía.
2
Logro de aprendizaje
Al finalizar la sesión, el estudiante
conoce las principales características
de la plataforma y lenguaje Java
mediante la observación, lectura y
desarrollo de actividades prácticas.
Imagen obtenida de: https://www.euroschoolindia.com/wp-content/uploads/2023/08/impact-of-school-leadership.jpg
3
Inicio
¿Sabías que…?
Existen más de 700 lenguajes de
programación, cada uno con
características y términos únicos.
Muchos de ellos aún se utilizan.
¡Hoy conocerás uno de ellos!
4
Utilidad
• Menciona tres programas que
uses regularmente.
• ¿Sabes qué se necesita para
crear un programa?
Conocer el proceso para la
creación de un programa.
5
Prueba de entrada
• Tiempo: 15 minutos.
• Nro. de ejercicios: 01.
• Resuelve la prueba individualmente,
para que ésta tenga el mejor efecto.
• Utiliza PSeInt o lápiz y papel​.
• Nota: La prueba de entrada es un
instrumento para verificar tu nivel de
conocimiento en programación.
Imagen obtenida de: https://cdn-wordpress-info.futurelearn.com/wp-content/uploads/d475f3e6-7998-4e2e-ba62-b5169abfb598-754x503.png
6
Introducción a Java
1
Compilación y ejecución de
Java (JVM)
2
JDK: Entorno de ejecución y
bibliotecas de Java
3
El lenguaje Java
4
contenido
7
Transformación
Introducción a Java
1
8
¿Qué es un algoritmo?
Conjunto de instrucciones
que detalla una secuencia
de pasos concretos a
realizar, en orden, para
resolver un problema
específico.
Entrada Salida
9
Ejemplo de algoritmo
“Solicita el valor de
compra y si éste supera
los 100 soles aplica un
descuento del 10% y
muestra el monto
resultante”
10
¿Qué es un programa?
• Es un conjunto instrucciones que son interpretadas y
ejecutadas por una computadora.
public class Descuento {
public static void main(String[] args) {
double valorCompra;
Scanner entrada = new Scanner(System.in);
System.out.println("Ingrese valor de compra: ");
valorCompra = entrada.nextDouble();
if (valorCompra > 100) {
valorCompra = valorCompra * 0.9;
}
System.out.println("Pagará: " + valorCompra);
}
}
Ingrese valor de compra:
146.50
Pagará: 131.85
Programa escrito en lenguaje Java Programa en ejecución
11
¿Qué es un lenguaje de
programación?
• Es un lenguaje formal*
utilizado para escribir
programas y controlar el
comportamiento de un
sistema informático.
* utiliza reglas, palabras definidas,
gramática y puntuación
específicos.
Imagen obtenida de: https://www.macworld.com/wp-content/uploads/2023/01/which_programming_language_to_learn.jpg?quality=50&strip=all
12
Programación
• Es el proceso de escritura
de código (reconocible
para la computadora)
utilizando un lenguaje de
programación.
• A la programación también
se le conoce como
codificación (coding,
programming)
Código fuente
(source code).
Programador (programmer, computer programmer) o
Desarrollador (developer, software developer)
Imagen obtenida de; https://surry.edu/uploads/images/_videoPoster/computer-programmer.jpg
13
Compilador
• Un compilador es un programa que traduce el código de un
programa a lenguaje máquina.
Compilador
1010001
0101101
0101010
Compilación
Programa fuente
(lenguaje de alto
nivel)
Programa
ejecutable
(lenguaje de bajo
nivel o máquina)
Salida
14
Intérprete
• Un intérprete es un traductor que toma un programa fuente y lo
traduce línea por línea.
Intérprete
1010001
0101101
0101010
Traducción de
una línea de
código
Programa fuente
(lenguaje de alto
nivel)
Código ejecutable
(lenguaje de bajo
nivel o máquina)
Programa fuente
(lenguaje de alto
nivel)
Salida
15
Compilación y ejecución de Java
(JVM)
2
16
¿Y cómo se creó Java?
Imágenes extraídas de: https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Sun-Logo.svg/1200px-Sun-Logo.svg.png / https://1000logos.net/wp-content/uploads/2020/09/Java-Logo.png
https://dri.es/files/images/blog/james-gosling.jpg / https://miro.medium.com/max/600/0*QCqRjzCc_QPux8C7.png
Sun Microsystems
patrocinó en 1991 un
proyecto de
investigación dirigido
por James Gosling.
El resultado: un
lenguaje de
programación
orientado a objetos
llamado Java.
El objetivo: escribir
programas que se
ejecuten en diversos
sistemas y dispositivos
(multiplataforma).
17
¿Cómo se ejecuta un programa
multiplataforma? (Java)
Compilador (javac)
Bytecode (.class)
JVM
(Windows)
Código máquina
JVM
(Linux)
Código máquina
JVM
(macOS)
Código máquina
Código fuente (.java)
"Write Once Run Anywhere"
18
Pasos para compilar y ejecutar
un programa en Java
Fase 3.
Carga y
ejecución
Fase 2. Compilación
1010001
0101101
0101010
Programador
Java
.java
(código fuente)
Compilador
javac
.class
(bytecode
)
Computadora Código de
bajo nivel
Máquina
Virtual Java
Fase 1. Edición
Adaptado de: https://ucarecdn.com/6d0cfa9e-67ab-4d27-a145-3f2a53603d52/ / https://sites.google.com/site/beginnerofcs/object-oriented-program/five-phases-in-java-programs-1
19
Compilando el código
• javac es el compilador de Java.
• Traduce los archivos *.java en archivos
*.class
• Los archivos .class contienen el bytecode.
• Los archivos .class pueden empaquetarse
en un archivo .jar (java archive)
• Los archivos .class o .jar se ejecutan en el
JRE usando java.exe (Windows)
20
Bytecode
• Tradicionalmente, la compilación
es el proceso de traducir código
fuente en código objeto utilizando
un compilador.
• JVM, en cambio, genera bytecode
como resultado de la compilación
(javac).
• Java cumple el principio WORA:
"Write Once Run Anywhere", al ser
multiplataforma.
1010001
0101101
0101010
bytecode
El nombre bytecode viene del hecho
que cada operando ocupa solo 1 byte.
21
¿Y quién ejecuta los programas?
• JVM: Java Virtual Machine.
• Es una computadora abstracta
responsable de la ejecución de los
programas.
• Convierte bytecode en código máquina.
• Disponible para múltiples plataformas
(Windows, Linux, macOS, etc.)
• Permite que los programas Java sean
independientes de la plataforma.
Imagen obtenida de: https://www.pngmart.com/files/22/Processor-PNG-Transparent-Image.png
22
JDK: Entorno de ejecución y
bibliotecas de Java
3
23
¿Qué es el JDK?
• JDK: Java Development Kit.
• Paquete para desarrollar y
ejecutar programas escritos
en Java.​
• Contiene herramientas de
desarrollo (compilador,
depurador, etc.)
JDK
Imágenes obtenidas de:
https://media.istockphoto.com/id/509114308/vector/programming-and-coding-icon-laptop.jpg?s=170667a&w=0&k=20&c=Z0TIByo3J3FAhOO01TPRpJj1tfxpEabBpZnu5XFvIF0=
https://cdn-icons-png.flaticon.com/512/8297/8297318.png
24
JVM, JDK y JRE
Java Development Kit (JDK)
Java Runtime
Environment (JRE)
Development Tools
Java Virtual
Machine (JVM)
Libraries
Java compiler
Other tools
25
El lenguaje Java
4
26
¿Qué caracteriza a Java?
• Lenguaje orientado a objetos
(diseño basado en clases).
• Independiente de la plataforma.
• Sencillo de aprender.
• Fuertemente tipado.
• Seguro y portable.
• Robusto y de alto desempeño.
• Interpretado (bytecode).
Imagen extraída de: https://1000marcas.net/wp-content/uploads/2020/11/Java-logo.png
27
Java SE
• Es la edición de Java más utilizada.
• Incluye funcionalidad básica del
lenguaje.
• Incluye desde tipos básicos hasta
clases de alto nivel (GUI, bases de
datos, seguridad, XML, etc.)
• Usado en aplicaciones de consola,
GUIs o bibliotecas.
Imagen extraída de: http://www.snapedu.in/wp-content/uploads/2016/11/java-se.png
28
¿Qué necesito para programar
en Java?
Procesador de
32/64 bits
4 GB de memoria
RAM (mínimo)
2 GB espacio libre
en disco duro
Sistema Operativo
IDE o Editor
de Código
29
…necesitas también un IDE
• IDE: Integrated Development Environment.
• Software que provee herramientas y utilidades para escribir
programas en un entorno sencillo y productivo.
• Consta mínimamente de: un editor de código, herramientas
de construcción y depuración, compilador o intérprete, etc.
• Los IDEs Java más populares son:
Imágenes obtenidas de:
http://daviddelatorre.me/wp-content/uploads/2017/06/intellij.png / https://www.andreszsogon.com/wp-content/uploads/logo_apache_netbeans_cordova.png
https://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Eclipse-Luna-Logo.svg/2560px-Eclipse-Luna-Logo.svg.png
30
¿Cómo es un programa en Java?
package pe.edu.utp.miapp;
public class Demo
{
public static void main(String[] args)
{
System.out.println("Hola Mundo!");
}
}
Palabras clave
(keywords)
Paquete
Nombre de
la clase
Bloque de
código de
la clase
Código fuente
31
Paquetes
• Es un contenedor de recursos.
• Permite agrupar y organizar clases.
• Pueden contener sub-paquetes.
• Convenciones para nombrarlos:
• Utilizar sólo minúsculas.
• Emplea una jerarquía DNS inversa.
• Todas las clases en Java están
organizadas en paquetes.
32
¿Qué es “public class”?
• Es la declaración de una clase.
• Cada programa Java tiene al menos
una clase.
• El nombre de la clase no puede
empezar con un dígito.
• Por convención, la primera letra del
nombre de la clase va en mayúsculas.
• El código fuente de la clase está
delimitado por llaves {…}
public class MiClase
{
// instrucciones
}
33
Método main()
• Convierte a una clase en una clase ejecutable.
• Es el punto de entrada de un programa Java.
public static void main(String[] args) {
// instrucciones
}
Describe un arreglo de
cadenas como parámetro
Accesible desde fuera del paquete
El método no retorna ningún valor
Puede invocarse sin crear una instancia de clase (objeto)
34
Práctica
Te voy a dar tres pistas:
• Puede escribirse en lenguaje natural.
• Se puede representar gráficamente con diagramas de flujo.
• Describe una secuencia de pasos para resolver un problema.
Estamos hablando de un…
Guía Algoritmo Programa Seudocódigo
35
Completa la frase
Un _______________ escribe _______________ usando un
__________________ para crear un _________________.
36
De Código a Binario
Traduce el código fuente a lenguaje máquina línea por línea.
Intérprete Compilador IDE
Programador
37
Programando…
En esta caja hay un programa que
provee herramientas y utilidades para
escribir programas en un entorno
sencillo y amigable ¿Cuál será?
JVM
IDE
JDK
Java SE
38
Cierre
• ¿Qué ventajas ofrece el lenguaje
Java?
• ¿Qué es JDK?
• ¿Qué estructura tiene un
programa en Java?
• ¿Para qué sirve el método main()?
• Menciona y describe tres tipos de
datos primitivos.
Imagen obtenida de:
https://dpemfoco.com.br/wp-content/uploads/2019/08/Departamento-de-Pessoal-em-Foco-Checklist-Check-list-Checklists.png
39
Bibliografía
Schildt, Herbert
(2019). A Java
Beginner’s Guide
Eighth Edition.
Oracle Press.
Ceballos, Javier (2006) Java 2:
Lenguaje y aplicaciones.
Editorial Ra-Ma.
https://tubiblioteca.utp.edu.pe/cgi-
bin/koha/TB-detail.pl?biblionumber=30940
Prieto, Natividad (2014) Empezar a
programar usando Java. 2da
Edición. Editorial de la Universidad
Politécnica de Valencia.
https://tubiblioteca.utp.edu.pe/cgi-
bin/koha/opac-detail.pl?biblionumber=36578
Khalid A. Mughal &
Rolf W. Rasmussen
(2017). A
Programmer’s
guide to Java SE
8. Oracle Certified
Associate.
Schildt, Herbert
(2022). Java The
Complete
Reference
Twelfth Edition.
McGraw Hill.
40
DCI_I50N_PPT_INTROAJAVA_S1_24C2A  UTP 2025

Más contenido relacionado

PPTX
Taller+Programa.pptx de la clases1234567
PDF
Taller Programacion estudiante tecnico academico
PPT
Introduccion java
PDF
Lenguaje de programacion java
PDF
FPJUCE - Capitulo1
PDF
Introduccion_a_la_programacion_con_Java_
PDF
Tutorial de eclipse 2
PPTX
Introducción a la progrogramación orientada a objetos - Java
Taller+Programa.pptx de la clases1234567
Taller Programacion estudiante tecnico academico
Introduccion java
Lenguaje de programacion java
FPJUCE - Capitulo1
Introduccion_a_la_programacion_con_Java_
Tutorial de eclipse 2
Introducción a la progrogramación orientada a objetos - Java

Similar a DCI_I50N_PPT_INTROAJAVA_S1_24C2A UTP 2025 (20)

PDF
C1 intro java
PDF
[ES] Introdución a la plataforma java
PDF
Java basico
PPT
Java world
PPT
Introduccion Java.ppt
PPTX
PPTX
L de progra
PPT
Semana9 Vbr
PPT
JAVA BASICO PARA PRINCIPIANTES ESPECIALMENTE
PDF
Curso Java Resumen - Curso 2005-2006
PPT
TUTORIAL JAVA
PPT
JAVA.PPT
PPT
JAVA (1).PPT
PPT
JAVA (1).PPT
PPT
JAVA PARA PRINCIPIANTES2342342432231.PPT
PPTX
Introducción a Java
PPTX
PDF
Lenguaje Java
PPTX
Unidad 2. Lenguaje orientado a objetos
PPTX
Presentación.pptx
C1 intro java
[ES] Introdución a la plataforma java
Java basico
Java world
Introduccion Java.ppt
L de progra
Semana9 Vbr
JAVA BASICO PARA PRINCIPIANTES ESPECIALMENTE
Curso Java Resumen - Curso 2005-2006
TUTORIAL JAVA
JAVA.PPT
JAVA (1).PPT
JAVA (1).PPT
JAVA PARA PRINCIPIANTES2342342432231.PPT
Introducción a Java
Lenguaje Java
Unidad 2. Lenguaje orientado a objetos
Presentación.pptx
Publicidad

Más de ssusere22d5b (20)

PPTX
PPT sesión 5. Diseño y Prototipo Centrado en el Usuario
PPTX
PPT sesión 6 Evaluacion de la Interfaz de Usuario
PPTX
Diagramas_Forrester Para el diseño de comportamientos
PPTX
Representación de problemas de juegos humano – máquina.pptx
PPTX
FIGURAS GEOMETRICAS EN 2D PARA APRENDER 2
PPTX
METODOLOGIAS PARA EL DESARROLLO DE SISTEMAS
PDF
DCI_I50N_PPT_TEORIADEARREGLOS_S1_24C2A.pptx.pdf
PDF
DCI_I50N_PPT_MANEJODEEXCEPCIONES_S2_24C2A.pptx.pdf
PDF
DCI_I50N_PPT_INTROAJAVA_S2_24C2A UTP 2025
PDF
S02.s1 - Algoritmos de Ordenación Interna UTP
PDF
S01.s2 - Complejidad Algorítmica UTP 2025
PPTX
CLASES Y OBJETOS EN JAVA PARA PRINCIPIANTES
PPTX
ESTRUCTURAS REPETITIVAS EN JAVA 2025 PARA TODOS
PPTX
PPT sesión 10. Universidad Católica de Trujillo
PPTX
PPT sesión 9. Universidad Católica de Trujillo
PPTX
Semana 01 – Tema 1 - Autoevaluacion.pptx
PPTX
Semana 01 – Tema 2 - Autoevaluacion.pptx
PPTX
ilide.info-presentacion-relaciones-de-recurrencia-pr_faa2f6a0efb08b970cc05b59...
PPTX
CONCEPTOS-Y-EJERCICIOS-DE-ELIPSES-E-HIPERBOLA.pptx
PPTX
PPT sesión 1 - INTRODUCCIÓN A LA DIDÁCTICA
PPT sesión 5. Diseño y Prototipo Centrado en el Usuario
PPT sesión 6 Evaluacion de la Interfaz de Usuario
Diagramas_Forrester Para el diseño de comportamientos
Representación de problemas de juegos humano – máquina.pptx
FIGURAS GEOMETRICAS EN 2D PARA APRENDER 2
METODOLOGIAS PARA EL DESARROLLO DE SISTEMAS
DCI_I50N_PPT_TEORIADEARREGLOS_S1_24C2A.pptx.pdf
DCI_I50N_PPT_MANEJODEEXCEPCIONES_S2_24C2A.pptx.pdf
DCI_I50N_PPT_INTROAJAVA_S2_24C2A UTP 2025
S02.s1 - Algoritmos de Ordenación Interna UTP
S01.s2 - Complejidad Algorítmica UTP 2025
CLASES Y OBJETOS EN JAVA PARA PRINCIPIANTES
ESTRUCTURAS REPETITIVAS EN JAVA 2025 PARA TODOS
PPT sesión 10. Universidad Católica de Trujillo
PPT sesión 9. Universidad Católica de Trujillo
Semana 01 – Tema 1 - Autoevaluacion.pptx
Semana 01 – Tema 2 - Autoevaluacion.pptx
ilide.info-presentacion-relaciones-de-recurrencia-pr_faa2f6a0efb08b970cc05b59...
CONCEPTOS-Y-EJERCICIOS-DE-ELIPSES-E-HIPERBOLA.pptx
PPT sesión 1 - INTRODUCCIÓN A LA DIDÁCTICA
Publicidad

Último (20)

PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PPTX
GEOLOGIA, principios , fundamentos y conceptos
PPTX
Seminario de telecomunicaciones para ingeniería
PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PDF
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PDF
Perfilaje de Pozos _20250624_222013_0000.pdf
PPTX
Gestion de seguridad y salud ocupacional.pptx
PDF
Durabilidad del concreto en zonas costeras
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
NILS actividad 4 PRESENTACION.pptx pppppp
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
GEOLOGIA, principios , fundamentos y conceptos
Seminario de telecomunicaciones para ingeniería
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
S15 Protección de redes electricas 2025-1_removed.pdf
1132-2018 espectrofotometro uv visible.pdf
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
357161027-seguridad-industrial-diapositivas-ppt.ppt
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
Manual ISO9001_2015_IATF_16949_2016.pptx
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
prg2_t01_p01_Fundamentos POO - parte1.pdf
Perfilaje de Pozos _20250624_222013_0000.pdf
Gestion de seguridad y salud ocupacional.pptx
Durabilidad del concreto en zonas costeras
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...

DCI_I50N_PPT_INTROAJAVA_S1_24C2A UTP 2025

  • 1. Taller de Programación Sesión 1 Introducción al lenguaje de programación Java (I)
  • 2. Revisamos el sílabo • Dentro de este documento encontraremos información sobre el curso, incluyendo: • Logro del curso. • Cronograma de actividades. • Sistema de evaluación. • Bibliografía. 2
  • 3. Logro de aprendizaje Al finalizar la sesión, el estudiante conoce las principales características de la plataforma y lenguaje Java mediante la observación, lectura y desarrollo de actividades prácticas. Imagen obtenida de: https://www.euroschoolindia.com/wp-content/uploads/2023/08/impact-of-school-leadership.jpg 3
  • 4. Inicio ¿Sabías que…? Existen más de 700 lenguajes de programación, cada uno con características y términos únicos. Muchos de ellos aún se utilizan. ¡Hoy conocerás uno de ellos! 4
  • 5. Utilidad • Menciona tres programas que uses regularmente. • ¿Sabes qué se necesita para crear un programa? Conocer el proceso para la creación de un programa. 5
  • 6. Prueba de entrada • Tiempo: 15 minutos. • Nro. de ejercicios: 01. • Resuelve la prueba individualmente, para que ésta tenga el mejor efecto. • Utiliza PSeInt o lápiz y papel​. • Nota: La prueba de entrada es un instrumento para verificar tu nivel de conocimiento en programación. Imagen obtenida de: https://cdn-wordpress-info.futurelearn.com/wp-content/uploads/d475f3e6-7998-4e2e-ba62-b5169abfb598-754x503.png 6
  • 7. Introducción a Java 1 Compilación y ejecución de Java (JVM) 2 JDK: Entorno de ejecución y bibliotecas de Java 3 El lenguaje Java 4 contenido 7
  • 9. ¿Qué es un algoritmo? Conjunto de instrucciones que detalla una secuencia de pasos concretos a realizar, en orden, para resolver un problema específico. Entrada Salida 9
  • 10. Ejemplo de algoritmo “Solicita el valor de compra y si éste supera los 100 soles aplica un descuento del 10% y muestra el monto resultante” 10
  • 11. ¿Qué es un programa? • Es un conjunto instrucciones que son interpretadas y ejecutadas por una computadora. public class Descuento { public static void main(String[] args) { double valorCompra; Scanner entrada = new Scanner(System.in); System.out.println("Ingrese valor de compra: "); valorCompra = entrada.nextDouble(); if (valorCompra > 100) { valorCompra = valorCompra * 0.9; } System.out.println("Pagará: " + valorCompra); } } Ingrese valor de compra: 146.50 Pagará: 131.85 Programa escrito en lenguaje Java Programa en ejecución 11
  • 12. ¿Qué es un lenguaje de programación? • Es un lenguaje formal* utilizado para escribir programas y controlar el comportamiento de un sistema informático. * utiliza reglas, palabras definidas, gramática y puntuación específicos. Imagen obtenida de: https://www.macworld.com/wp-content/uploads/2023/01/which_programming_language_to_learn.jpg?quality=50&strip=all 12
  • 13. Programación • Es el proceso de escritura de código (reconocible para la computadora) utilizando un lenguaje de programación. • A la programación también se le conoce como codificación (coding, programming) Código fuente (source code). Programador (programmer, computer programmer) o Desarrollador (developer, software developer) Imagen obtenida de; https://surry.edu/uploads/images/_videoPoster/computer-programmer.jpg 13
  • 14. Compilador • Un compilador es un programa que traduce el código de un programa a lenguaje máquina. Compilador 1010001 0101101 0101010 Compilación Programa fuente (lenguaje de alto nivel) Programa ejecutable (lenguaje de bajo nivel o máquina) Salida 14
  • 15. Intérprete • Un intérprete es un traductor que toma un programa fuente y lo traduce línea por línea. Intérprete 1010001 0101101 0101010 Traducción de una línea de código Programa fuente (lenguaje de alto nivel) Código ejecutable (lenguaje de bajo nivel o máquina) Programa fuente (lenguaje de alto nivel) Salida 15
  • 16. Compilación y ejecución de Java (JVM) 2 16
  • 17. ¿Y cómo se creó Java? Imágenes extraídas de: https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Sun-Logo.svg/1200px-Sun-Logo.svg.png / https://1000logos.net/wp-content/uploads/2020/09/Java-Logo.png https://dri.es/files/images/blog/james-gosling.jpg / https://miro.medium.com/max/600/0*QCqRjzCc_QPux8C7.png Sun Microsystems patrocinó en 1991 un proyecto de investigación dirigido por James Gosling. El resultado: un lenguaje de programación orientado a objetos llamado Java. El objetivo: escribir programas que se ejecuten en diversos sistemas y dispositivos (multiplataforma). 17
  • 18. ¿Cómo se ejecuta un programa multiplataforma? (Java) Compilador (javac) Bytecode (.class) JVM (Windows) Código máquina JVM (Linux) Código máquina JVM (macOS) Código máquina Código fuente (.java) "Write Once Run Anywhere" 18
  • 19. Pasos para compilar y ejecutar un programa en Java Fase 3. Carga y ejecución Fase 2. Compilación 1010001 0101101 0101010 Programador Java .java (código fuente) Compilador javac .class (bytecode ) Computadora Código de bajo nivel Máquina Virtual Java Fase 1. Edición Adaptado de: https://ucarecdn.com/6d0cfa9e-67ab-4d27-a145-3f2a53603d52/ / https://sites.google.com/site/beginnerofcs/object-oriented-program/five-phases-in-java-programs-1 19
  • 20. Compilando el código • javac es el compilador de Java. • Traduce los archivos *.java en archivos *.class • Los archivos .class contienen el bytecode. • Los archivos .class pueden empaquetarse en un archivo .jar (java archive) • Los archivos .class o .jar se ejecutan en el JRE usando java.exe (Windows) 20
  • 21. Bytecode • Tradicionalmente, la compilación es el proceso de traducir código fuente en código objeto utilizando un compilador. • JVM, en cambio, genera bytecode como resultado de la compilación (javac). • Java cumple el principio WORA: "Write Once Run Anywhere", al ser multiplataforma. 1010001 0101101 0101010 bytecode El nombre bytecode viene del hecho que cada operando ocupa solo 1 byte. 21
  • 22. ¿Y quién ejecuta los programas? • JVM: Java Virtual Machine. • Es una computadora abstracta responsable de la ejecución de los programas. • Convierte bytecode en código máquina. • Disponible para múltiples plataformas (Windows, Linux, macOS, etc.) • Permite que los programas Java sean independientes de la plataforma. Imagen obtenida de: https://www.pngmart.com/files/22/Processor-PNG-Transparent-Image.png 22
  • 23. JDK: Entorno de ejecución y bibliotecas de Java 3 23
  • 24. ¿Qué es el JDK? • JDK: Java Development Kit. • Paquete para desarrollar y ejecutar programas escritos en Java.​ • Contiene herramientas de desarrollo (compilador, depurador, etc.) JDK Imágenes obtenidas de: https://media.istockphoto.com/id/509114308/vector/programming-and-coding-icon-laptop.jpg?s=170667a&w=0&k=20&c=Z0TIByo3J3FAhOO01TPRpJj1tfxpEabBpZnu5XFvIF0= https://cdn-icons-png.flaticon.com/512/8297/8297318.png 24
  • 25. JVM, JDK y JRE Java Development Kit (JDK) Java Runtime Environment (JRE) Development Tools Java Virtual Machine (JVM) Libraries Java compiler Other tools 25
  • 27. ¿Qué caracteriza a Java? • Lenguaje orientado a objetos (diseño basado en clases). • Independiente de la plataforma. • Sencillo de aprender. • Fuertemente tipado. • Seguro y portable. • Robusto y de alto desempeño. • Interpretado (bytecode). Imagen extraída de: https://1000marcas.net/wp-content/uploads/2020/11/Java-logo.png 27
  • 28. Java SE • Es la edición de Java más utilizada. • Incluye funcionalidad básica del lenguaje. • Incluye desde tipos básicos hasta clases de alto nivel (GUI, bases de datos, seguridad, XML, etc.) • Usado en aplicaciones de consola, GUIs o bibliotecas. Imagen extraída de: http://www.snapedu.in/wp-content/uploads/2016/11/java-se.png 28
  • 29. ¿Qué necesito para programar en Java? Procesador de 32/64 bits 4 GB de memoria RAM (mínimo) 2 GB espacio libre en disco duro Sistema Operativo IDE o Editor de Código 29
  • 30. …necesitas también un IDE • IDE: Integrated Development Environment. • Software que provee herramientas y utilidades para escribir programas en un entorno sencillo y productivo. • Consta mínimamente de: un editor de código, herramientas de construcción y depuración, compilador o intérprete, etc. • Los IDEs Java más populares son: Imágenes obtenidas de: http://daviddelatorre.me/wp-content/uploads/2017/06/intellij.png / https://www.andreszsogon.com/wp-content/uploads/logo_apache_netbeans_cordova.png https://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Eclipse-Luna-Logo.svg/2560px-Eclipse-Luna-Logo.svg.png 30
  • 31. ¿Cómo es un programa en Java? package pe.edu.utp.miapp; public class Demo { public static void main(String[] args) { System.out.println("Hola Mundo!"); } } Palabras clave (keywords) Paquete Nombre de la clase Bloque de código de la clase Código fuente 31
  • 32. Paquetes • Es un contenedor de recursos. • Permite agrupar y organizar clases. • Pueden contener sub-paquetes. • Convenciones para nombrarlos: • Utilizar sólo minúsculas. • Emplea una jerarquía DNS inversa. • Todas las clases en Java están organizadas en paquetes. 32
  • 33. ¿Qué es “public class”? • Es la declaración de una clase. • Cada programa Java tiene al menos una clase. • El nombre de la clase no puede empezar con un dígito. • Por convención, la primera letra del nombre de la clase va en mayúsculas. • El código fuente de la clase está delimitado por llaves {…} public class MiClase { // instrucciones } 33
  • 34. Método main() • Convierte a una clase en una clase ejecutable. • Es el punto de entrada de un programa Java. public static void main(String[] args) { // instrucciones } Describe un arreglo de cadenas como parámetro Accesible desde fuera del paquete El método no retorna ningún valor Puede invocarse sin crear una instancia de clase (objeto) 34
  • 35. Práctica Te voy a dar tres pistas: • Puede escribirse en lenguaje natural. • Se puede representar gráficamente con diagramas de flujo. • Describe una secuencia de pasos para resolver un problema. Estamos hablando de un… Guía Algoritmo Programa Seudocódigo 35
  • 36. Completa la frase Un _______________ escribe _______________ usando un __________________ para crear un _________________. 36
  • 37. De Código a Binario Traduce el código fuente a lenguaje máquina línea por línea. Intérprete Compilador IDE Programador 37
  • 38. Programando… En esta caja hay un programa que provee herramientas y utilidades para escribir programas en un entorno sencillo y amigable ¿Cuál será? JVM IDE JDK Java SE 38
  • 39. Cierre • ¿Qué ventajas ofrece el lenguaje Java? • ¿Qué es JDK? • ¿Qué estructura tiene un programa en Java? • ¿Para qué sirve el método main()? • Menciona y describe tres tipos de datos primitivos. Imagen obtenida de: https://dpemfoco.com.br/wp-content/uploads/2019/08/Departamento-de-Pessoal-em-Foco-Checklist-Check-list-Checklists.png 39
  • 40. Bibliografía Schildt, Herbert (2019). A Java Beginner’s Guide Eighth Edition. Oracle Press. Ceballos, Javier (2006) Java 2: Lenguaje y aplicaciones. Editorial Ra-Ma. https://tubiblioteca.utp.edu.pe/cgi- bin/koha/TB-detail.pl?biblionumber=30940 Prieto, Natividad (2014) Empezar a programar usando Java. 2da Edición. Editorial de la Universidad Politécnica de Valencia. https://tubiblioteca.utp.edu.pe/cgi- bin/koha/opac-detail.pl?biblionumber=36578 Khalid A. Mughal & Rolf W. Rasmussen (2017). A Programmer’s guide to Java SE 8. Oracle Certified Associate. Schildt, Herbert (2022). Java The Complete Reference Twelfth Edition. McGraw Hill. 40