Logo Studenta

Taller de programacion sesion 02 - Patrick siyo mato

¡Este material tiene más páginas!

Vista previa del material en texto

Taller de programación
Luis Rojas Farro, Mg.
NO VALE REPETIR 
¿ALGO QUE RECUERDES DE LA CLASE ANTERIOR? 
Desarrollamos algoritmos, hicimos un programa secuencial en 
Netbeans, compilamos y ejecutamos,lo vimos en entorno no grafico, 
entendimos que es programa secuencial y tipos de variables.
Logro: 
Al termino de la sesión debemos 
entender 
Tipos de datos
Numéricos: Int,float, long,double
Operadores aritméticos
Tipo Char
Secuencias de escape
Cadenas de caracteres
Entrada : clase Scanner
Logro de la sesión: 
Contenido de la sesión
Semana 2:
Desarrollaremos ejercicios asociados a los tipos de datos que
analizaremos y profundizaremos en la clase Scanner.
Encabezado de la clase Main
Es un estándar utilizado por la JVM para iniciar la ejecución de cualquier 
programa Java. Dicho método se conoce como punto de entrada de 
la aplicación java.
•El método principal main de una Clase Java es inalterable, es este sentido inalterable se refiere a sus características:
Siempre debe incluir los calificadores : public y static.
•Nunca puede retornar un valor como resultado, por ende, siempre debe indicar el valor void como retorno.
•Su parámetro de entrada siempre será un array de String's (String[]) el cual es tomado de la linea de comandos o una fuente 
alterna.
•Aunque no es un requerimiento definir el método main dentro de toda Clase Java, dicho método representa el único mecanismo 
automático para
realizar tareas al invocarse una Clase, esto es, al momento de ejecutarse determinada Clase siempre será ejecutado todo el 
contenido dentro de
dicho método.
Firma del método main()
•Dicho método, se puede escribir de tres maneras diferentes sin que esto produzca un error.
public static void main(String args[]) {}
public static void main(String[] args){}
public static void main(String... args){}
El método main () en Java es estáticos, ya que puede ser invocado por el motor de tiempo de ejecución sin tener que crear una 
instancia de la clase padre.
Aunque se le suele dar el nombre de args, no es obligatorio que este parámetro se llame así podemos darle el nombre que mas nos 
guste por ejemplo: 
public static void main(String[] parametros){}
VARIABLES
VARIABLES
Tipos de datos primitivos en Java
Java cuenta con un pequeño conjunto de tipos de datos primitivos. Podríamos considerarlos fundamentales, ya que
la mayor parte de los demás tipos, los tipos estructurados o complejos, son composiciones a partir de estos más
básicos. Estos tipos de datos primitivos sirven para gestionar los tipos de información más básicos, como números de
diversas clases o datos de tipo verdadero/falso (también conocidos como "valores booleanos" o simplemente
"booleanos").
De estos tipos primitivos, ocho en total, seis de ellos están destinados a facilitar el trabajo con números. Podemos
agruparlos en dos categorías: tipos numéricos enteros y tipos numéricos en punto flotante. Los primeros permiten
operar exclusivamente con números enteros, sin parte decimal, mientras que el segundo grupo contempla también
números racionales o con parte decimal.
Tipos numéricos enteros
En Java existen cuatro tipos destinados a almacenar números enteros. La única diferencia entre ellos es el número
de bytes usados para su almacenamiento y, en consecuencia, el rango de valores que es posible representar con ellos.
Todos ellos emplean una representación que permite el almacenamiento de números negativos y positivos. El
nombre y características de estos tipos son los siguientes:
Byte: como su propio nombre denota, emplea un solo byte (8 bits) de almacenamiento. Esto permite almacenar valores
en el rango [-128, 127].
Short : usa el doble de almacenamiento que el anterior, lo cual hace posible representar cualquier valor en el rango [-
32.768, 32.767].
Int : emplea 4 bytes de almacenamiento y es el tipo de dato entero más empleado. El rango de valores que puede
representar va de -231 a 231-1.
Long : es el tipo entero de mayor tamaño, 8 bytes (64 bits), con un rango de valores desde -263 a 263-1.
Tipos numéricos en punto flotante
Los tipos numéricos en punto flotante permiten representar números tanto muy grandes como muy pequeños además 
de números decimales. Java dispone de 2 tipos concretos en esta categoría:
Float : conocido como tipo de precisión simple, emplea un total de 32 bits. Con este tipo de datos es posible 
representar números en el rango de 1.4x10-45 a 3.4028235x1038.
Double : sigue un esquema de almacenamiento similar al anterior, pero usando 64 bits en lugar de 32. Esto le permite 
representar valores en el rango de 4.9x10-324 a 1.7976931348623157x10308.
VARIABLES
Booleanos y caracteres
Aparte de los 6 tipos de datos que acabamos de ver, destinados a trabajar con números en 
distintos rangos, Java define otros dos tipos primitivos más:
Boolean : tiene la finalidad de facilitar el trabajo con valores "verdadero/falso" (booleanos),
resultantes por regla general de evaluar expresiones. Los dos valores posibles de este tipo son
true y false.
Char : se utiliza para almacenar caracteres individuales (letras, para entendernos). En realidad
está considerado también un tipo numérico, si bien su representación habitual es la del carácter
cuyo código almacena. Utiliza 16 bits y se usa la codificación UTF-16 de Unicode.
Tipos de datos estructurados
Los tipos de datos primitivos que acabamos de ver se caracterizan por poder almacenar un único 
valor. Salvo este reducido conjunto de tipos de datos primitivos, que facilitan el trabajo con 
números, caracteres y valores booleanos, todos los demás tipos de Java son objetos, también 
llamados tipos estructurados o "Clases".
Los tipos de datos estructurados se denominan así porque en su mayor parte están destinados 
a contener múltiples valores de tipos más simples, primitivos. También se les llama muchas 
veces "tipos objeto" porque se usan para representar objetos. Puede que te suene más ese 
nombre.
VARIABLES
Cadenas de caracteres
Aunque las cadenas de caracteres no son un tipo simple en Java, sino una instancia de la clase
String, el lenguaje otorga un tratamiento bastante especial a este tipo de dato, lo cual provoca que,
en ocasiones, nos parezca estar trabajando con un tipo primitivo.
Aunque cuando declaramos una cadena estamos creando un objeto, su declaración no se
diferencia de la de una variable de tipo primitivo de las que acabamos de ver:
String nombreCurso = "Iniciación a Java";
Y esto puede confundir al principio. Recuerda: Las cadenas en Java son un objeto de la clase
String, aunque se declaren de este modo.
Las cadenas de caracteres se delimitan entre comillas dobles, en lugar de simples como los
caracteres individuales. En la declaración, sin embargo, no se indica explícitamente que se quiere
crear un nuevo objeto de tipo String, esto es algo que infiere automáticamente el compilador.
Las cadenas, por tanto, son objetos que disponen de métodos que permiten operar sobre la
información almacenada en dicha cadena. Así, encontraremos métodos para buscar una
subcadena dentro de la cadena, sustituirla por otra, dividirla en varias cadenas atendiendo a un
cierto separador, convertir a mayúsculas o minúsculas, etc.
VARIABLES
Vectores o arrays
Los vectores son colecciones de datos de un mismo tipo. También son conocidos popularmente
como arrays e incluso como "arreglos" (aunque se desaconseja esta última denominación por ser
una mala adaptación del inglés).
Un vector es una estructura de datos en la que a cada elemento le corresponde una posición
identificada por uno o más índices numéricos enteros.
También es habitual llamar matrices a los vectores que trabajan con dos dimensiones.
Los elementos de un vector o array se empiezan a numerar en el 0, y permiten gestionar desde
una sola variable múltiples datos del mismo tipo.
Por ejemplo, si tenemos que almacenar una lista de 10 números enteros, declararíamos un vector
de tamaño 10 y de tipo entero, y no tendríamos que declarar 10variables separadas de tipo
entero, una para cada número.
Secuencia de escape Descripción
\t Inserta un tabulador
\b Retroceder un espacio (backspace)
\n Inserta una nueva línea
\r Inserta un retorno de carro
\f Salto de página
\’ Inserta una comilla simple
\” Inserta una comilla doble
\\ Inserta una contrabarrra (backslash)
public static void main(String[] args) {
System.out.println("Ejemplo con un salto de línea,\n " + 
"un \t tabulador y \"comillas dobles\"");
Secuencias de escape en Java
En el lenguaje de programación Java hay ciertos caracteres que son problemáticos, bien sea porque 
se trata de caracteres que utiliza el propio lenguaje para otras funciones (por ejemplo, la comilla doble “ 
para delimitar cadenas de texto), o bien porque no se puede representar directamente como son los caracteres 
de control (códigos Ascii entre 0 y 31, por ejemplo un saldo de línea).
Java nos proporciona las secuencias de escape, una combinación de la barra invertida \ y un carácter que nos permite
insertar caracteres de ambos casos.
Las secuencias de escape que tenemos definidas en Java son:
CLASE SCANNER
El uso de la clase Scanner es una de las mejores maneras de 
ingresar datos por teclado en Java.
Scanner es una clase en el paquete java.util utilizada para obtener 
la entrada de los tipos primitivos como int, double etc. y también 
String. 
Es la forma más fácil de leer datos en un programa Java, aunque 
no es muy eficiente si se quiere un método de entrada para 
escenarios donde el tiempo es una restricción, como en la 
programación competitiva.
En resumen:
•Para crear un objeto de clase Scanner, normalmente pasamos el 
objeto predefinido System.in, que representa el flujo de entrada 
estándar. Podemos pasar un objeto de clase File si queremos leer 
la entrada de un archivo.
•Para leer valores numéricos de un determinado tipo de datos XYZ, 
la función que se utilizará es nextXYZ(). Por ejemplo, para leer un 
valor de tipo short, podemos usar nextShort().
•Para leer cadenas (strings), usamos nextLine().
•Para leer un solo carácter, se usa next().charAt(0). La función 
next()devuelve el siguiente token/palabra en la entrada como 
cadena y la función charAt (0) devuelve el primer carácter de esa 
cadena.
https://www.javadesdecero.es/tipos-datos-java-ejemplos/
CLASE SCANNER EJERCICIOS
1. leer datos de varios tipos
2.A veces, debemos verificar si el siguiente valor que leemos es 
de cierto tipo o si la entrada ha finalizado (se encontró el 
marcador EOF).
Luego, verificamos si la entrada del Scanner es del tipo que 
queremos con la ayuda de las funciones hasNextXYZ() donde 
XYZ es del tipo que nos interesa. La función devuelve true 
(verdadero) si el scanner tiene un token de ese tipo, de lo 
contrario es false (falso). Por ejemplo, en el siguiente código, 
hemos utilizado hasNextInt(). Para verificar una cadena, usamos 
hasNextLine(). De manera similar, para verificar si hay un solo 
carácter, usamos hasNext().CharAt(0).
¿SE LOGRÓ LA META DE LA SESIÓN?
Analizamos diferentes tipos de datos y exploramos la 
clase Scanner con ejercicios y ejemplos
La clase Scanner de Java provee métodos para leer valores
de entrada de varios tipos y está localizada en el paquete
java.util. Los valores de entrada pueden venir de varias
fuentes, incluyendo valores que se entren por el teclado o
datos almacenados en un archivo.
Conclusiones
Problemas propuestos (algoritmo y código)
• Los Ejercicios se pueden visualizar en canvas
Tarea
REVISAR EL TEMA DE LA SIGUIENTE SESIÓN COLOCADO EN CANVAS
	Diapositiva 1
	Diapositiva 2: no vale repetir ¿algo que recuerdes de la clase anterior? 
	Diapositiva 3
	Diapositiva 4
	Diapositiva 5: VARIABLES
	Diapositiva 6: VARIABLES
	Diapositiva 7: VARIABLES
	Diapositiva 8: VARIABLES
	Diapositiva 9: VARIABLES
	Diapositiva 10
	Diapositiva 11: Clase Scanner
	Diapositiva 12: Clase Scanner
	Diapositiva 13: ¿se logró la meta de la sesión?
	Diapositiva 14
	Diapositiva 15
	Diapositiva 16: Revisar el tema de la siguiente sesión colocado en Canvas
	Diapositiva 17

Continuar navegando