Skip to content

Commit d4eacb5

Browse files
authored
Merge pull request mouredev#4575 from Natalinacn/02_Java
#2 - Java
2 parents 8835dfc + d6e6f10 commit d4eacb5

File tree

1 file changed

+188
-0
lines changed

1 file changed

+188
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
package com.example.headfirstjava;
2+
3+
import org.springframework.boot.SpringApplication;
4+
5+
import java.util.ArrayList;
6+
import java.util.Arrays;
7+
import java.util.Collections;
8+
import java.util.List;
9+
10+
public class Natalinacn {
11+
12+
public static void main(String[] args) {
13+
SpringApplication.run(HeadFirstjavaApplication.class, args);
14+
15+
imprimirMensaje();
16+
imprimirNombre("Natalin");
17+
sumarNumeros(2, 5);
18+
System.out.println(saludar());
19+
System.out.println(cuadrado(5));
20+
System.out.println(multiplicar(8, 2));
21+
22+
//EJEMPLO DE FUNCIONES YA CREADAS EN EL LENGUAJE
23+
//1-Funciones de la clase Math
24+
double numEjemplo = 123.45;
25+
System.out.println("Valor absoluto " + numEjemplo + ": " + Math.abs(numEjemplo));
26+
System.out.println("Raíz cuadrada de 16: " + Math.sqrt(16));
27+
System.out.println("Máximo entre 10 y 20: " + Math.max(10, 20));
28+
System.out.println("Mínimo entre 10 y 20: " + Math.min(10, 20));
29+
System.out.println("Número aleatorio entre 0.0 y 1.0: " + Math.random());
30+
31+
//2-Funciones de la clase String
32+
String texto = "Hola Mundo";
33+
System.out.println("Texto en minúsculas: " + texto.toLowerCase());
34+
System.out.println("Texto en mayúsculas: " + texto.toUpperCase());
35+
System.out.println("Longitud del texto: " + texto.length());
36+
System.out.println("Caracter en la posición 5: " + texto.charAt(4));
37+
System.out.println("Reemplazar 'Mundo' con 'Java': " + texto.replace("Mundo", "Java"));
38+
39+
//3-Funciones de la clase Arrays
40+
int[] numerosArray = {5, 3, 8, 2, 9, 1};
41+
42+
// Ordenar el arreglo: sort(int[] a): Ordena el arreglo en orden ascendente.
43+
Arrays.sort(numerosArray);
44+
System.out.println("Arreglo ordenado: " + Arrays.toString(numerosArray));
45+
46+
// Buscar un elemento en el arreglo: binarySearch(int[] a, int key): Busca el elemento especificado en el arreglo ordenado y devuelve el índice de la búsqueda binaria.
47+
int indice = Arrays.binarySearch(numerosArray, 8);
48+
System.out.println("Índice del elemento 8: " + indice);
49+
50+
// Rellenar el arreglo: fill(int[] a, int val): Asigna el valor especificado a cada elemento del arreglo.
51+
Arrays.fill(numerosArray, 7);
52+
System.out.println("Arreglo rellenado con 7: " + Arrays.toString(numerosArray));
53+
54+
//4- Funciones de la clase Collections: La clase Collections proporciona métodos estáticos que operan en colecciones como listas, conjuntos y mapas.
55+
List<String> lista = new ArrayList<>();
56+
lista.add("Banana");
57+
lista.add("Manzana");
58+
lista.add("Pera");
59+
lista.add("Naranja");
60+
61+
// Ordenar la lista
62+
Collections.sort(lista);
63+
System.out.println("Lista ordenada: " + lista);
64+
65+
// Barajar la lista
66+
Collections.shuffle(lista);
67+
System.out.println("Lista barajada: " + lista);
68+
69+
// Encontrar el elemento máximo
70+
String maximo = Collections.max(lista);
71+
System.out.println("Elemento máximo: " + maximo);
72+
73+
// Encontrar el elemento mínimo
74+
String minimo = Collections.min(lista);
75+
System.out.println("Elemento mínimo: " + minimo);
76+
77+
Natalinacn variables = new Natalinacn();
78+
variables.metodoConVariablesLocales();
79+
variables.imprimirMensajeGlobal();
80+
81+
funcionExtra("Múltiplo de 3 ", "Múltiplo de 5");
82+
83+
}
84+
85+
//#02 FUNCIONES Y ALCANCE
86+
87+
//1. Función sin parámetros y sin retorno
88+
public static void imprimirMensaje(){
89+
System.out.println("Hola, este es un mensaje sin parámetros ni retorno.");
90+
}
91+
92+
//2. Función con un parámetro y sin retorno
93+
public static void imprimirNombre(String nombre){
94+
System.out.println("Bienvenida " + nombre);
95+
}
96+
97+
//3. Función con varios parámetros y sin retorno
98+
public static void sumarNumeros(int num1, int num2){
99+
System.out.println("La suma de los números es " + num1 + num2);
100+
}
101+
102+
//4. Función sin parámetros y con retorno
103+
public static String saludar(){
104+
return "Buenas tardes!!";
105+
}
106+
107+
//5. Función con un parámetro y con retorno
108+
public static int cuadrado(int numero){
109+
return numero * numero;
110+
}
111+
112+
//6. Función con varios parámetros y con retorno
113+
public static int multiplicar(int num1, int num2){
114+
return num1 * num2;
115+
}
116+
117+
//Funcion dentro de otra función
118+
//En Java no es posible definir una función (método) dentro de otra función directamente.
119+
//Todos los métodos deben ser definidos al mismo nivel de clase.
120+
//Si necesitas definir una función dentro de otra, puedes hacerlo indirectamente utilizando clases internas,
121+
// clases anónimas, o expresiones lambda en ciertos contextos.
122+
public static void funcionDentroDeFuncion() {
123+
System.out.println("Probando si se puede crear una función dentro de otra a continuación...");
124+
125+
class FuncionAdentro {
126+
void mensaje() {
127+
System.out.println("No se puede crear una función dentro de otra directamente.");
128+
}
129+
}
130+
131+
FuncionAdentro funcionAdentro = new FuncionAdentro();
132+
funcionAdentro.mensaje();
133+
134+
135+
136+
}
137+
138+
// VARIABLE LOCAL y GLOBAL
139+
//En Java Las variables locales son aquellas que se declaran dentro de un método y solo son accesibles dentro de ese método. No pueden ser accedidas fuera del método en el que se declararon.
140+
//Variables de instancia (similares a variables globales) se declaran dentro de una clase pero fuera de cualquier método. Son accesibles por todos los métodos de la clase y su valor puede ser cambiado por cualquier método de la clase.
141+
142+
// Variable de instancia (similar a una variable global)
143+
private String mensajeGlobal = "Este es un mensaje global.";
144+
145+
// Método que imprime la variable global
146+
public void imprimirMensajeGlobal() {
147+
System.out.println(mensajeGlobal);
148+
}
149+
150+
// Método que contiene variables locales
151+
public void metodoConVariablesLocales() {
152+
// Variable local
153+
String mensajeLocal = "Este es un mensaje local.";
154+
155+
System.out.println(mensajeLocal);
156+
157+
// Intentar acceder a una variable global
158+
System.out.println("Intentar acceder a una variable global: " + mensajeGlobal);
159+
}
160+
161+
162+
163+
//DIFICULTAD EXTRA (opcional):
164+
// * Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
165+
// * - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
166+
// * - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
167+
// * - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
168+
// * - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
169+
// * - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
170+
171+
public static int funcionExtra(String param1, String param2){
172+
173+
int contador = 0;
174+
for (int i = 1; i < 101; i++) {
175+
if(i % 3 == 0 && i % 5 == 0){
176+
System.out.println(i +" es " + param1 + param2);
177+
}else if(i % 3 == 0){
178+
System.out.println(i + " es " +param1);
179+
}else if(i % 5 == 0){
180+
System.out.println(i +" es " + param2);
181+
}else{
182+
contador++;
183+
}
184+
}
185+
System.out.println("El número de veces que se ha impreso el número en lugar de los textos es de " + contador);
186+
return contador;
187+
}
188+
}

0 commit comments

Comments
 (0)