Taller de Programación
Sesión 2
Introducción al lenguaje de programación Java (II)
¿Tienes alguna duda o consulta sobre la
sesión anterior?
Logro de aprendizaje
Al finalizar la sesión, el estudiante
conoce las principales características
del lenguaje de programación Java
mediante la resolución de ejercicios
utilizando un IDE.
Imagen obtenida de: https://www.euroschoolindia.com/wp-content/uploads/2023/08/impact-of-school-leadership.jpg
3
Inicio
¿Sabías que…?
El logo de Java se debe al café que
consumían quienes lo desarrollaron,
el Java Coffee Beans, proveniente
de la isla de Java, en Indonesia.
¡Hoy conoceremos más de Java!
1996 2004
4
Conocimientos previos
Mira el seudocódigo:
Proceso FahrenheitACelsius
Definir gradosFahrenheit Como Entero
¿Reconoces qué son y Definir gradosCelsius Como Real
Escribir "Ingrese temperatura en grados Fahrenheit:"
para qué sirven las Leer gradosFahrenheit
palabras en azul y gris? gradosCelsius = (gradosFahrenheit - 32) * 5 / 9
Escribir "Temperatura grados Celcius: ", gradosCelsius
FinProceso
5
Utilidad
• ¿Qué escribimos para resolver un
problema?
Problema
• Y luego ¿En qué lo transformamos?
• ¿Cómo lo podemos implementar? Secuencia de
instrucciones
Programar secuencias de instrucciones
utilizando el lenguaje Java para resolver
Java
un problema.
6
contenido
1
Tipos de datos
2
Identificadores, variables y
constantes
3
Asignación e inicialización de
variables
4
Salida por pantalla:
System.out.println()
5
Entrada mediante teclado: la
clase Scanner
7
Transformación
1
Tipos de datos
8
Tipos de datos
primitivos en Java byte
short
Entero
int
long
Numérico
float
Real
Tipos de Datos double
Primitivos
Caracter char
Lógico boolean
9
Tipos de datos
primitivos en Java
Categoría Tipo Longitud Rango de valores
byte 8 bits -128 hasta 127
short 16 bits (entero corto) -32,768 hasta 32,767
Entero
int 32 bits -231 hasta 231-1
long 64 bits (entero largo) -263 hasta 263-1
32 bits
float -263 hasta 263-1
(punto flotante de simple precisión)
Real
64 bits
double -2511 hasta 2511-1
(punto flotante de doble precisión)
0 hasta 65535
Caracter char 16 bits
(Unicode)
Lógico boolean 1 bit true, false
10
Tipos de datos
referenciados en Java
• Conocidos como
no-primitivos. Predefinidas Object, String, Math,
Scanner, etc.
• No almacenan Class
Definidas por el
usuario
directamente en List, Driver,
Predefinidas
valor de la variable. Interface Connection, Set, etc.
Tipos de Datos Definidas por el
• En su lugar se Referenciados usuario
almacena la Array
dirección en memoria de
la variable que contiene Enum
en valor.
11
2
Identificadores, variables y
constantes
12
Identificadores
• Secuencia descriptiva de letras, Válidos
números y caracteres especiales ($ y _). pagoMensual
Suma
• Permiten nombrar variables, _promedio
x
constantes, clases, etc. $test
es_Par
• No deben iniciar con un número. No válidos
• Java es case-sensitive (el identificador pago-Mensual
sum@
pagoMensual es diferente a 4test
PagoMensual) No/valido
Suma Total
const
13
Variables
• Unidad básica de almacenamiento en Java. Representación
gráfica de una
• Definida por la combinación de un variable
identificador, un tipo, y un inicializador esPar
(opcional). true
• Tienen un alcance que define su visibilidad y salario
tiempo de vida.
2358.50
• Son almacenadas en espacios de la memoria.
edad
• Pueden cambiar su valor durante la
ejecución del programa. 19
14
Variables
tipo miVariable [= valor]
El tipo puede ser un tipo Valor inicial de la
atómico de Java, o el nombre variable (opcional)
Nombre de
de una clase o interfaz
la variable
Ejemplos:
int a, b, c; // declara tres enteros: a, b, y c
int d = 3, e, f = 5; // declara tres enteros e inicializa dos de ellos
byte z = 22; // declara e inicializa z
double pi = 3.14159; // declara una aproximación de pi
char x = 'x'; // la variable x tiene el valor 'x'
15
Constantes
• Son almacenadas en espacios reservados de la memoria
cuyo contenido NO puede modificarse (inmutable).
• Por convención, se les nombra en mayúsculas.
• Se declaran como una variable y anteponiendo la palabra
final.
final double VELOCIDAD_DE_LUZ = 299792458.0;
retardoPropagacion = distancia / VELOCIDAD_DE_LUZ;
16
Palabras reservadas (keywords)
• Palabra predefinida con significado especial para el
compilador.
• Forman parte de la
sintaxis del lenguaje. package pe.edu.utp.tallerprogramacion;
public class HelloUTP {
• No pueden usarse public static void main(String[] args) {
como identificadores System.out.println("Hello! UTP");
}
en los programas. }
Palabra reservada (keyword)
17
Palabras reservadas (keywords)
abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while
const y goto son palabras reservadas, pero no están en uso.
18
3
Asignación e inicialización de
variables
19
Asignación
• Es darle un valor a una variable antes de utilizarla.
int unidades; Cadena de
int x, y, z;
double precio, total; asignaciones
x = y = z = 100;
unidades = 12;
x = x + 10; Asignaciones equivalentes.
precio = 25.99;
La segunda línea muestra
total = unidades * precio; x += 10; una asignación abreviada,
cuando la misma variable
actúa como emisora.
System.out.println("Total a pagar: " + total);
20
Inicialización
• Significa darle un valor cuando ésta es declarada.
int unidades = 12;
double precio = 25.99;
double total = unidades * precio;
Inicialización dinámica (en tiempo de ejecución)
21
4
Salida por pantalla:
System.out.println()
22
Salida por pantalla
• El método utilizado es println()
(print line)
• Le indica a la computadora mostrar Programando en Java _
algo en la pantalla: texto, variables,
objetos y otros elementos.
• Agrega un salto de línea luego de
la impresión.
23
System.out.println()
Referido al sistema (computadora) Texto a imprimir
System.out.println("Hello! UTP");
Referido a la salida Referido al método que realiza la
estándar (monitor) impresión (print line)
24
Secuencias de escape
Secuencia de escape Descripción
\’ Comilla simple
\” Comilla doble
\\ Backslash
\r Retorno de carro
\n Nueva línea
\t Tab
\b Backspace
System.out.println("\n\t\"Steve Jobs\" announced the \niPhone in 2007.");
Salida:
"Steve Jobs" announced the
iPhone in 2007.
25
5
Entrada mediante teclado: la
clase Scanner
26
Clase Scanner
• Clase para leer datos desde diversas fuentes, entre ellas, el
teclado.
• Divide datos en tokens usando un delimitador (por defecto
espacio en blanco)
• Estos tokens pueden ser convertidos en diferentes tipos de
datos.
Scanner Aplicación Java
Imagen obtenida de: https://w7.pngwing.com/pngs/237/738/png-transparent-black-computer-keyboard-computer-keyboard-computer-mouse-computer-hardware-keyboard-
shortcut-keyboard-electronics-computer-electronic-device.png
27
Clase Scanner
• Está definida en el paquete java.util, por Las instrucciones
tanto, para utilizarla debemos importar import se colocan al
dicha clase: inicio del archivo,
luego de la
declaración del
import java.util.Scanner; paquete (package)
• Para crear un objeto Scanner utilizamos la System.in se usa
para leer desde la
siguiente instrucción: entrada estándar
(teclado, consola,
Scanner lector = new Scanner(System.in); archivo, etc.)
28
Métodos de la clase Scanner
Método Descripción
nextInt() Lee el siguiente token como un int
nextByte() Lee el siguiente token como un byte
nextBoolean() Lee el siguiente token como un boolean
nextFloat() Lee el siguiente token como un float
nextDouble() Lee el siguiente token como un double
nextLong() Lee el siguiente token como un long
nextLine() Lee la línea actual, incluyendo el salto de línea \n (Enter)
next().charAt(0) Para leer un solo caracter. next() retorna el siguiente token, mientras que
charAt(0) retorna el primer caracter del token devuelto.
Después de leer algún tipo de dato primitivo, use nextLine() para leer el \n dejado en cada lectura numérica.
Imagen obtenida de: https://media.istockphoto.com/id/891806884/vector/important-red-rubber-stamp-icon-on-transparent-background.jpg?s=170667a&w=0&k=20&c=vFVhpwQaWLpGYTJTuc7Qya78aI2WMK_0WaGEWzRjgQc=
29
Un ejemplo de uso de Scanner
import java.util.Scanner;
public class Prueba {
public static void main(String[] args) {
int edad;
System.out.println("Ingrese su edad: ");
Scanner lector = new Scanner(System.in);
Salida:
if (lector.hasNextInt()) {
edad = lector.nextInt(); Ingrese su edad: 25
lector.nextLine(); Usted tiene 25 años
System.out.println("Usted tiene " + edad + " años");
}
}
}
30
Scanner lector = new Scanner(System.in);
byte numeroHijos;
float talla;
double ingresoAnual;
boolean tieneSeguro;
System.out.println("Solicitud de datos\n");
System.out.print("Ingrese número de hijos: ");
numeroHijos = lector.nextByte();
lector.nextLine();
System.out.print("Ingrese su talla (metros): ");
Aquí otro
talla = lector.nextFloat();
lector.nextLine(); ejemplo
System.out.print("Ingreso económico anual: ");
ingresoAnual = lector.nextDouble();
lector.nextLine();
de uso de
System.out.print("¿Tiene seguro? (true|false): ");
tieneSeguro = lector.nextBoolean();
Scanner
lector.nextLine();
System.out.println("\nResumen de datos ingresados: \n");
System.out.printf("Número de hijos: %d \nTalla: %f \nIngresos: %f \nCon seguro: %b",
numeroHijos, talla, ingresoAnual, tieneSeguro);
31
Práctica
Juan está desarrollando un programa, pero no está
seguro cuáles de las siguientes instrucciones
inicializar de forma correcta una variable. Échale
una manito
int edad = 45; float contador = 0, total = 0;
float subtotal = 0f; int edad, numeroDeHijos;
double total = subtotal; edad = numeroDeHijos = 0;
32
¿Quién se equivoca?
Sonia Esteban Luis Cristina
Los datos leídos Scanner es un Para utilizar Scanner incluye el
por Scanner tipo de dato no Scanner, debe método nextDouble()
necesitan ser primitivo. crearse primero para leer datos de
convertidos una instancia u coma flotante de
explícitamente objeto de la doble precisión.
aplicando cast de clase.
tipos.
33
Buscando…
Ayúdanos a encontrar cuatro tipos primitivos:
w e c g b s f e
s i n t i h l n
s x n o n i o t
c c a r c r a d
h e e a h t t o
a o l l a n g b
r d o u b l e l
a m b y t e c e
34
Ejercicios
1. Descarga e instalación de un IDE Java
y del JDK (manual de instalación
disponible en la plataforma).
2. Escribir un programa que convierta
grados Centígrados en grados
Fahrenheit. Fórmula: F = (C * 9/5) + 32
3. Implementar un programa en Java que
permita convertir dólares a soles (tipo
de cambio: 3.72)
35
Para practicar en casa
1. Escribir un programa que calcule el área de una figura
geométrica cualquiera.
2. Escribir un programa que resuelva una fórmula matemática
que utilice al menos 3 variables.
3. Escribir un programa que, dado un monto total, lo
descomponga en monto a pagar e IGV (18%).
Y recuerda que ante cualquier duda o consulta puedes usar el foro, el chat o el
correo para contactar a tu docente. Él siempre estará dispuesto a ayudarte.
36
Cierre
• ¿Qué es una variable?
• ¿Qué es una constante?
• ¿Qué es una palabra reservada?
• ¿Para qué usamos println()?
• ¿Para qué usamos la clase
Scanner?
Imagen obtenida de: https://dpemfoco.com.br/wp-content/uploads/2019/08/Departamento-de-Pessoal-em-Foco-Checklist-Check-list-Checklists.png
37
Bibliografía
Ceballos, Javier (2006) Java 2: Prieto, Natividad (2014) Empezar a
Lenguaje y aplicaciones. programar usando Java. 2da
Editorial Ra-Ma. Edición. Editorial de la Universidad
https://tubiblioteca.utp.edu.pe/cgi- Politécnica de Valencia.
bin/koha/TB-detail.pl?biblionumber=30940 https://tubiblioteca.utp.edu.pe/cgi-
bin/koha/opac-detail.pl?biblionumber=36578
Khalid A. Mughal & Schildt, Herbert Schildt, Herbert
Rolf W. Rasmussen (2019). A Java (2022). Java The
(2017). A Beginner’s Guide Complete
Programmer’s Eighth Edition. Reference
guide to Java SE Oracle Press. Twelfth Edition.
8. Oracle Certified McGraw Hill.
Associate.
38