Chuleta visual (y práctica) para tu examen: formato de salida en Java, precedencia de operadores (C y Java), palabras reservadas y bucles tipo test
Pensada para estudiar rápido: tablas compactas, ejemplos mínimos y ejercicios con solución paso a paso.
1) Salida formateada en Java (System.out.printf / String.format)
Sintaxis general:%[flags][ancho][.precision]conversion
| Conversión | Qué imprime | Ejemplos útiles |
|---|---|---|
%d | enteros | %5d (ancho 5), %+d (signo) |
%f | coma flotante | %.2f (2 decimales), %10.3f (ancho 10, 3 dec.) |
%e | notación científica | %.1e |
%g | elige entre %f o %e | %.4g |
%s | cadenas | %-14s (alineado a la izquierda) |
%b | booleanos | %b (true/false) |
%n | salto de línea independiente de SO |
Flags visuales:
-alinear a la izquierda,0relleno con ceros,,separador de miles,+muestra el signo.
Mini-muestrario:
System.out.printf("|%6d|%06d|%n", 512, 512); // | 512|000512|
System.out.printf("|%-10s|%n", "Hola"); // |Hola |
System.out.printf("|%,.2f|%n", 1595.168); // |1,595.17| (según locale)
System.out.printf("|%.3e|%n", Math.PI); // |3.142e+00|
System.out.printf("%b %n", null == null); // true
Valores por defecto cuando imprimes
null/false/0:0(numéricos),\u0000(char),false(boolean),null(objetos).
2) Precedencia y asociatividad de operadores
2.1 C (de mayor a menor)
| Grupo | Operadores | Asoc. |
|---|---|---|
| Postfijo | () [] -> . x++ x-- | izq→der |
| Unario | + - ++x --x & * ~ ! (type) sizeof | der→izq |
| Multiplicativos | * / % | izq→der |
| Aditivos | + - | izq→der |
| Desplazamiento | << >> | izq→der |
| Relacionales | < <= > >= | izq→der |
| Igualdad | == != | izq→der |
| Bit a bit | `& ^ | ` |
| Lógicos | `&& | |
| Condicional | ?: | der→izq |
| Asignación | `= += -= *= /= %= <<= >>= &= ^= | =` |
| Coma | , | izq→der |
Tips rápidos (C):
&&y||cortocircuitan.&,|,^son bit a bit (no cortocircuitan).- Cuidado con
++i(pre) vsi++(post) en expresiones.
2.2 Java (de mayor a menor)
| Nivel | Operadores (clave) | Asoc. |
|---|---|---|
| 16 | [] . () | izq→der |
| 15 | x++ x-- | — |
| 14 | ++x --x +x -x ~ ! (cast) | der→izq |
| 13 | * / % | izq→der |
| 12 | + - (y concatenación de String) | izq→der |
| 11 | << >> >>> | izq→der |
| 10 | < <= > >= instanceof | — |
| 9 | == != | izq→der |
| 8 | & (bit a bit / booleano no corto) | izq→der |
| 7 | ^ (XOR) | izq→der |
| 6 | ` | ` (bit a bit / booleano no corto) |
| 5 | && (lógico, cortocircuito) | izq→der |
| 4 | ` | |
| 3 | ?: (ternario) | der→izq |
| 2 | = += -= … >>>= | der→izq |
| 1 | , | izq→der |
Gotchas (Java):
+con cadenas convierte a String:1 + 2 + "x" = "3x"pero"x" + 1 + 2 = "x12".&y|en booleanos evaluan ambos lados;&&y||cortocircuitan.
3) Palabras reservadas de Java (recordatorio visual)
abstract, assert, boolean, break, byte, case, catch, char, class, const*, continue, default, do, double, else, enum, extends, final, finally, float, for, goto*, if, implements, import, instanceof, int, interface, long, native, new, null, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while
* const y goto están reservadas pero no se usan.
4) Ejercicios tipo test explicados
4.1 Java – crecimiento de una cadena
Código:
String a = new String();
for (int i = 100; i >= 27; i--) { // 100..27 → 74 vueltas
for (int j = 2; j < 5; j++) { // 2,3,4 → 3 vueltas
a = a + "aa"; // +2 por vuelta
}
}
System.out.println(a.length());
Cálculo: 74 (externo) × 3 (interno) × 2 = 444 → longitud final = 444.
Nota pedagógica: si el segundo
forfueraj <= 5, serían 4 vueltas y daría74×4×2 = 592.
4.2 C – asignaciones y printf
x=5, y=3;
y += x; // y = 8
printf("X=%d Y=%d\n", x, y);
Salida: X=5 Y=8
Truco recordatorio: el primer %d casa con x, el segundo con y; += suma y asigna.
4.3 Java – cuántas veces se ejecuta un for
int c = 0;
for (int i = 1; i <= 120; ++i) c++;
System.out.println(c);
i recorre 1..120 (ambos incluidos) → 120 iteraciones.
Si fuera i < 120 serían 119, y con i <= 120 empezando en 0 serían 121.
Regla de oro: Vueltas = (fin − inicio) + (incluye?1:0).
4.4 Java – evaluación con cortocircuito
int x=2, e=2;
int v2 = 2;
int r = (x==2) ? ( (e++ > 2) ? 1 : 3 ) : 2;
System.out.println(x + " " + e + " " + r);
- Se cumple
x==2⇒ evalúa solo el primer brazo. - Se evalúa
e++ > 2→ compara con 2 (dafalse), luegoepasa a 3. - Toma la parte
falsedel ternario interior ⇒r=3.
Salida:2 3 3.
5) Chuleta imprimible (mini-poster)
JAVA printf: %[flags][ancho][.precision]conv
d=int, f=float, e=cient., s=String, b=bool, n=nueva línea
flags: - (izq) 0 (ceros) , (miles) + (signo)
C PRECEDENCIA (alto→bajo): ()[]-> . x++ | unarios + - ~ ! (cast)
* / % | + - | << >> | < <= > >= | == !=
& ^ | | && || | ?: | = += … | ,
JAVA PRECEDENCIA (alto→bajo): [] . () | x++ | unarios ++ -- ! ~ (cast)
* / % | + - (concat) | << >> >>> | < <= > >= instanceof
== != | & | ^ | | | && || | ?: | asignaciones
CORTOCIRCUITO: && y || (evaluan lo mínimo)
BIT A BIT: & | ^ << >> (no cortocircuitan)
6) Autoevaluación rápida
- ¿Qué imprime?
System.out.printf("|%7.2f|%n", 9.0/7);
a) | 1.2857| b) | 1.29| c) |1.29|
Resp: b) (ancho 7, 2 decimales).
- En C, ¿cuál se evalúa antes?
a + b * c
Resp:b * c(multiplicativo antes que aditivo). - En Java, valor de
s:
String s = 1 + 2 + "x" + 3 + 4;
Resp: "3x34".
- ¿Cuántas iteraciones?
for(int i=10; i>3; i-=2) { /*...*/ }
Resp: i=10,8,6,4 → 4.
- ¿Cuál es palabra reservada válida en Java?
a)nativeb)includec)friend
Resp: a)native.
7) Consejos de examen (express)
- Marca paréntesis si dudas de precedencia: clarifica y evitas sorpresas.
- Cuenta iteraciones con la fórmula (fin − inicio)/paso y ajusta inclusión.
- En
printf, prueba mental con 1–2 ejemplos (ancho/precisión) antes de elegir. - Diferencia lógico (
&&,||) de bit a bit (&,|,^). - En Java,
+conStringcambia todo a texto desde ese punto.


Deja un comentario