Skip to content

Commit c56d888

Browse files
authored
Merge pull request #8227 from clarancedev/02
#2 - Java
2 parents 571dfc1 + 02f5f91 commit c56d888

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
/**
2+
* #02 FUNCIONES Y ALCANCE
3+
* @author clarancedev
4+
* @version %I%, %G%
5+
*/
6+
7+
public class Clarancedev {
8+
9+
// VARIABLE GLOBAL (accesible desde cualquier parte de la clase)
10+
static final String VARIABLE_GLOBAL = "Soy una variable global de la clase Clarancedev";
11+
12+
// TIPOS DE FUNCIONES (TAMBIÉN DENOMINADOS MÉTODOS)
13+
14+
// SIN PARÁMETROS Y SIN RETORNO
15+
/* No se especifica el tipo de dato que retorna la función,
16+
* en su lugar indicamos "void". Su contenido tampoco incluye
17+
* un "return", aunque puede incluir más de una función y
18+
* llamar a otras funciones de la misma clase */
19+
public static void variableLocal () {
20+
21+
// VARIABLE LOCAL (accesible solo dentro de la función donde se declara)
22+
String variableLocal = "Soy una variable local de la función main()";
23+
24+
System.out.println(variableLocal);
25+
}
26+
27+
public static void cuentaAtrasDespegue () {
28+
for (int i = 10; i > 0; i--) {
29+
System.out.println(i);
30+
}
31+
System.out.println("¡Despegamos!");
32+
}
33+
34+
// CON PARÁMETROS Y SIN RETORNO
35+
/* No debemos especificar el tipo de dato que retorna la función,
36+
* pero debemos especificar el tipo de dato de los parámetros
37+
* que recibe la función. Su contenido no incluye un "return" */
38+
public static void funcionConParSinRet (String nombre) {
39+
System.out.println("Hola, " + nombre + "!");
40+
}
41+
42+
public static void funcionConParSinRet2 (int edadActual) {
43+
int nuevaEdad = edadActual + 5;
44+
System.out.println("Si ahora tienes " + edadActual + " años, dentro de 5 años tendrás " + nuevaEdad + ".");
45+
}
46+
47+
// SIN PARÁMETROS Y CON RETORNO
48+
/* Debemos especificar el tipo de dato que retorna la función,
49+
* y su contenido debe incluir un "return" de dicho tipo de dato */
50+
public static String funcionSinParConRet () {
51+
return "Soy una función sin parámetros y con retorno";
52+
}
53+
54+
public static int sumarUnoYDos() {
55+
return 1 + 2;
56+
}
57+
58+
// CON PARÁMETROS Y CON RETORNO
59+
/* Debemos especificar el tipo de dato que retorna la función,
60+
* y su contenido debe incluir un "return" de dicho tipo de dato.
61+
* Ojo, dos métodos pueden tener el mismo nombre, siempre y cuando
62+
* los parámetros solicitados sean distintos, sea en cantidad o tipo */
63+
64+
public static int multiplicarValores(int num1, int num2) {
65+
return num1 * num2;
66+
}
67+
68+
public static double multiplicarValores(double num1, double num2) {
69+
return num1 * num2;
70+
}
71+
72+
public static int multiplicarValores(int num1, int num2, int num3) {
73+
return num1 * num2 * num3;
74+
}
75+
76+
// DIFICULTAD EXTRA
77+
78+
public static int fizzBuzzInspired(String texto1, String texto2) {
79+
int counter = 0;
80+
81+
System.out.println("Imprimiendo los números del 1 al 100, salvo los que son múltiples de 3 o de 5, para los cuales aparecerán las palabra Fizz y/o Buzz:");
82+
83+
for (int i = 1; i <101; i++) {
84+
boolean esMultiploDe3 = i % 3 == 0;
85+
boolean esMultiploDe5 = i % 5 == 0;
86+
87+
if (esMultiploDe3 && esMultiploDe5) {
88+
System.out.println(texto1 + texto2);
89+
} else if (esMultiploDe3) {
90+
System.out.println(texto1);
91+
} else if (esMultiploDe5) {
92+
System.out.println(texto2);
93+
} else {
94+
System.out.println(i);
95+
counter++;
96+
}
97+
}
98+
return counter;
99+
}
100+
101+
public static void main(String[] args) {
102+
/* LA FUNCIÓN MAIN() ES UNA FUNCIÓN ESPECIAL,
103+
* ES LA PRINCIPAL DONDE SE EJECUTA EL PROGRAMA */
104+
105+
// Imprimiendo variables LOCAL y GLOBAL
106+
variableLocal();
107+
System.out.println(VARIABLE_GLOBAL);
108+
109+
// Imprimiendo la función SIN parámetros y SIN retorno cuentaAtrasDespegue()
110+
cuentaAtrasDespegue();
111+
112+
// Imprimiendo las funciones CON parámetros y SIN retorno
113+
funcionConParSinRet("Java");
114+
funcionConParSinRet2(25);
115+
116+
// Imprimiendo las funciones SIN parámetros y CON retorno
117+
System.out.println(funcionSinParConRet());
118+
System.out.println("La suma de 1 y 2 es igual a " + sumarUnoYDos());
119+
120+
// Imprimiendo las funciones CON parámetros y CON retorno
121+
int int1 = 2;
122+
int int2 = 3;
123+
int int3 = 4;
124+
double double1 = 2.5;
125+
double double2 = 3.5;
126+
127+
System.out.println(int1 + " * " + int2 + " = " + multiplicarValores(int1, int2));
128+
System.out.println(double1 + " * " + double2 + " = " + multiplicarValores(double1, double2));
129+
System.out.println(int1 + " * " + int2 + " * " + int3 + " = " + multiplicarValores(int1, int2, int3));
130+
131+
// FUNCIONES DE JAVA CLASS LIBRARY
132+
/* Java Class Library es una biblioteca de clases que contiene
133+
* funciones predefinidas que podemos usar en nuestros programas.
134+
* Por ejemplo, la clase Math contiene funciones matemáticas
135+
* como Math.abs(), Math.sqrt(), Math.pow(), etc. */
136+
137+
System.out.println("La raíz cuadrada de 9 es " + Math.sqrt(9));
138+
139+
// Llamando a la función de dificultad extra
140+
141+
int counter = fizzBuzzInspired("Fizz", "Buzz");
142+
System.out.println("El número de veces que no se imprimió Fizz o Buzz es: " + counter);
143+
}
144+
}

0 commit comments

Comments
 (0)