Teoría JAVA 3
Teoría JAVA 3
Teoría JAVA 3
👋
En esta oportunidad, nos adentraremos en un emocionante conjunto de temas
de programación que ampliarán nuestro conocimiento y habilidades en Java.
Exploraremos temas de suma importancia como: los arrays, los bucles ("for",
"while", "do while" y "for each"), la clase "Arrays" y la clase de envoltura
"Wrappers".
Arrays
Un array es una estructura de datos que nos permite almacenar una colección
de elementos, ya sean valores o variables. Cada elemento en el array se
identifica mediante un índice o clave.
Los arrays tienen una propiedad llamada "length" que devuelve su tamaño. Sin
embargo, esta propiedad es de solo lectura y no puede ser modificada, ya que
es un atributo final. Por ejemplo:
Bucles
En programación, un bucle es una estructura de control que permite repetir un
bloque de código varias veces.
💡Los bucles son esenciales, ya que nos permiten realizar tareas repetitivas de
manera eficiente.
For i
El bucle "for" se utiliza cuando conocemos la cantidad de veces que se debe
repetir un bloque de código. Tiene tres partes:
En este ejemplo, "i < 5" es la condición. Por lo tanto, mientras el valor de "i"
sea menor que 5, el bloque de código del bucle continuará ejecutándose.
El bucle "for" con "i" es muy útil para acceder a los elementos de un array a
través de sus índices.
While
Esto se debe a que el bucle "while" evalúa la condición antes de entrar al bloque
de código, por lo que necesitamos solicitar al usuario que ingrese un número
antes del bucle para inicializar "num". Luego, dentro del bucle, necesitamos volver
a solicitar al usuario que ingrese otro número si el número anterior no era válido.
💡Con el bucle "do-while" podemos evitar la duplicación de código, ya que la
condición se evalúa después de la ejecución del bloque de código.
For each
En este ejemplo, la variable "num" toma cada valor en el arreglo "arr" en cada
iteración del bucle, lo que simplifica el proceso de iterar a través del arreglo sin
necesidad de utilizar un índice.
📌 Resumen
Hemos visto los 4 tipos de bucles que existen en Java. Repasemos en qué
casos nos son útiles cada uno:
● For i: Se utiliza cuando conocemos o podemos calcular de alguna
manera la cantidad de repeticiones que necesitamos realizar.
● While & Do While: Se utilizan cuando la cantidad de repeticiones que
necesitamos realizar es un valor desconocido y no es fijo.
○ While: Se utiliza cuando queremos que el código se ejecute sólo
cuando se cumple una condición.
○ Do While: Se utiliza cuando queremos que el código se ejecute al
menos una vez antes de comprobar una condición para repetirlo
nuevamente.
● For Each: Se utiliza cuando deseamos iterar un arreglo y no nos interesa
utilizar el índice.
Veamos un ejemplo:
import java.util.Arrays;
En este código, hemos importado la clase "Arrays" para poder utilizarla en nuestro
programa. El método "copyOf()" nos permite crear un nuevo arreglo con los
valores del arreglo original pero con un nuevo tamaño. En este caso, el nuevo
arreglo creado se asigna nuevamente a la variable "original".
Las clases wrapper son útiles porque permiten tratar a los tipos primitivos como
objetos, lo que facilita el uso de métodos y la representación de valores nulos,
algo que los tipos primitivos no pueden hacer. Además, son necesarias cuando
se trabaja con colecciones de objetos que no pueden almacenar tipos de datos
primitivos (lo veremos más adelante).
Boolean
Métodos de instancia
● variable.toString(): Devuelve un objeto String que representa el valor de
este booleano.
Métodos de clase
● Boolean.valueOf(String s): Devuelve un objeto booleano dependiendo del
string ingresado por parámetro. Si s es igual a “true” (ignorando
mayúsculas y minúsculas) devuelve verdadero, sino devuelve falso.
Character
Métodos de instancia
● variable.toString(): Devuelve un objeto String que representa el valor de
esta variable de tipo Character.
● variable.compareTo(Character anotherCharacter): Compara
numéricamente con anotherCharacter, devuelve 0 si son iguales, -1 si
“variable” es menor numéricamente, y 1 si “variable” es mayor
numéricamente.
Métodos de clase
● Character.valueOf(String s): Devuelve un objeto booleano dependiendo
del string ingresado por parámetro. Si s es igual a “true” (ignorando
mayúsculas y minúsculas) devuelve verdadero, sino devuelve falso.
● Character.getNumericValue(char ch): Devuelve el valor int que
representa el carácter Unicode especificado por parámetro.
● Character.getType(char ch): Devuelve un valor que indica la categoría
general de ch. Puedes ver las categorías 👉aquí.
● Character.getNumericValue(char ch): Devuelve el valor int que
representa el carácter Unicode especificado por parámetro.
● Character.isLetter(char ch): Determina si el carácter especificado es una
letra.
● Character.isWhitespace(char ch): Determina si el carácter especificado
es un espacio en blanco.
Integer
Métodos de instancia
● variable.toString(): Devuelve un objeto String que representa el valor de
este Integer.
Double
Métodos de instancia
● variable.toString(): Devuelve un objeto String que representa el valor de
este Double.
● variable.compareTo(Double anotherDouble): Compara numéricamente
con anotherDouble, devuelve 0 si son iguales, -1 si “variable” es menor
numéricamente, y 1 si “variable” es mayor numéricamente.
Métodos de clase
● Double.valueOf(String s): Devuelve un objeto Double dependiendo del
string ingresado por parámetro.
● Double.MAX_VALUE: Una constante que contiene el mayor valor finito
positivo de tipo double, (2-2^(-52))*2^1023.
● Double.MIN_VALUE: Constante que contiene el menor valor positivo
distinto de cero de tipo double, 2^-1074.