• Saltar a la navegación principal
  • Skip to main content
  • Saltar a la barra lateral principal

Geekebrains

Para programadores, maker y geeks en general

  • Inicio
  • YouTube
  • Zona makers!
  • Zona Coders!
  • Zona Junior!
Estás aquí: Inicio / Sin categoría / Java (chuleta)

31 enero, 2020 Por admin8049 Deja un comentario

Java (chuleta)

public class MiPrimeraAplicacion {
  public static void main (String[] args) {
    System.out.println("Hola Mundo");
  }
}

Tipos de datos

boolean Puede contener los valores true o false.
byte Enteros. Tamaño 8-bits. Valores entre -128 y 127.
short Enteros. Tamaño 16-bits. Entre -32768 y 32767.
int Enteros. Tamaño 32-bits. Entre -2147483648 y 2147483647.
long Enteros. Tamaño 64-bits. Entre -9223372036854775808 y 9223372036854775807.
float Números en coma flotante. Tamaño 32-bits.
double Números en coma flotante. Tamaño 64-bits.
char Caracteres. Tamaño 16-bits. Unicode. Desde ‘u0000’ a ‘uffff’ inclusive. Esto es desde 0 a 65535

System.out.printf("Hello %s!%n", "World");
1Hello World!
  • s Formats strings
  • S String en mayuscula
  • d  Formats decimal integers
  • f  Formats the floating-point numbers
  • t Formats date/time values
  • n Salto linea
  • b Boolean
  • c Char unicode
1%[flags][width][.precision]conversion-character

The [flags] define standard ways to modify the output and are most common for formatting integers and floating point numbers.

The [width] specifies the field width for outputting the argument. It represents the minimum number of characters written to the output.

The [.precision] specifies the number of digits of precision when outputting floating-point values. Additionally, we can use it to define the length of a substring to extract from a String.

12System.out.printf(Locale.US, "%,d %n", 10000);System.out.printf(Locale.ITALY, "%,d %n", 10000);
1210,000 10.000
1System.out.printf("%f%n", 5.1473);
15.147300
1System.out.printf("'%5.2f'%n", 5.1473);
1' 5.15'
1System.out.printf("'%5.2e'%n", 5.1473);
1'5.15e+00'
  • ‘H’, ‘M’, ‘S’  – characters are responsible for extracting the hours, minutes and second from the input Date
  • ‘L’, ‘N’  – to represent the time in milliseconds and nanoseconds accordingly
  • ‘p’ – adds am/pm formatting
  • ‘z’ – prints out the timezone offset
12Date date = new Date();System.out.printf("%tT%n", date);
113:51:15
1System.out.printf("hours %tH: minutes %tM: seconds %tS%n", date, date, date);
1hours 13: minutes 51: seconds 15
1System.out.printf("%1$tH:%1$tM:%1$tS %1$tp %1$tL %1$tN %1$tz %n", date);
113:51:15 pm 061 061000000 +0400
  • ‘A’ – prints out the full day of the week
  • ‘d’ – formats a two-digit day of the month
  • ‘B’ – is for the full month name
  • ‘m’ – formats a two-digit month
  • ‘Y’ – outputs a year in four digits
  • ‘y’ – outputs the last two digits of the year
1System.out.printf("%1$tA, %1$tB %1$tY %n", date);
1Thursday, November 2018
1System.out.printf("%1$td.%1$tm.%1$ty %n", date);

Sentencias

int valor = 2;
valor = 2;
valor++;
System.out.println("Hola Mundo");
Circulo miCirculo = new Circulo(2,3);
if (valor>1) { … }
if (expresion) {
    // Bloque 1
} else {
    // Bloque 2
}

Manejo de Cadenas

.length() Nos devuelve el tamaño que tiene la cadena.

char charAt(int index) Devuelve el carácter indicado como índice. Si intentamos acceder a un índice de carácter que no existe nos devolverá una excepción IndexOutOfBoundsException.

boolean equals(Object anObject) Nos permite comparar si dos cadenas de texto son iguales. Si queremos omitir la validación de mayusculas/minusculasesta validación tenemos dos opciones. La primera es convertir las cadenas a mayúsculas o minúsculas con los métodos .toUpperCase() y .toLowerCase() respectivamente. O puedes es utilizar el método .equalsIgnoreCase().

boolean equalsIgnoreCase(String anotherString) Compara dos cadenas de caracteres omitiendo si los caracteres están en mayúsculas o en minúsculas.

int compareTo(String anotherString) Compara a las cadenas léxicamente. Para ello se basa en el valor Unicode de los caracteres. Se devuelve un entero menor de 0 si la cadena sobre la que se parte es léxicamente menor que la cadena pasada como argumento. Si las dos cadenas son iguales léxicamente se devuelve un 0.

s1 = "Cuervo"
s2 = "Cuenca"
s1.compareTo(s2);

int compareToIgnoreCase(String str) Este método se comportará igual que el anterior. Pero ignorando las mayúsculas.

Búsqueda de caracteres

int indexOf(int ch) Nos devuelve la posición de un carácter dentro de la cadena de texto. En el caso de que el carácter buscado no exista nos devolverá un -1.

int indexOf(int ch, int fromIndex) Lo mismo pero desde el índice (fromIndex) que le indiquemos.

int lastIndexOf(int ch) Nos indica cual es la última posición que ocupa un carácter dentro de una cadena. Si el carácter no está en la cadena devuelve un -1. 

int lastIndexOf(int ch, int fromIndex) Lo mismo que el anterior, pero a partir de una posición indicada como argumento.

int indexOf(String str) Busca una cadena dentro de la cadena origen. Devuelve un entero con el índice a partir del cual está la cadena localizada. Si no encuentra la cadena devuelve un -1.

int indexOf(String str, int fromIndex) Misma funcionalidad que indexOf(String str), pero a partir de un índice indicado como argumento del método.

int lastIndexOf(String str) Si la cadena que buscamos se repite varias veces en la cadena origen podemos utilizar este método que nos indicará el índice donde empieza la última repetición de la cadena buscada.

lastIndexOf(String str, int fromIndex) Lo mismo que el anterior, pero a partir de un índice pasado como argumento.

boolean startsWith(String prefix) Probablemente mucha gente se haya encontrado con este problema. El de saber si una cadena de texto empieza con un texto específico. La verdad es que este método podía obviarse y utilizarse el indexOf(), con el cual, en el caso de que nos devolviese un 0, sabríamos que es el inicio de la cadena.

boolean startsWith(String prefix, int toffset) Más elaborado que el anterior, y quizás, y a mi entender con un poco menos de significado que el anterior.

boolean endsWith(String suffix) Y si alguien se ha visto con la necesidad de saber si una cadena empieza por un determinado texto, no va a ser menos el que se haya preguntado si la cadena de texto acaba con otra. De igual manera que sucedía con el método .startsWith() podríamos utilizar una mezcla entre los métodos .indexOf() y .length() para reproducir el comportamiento de .endsWith(). Pero las cosas, cuanto más sencillas, doblemente mejores.

Métodos con subcadenas

String substring(int beginIndex) Este método nos devolverá la cadena que se encuentra entre el índice pasado como argumento (beginIndex) hasta el final de la cadena origen.

String substring(int beginIndex, int endIndex) Si se da el caso que la cadena que queramos recuperar no llega hasta el final de la cadena origen, que será lo normal, podemos utilizar este método indicando el índice inicial y final del cual queremos obtener la cadena.

Manejo de caracteres

String toLowerCase(); Convierte todos los caracteres en minúsculas.

String toUpperCase(); Convierte todos los caracteres a mayúsculas.

String trim(); Elimina los espacios en blanco de la cadena.

String replace(char oldChar, char newChar) Este método lo utilizaremos cuando lo que queramos hacer sea el remplazar un carácter por otro. Se reemplazarán todos los caracteres encontrados.

Conversión a String: valueOf()

  • String valueOf(boolean b);
  • String valueOf(int i);
  • String valueOf(long l);
  • String valueOf(float f);
  • String valueOf(double d);
  • String valueOf(Object obj);

Arrays

tipo_dato nombre_array[];
nombre_array = new tipo_dato[tamanio];
char arrayCaracteres[];
arrayCaracteres = new char[10];
char array[];
array = new char[10];

for (int x=0;x<array.length;x++)
  System.out.printnln(array[x]);

Matrices o Arrays de varios subindices

tipo_dato nombre_array[][];
nombre_array = new tipo_dato[tamanio][tamanio];
int matriz[][];
matriz = new int[2][2];
int x = matriz[1][1]; // Para leer el contenido de un elemento
matriz[1][1] = x;     // Para asignar un valor.
int matriz[][];
matriz = new int[4][4];
for (int x=0; x < matrix.length; x++) {
  for (int y=0; y < matriz[x].length; y++) {
      System.out.println (matriz[x][y]);
  }
}

Incialización de Arrays en Java

tipo_dato array[] = {elemento1,elemento2,...,elementoN};
// Tenemos un array de 5 elementos.
char array[] = {'a','b','c','d','e'};

// Tenemos un array de 4x4 elementos.
int array[][] = { {1,2,3,4}, {5,6,7,8}};

Listas

Una Lista es una construcción de colección que, por definición, es una colección ordenada, también conocida como una secuencia.

Una colección de Lista Java solo puede tener objetos y define un contrato estricto sobre cómo se comporta.

La Lista es una interfaz, por lo que usted no puede crear una instancia de ella directamente. Trabajará con su implementación más comúnmente usada, ArrayList:

1List<Object> listOfObjects = new ArrayList<Object>();

Tipo formal

¿Qué sucede con el <Object> en el recorte anterior del código? Se llama el tipo formal y le comunica al compilador que esta Lista contiene una colección de tipo Object, lo que significa que puede poner prácticamente lo que quiera en la Lista.

Si usted quisiera intensificar las restricciones sobre lo que pudiera o no ir en la Lista, la definiría de modo diferente:

1List<Person> listOfPersons = new ArrayList<Person>();

Ahora su Lista solo puede tener instancias de Person.

Uso de las Listas

add()

List<Integer> listOfIntegers = new ArrayList<Integer>();
listOfIntegers.add(Integer.valueOf(238));

size()

List<Integer> listOfIntegers = new ArrayList<Integer>();
listOfIntegers.add(Integer.valueOf(238));
Logger l = Logger.getLogger("Test");
l.info("Current List size: " + listOfIntegers.size());

get()

List<Integer> listOfIntegers = new ArrayList<Integer>();
listOfIntegers.add(Integer.valueOf(238));
Logger l = Logger.getLogger("Test");
l.info("Item at index 0 is: " listOfIntegers.get(0))

Iterable

Si una colección implementa java.lang.Iterable, se llama una colección iterable. Eso significa que usted puede comenzar por un extremo y recorrer la colección elemento por elemento hasta que se le acaben los elementos.

for (objectType varName : collectionReference) {  
   // Start using     
   objectType (via varName) right away...
}

Iteración en una Lista

List<Integer> listOfIntegers = obtainSomehow();
Logger l = Logger.getLogger("Test");
for (Integer i : listOfIntegers) {
    l.info("Integer value is : " + i);
}

Conjuntos

Un Conjunto es una construcción de colecciones que por definición contiene elementos únicos, — es decir, ningún duplicado. Mientras que una Lista puede contener el mismo objeto cientos de veces, un Conjunto solo puede contener cierta instancia una vez. Una colección de Conjunto Java solo puede tener objetos y define un contrato estricto sobre cómo se comporta.

Set<Integer> setOfIntegers = new HashSet<Integer>();
setOfIntegers.add(Integer.valueOf(10));
setOfIntegers.add(Integer.valueOf(11));
setOfIntegers.add(Integer.valueOf(10));
for (Integer i : setOfIntegers) {
    l.info("Integer value is: " + i);
}

Puede que usted espere que el Conjunto tenga tres elementos en él pero de hecho solo tiene dos porque el objeto Integer que contiene el valor 10 solo se agregará una vez.

Es posible que los objetos se impriman en un orden diferente del que usted los agregó porque un Conjunto garantiza la singularidad, no el orden. Verá esto por usted mismo si pega el código anterior en el método main() de su clase Person y lo ejecuta.

Mapas

Un Mapa es una construcción de colección útil porque le permite asociar un objeto (la clave) con otro (el valor). Como puede imaginar, la clave para el Mapa debe ser única y se usa para recuperar el valor en un momento posterior. Una colección de Mapa Java solo puede tener objetos y define un contrato estricto sobre cómo se comporta.

Uso de los Mapas

Para poner algo en un Mapa, necesita tener un objeto que represente su clave y un objeto que represente su valor:

public Map<String, Integer> createMapOfIntegers() {
    Map<String, Integer> mapOfIntegers = new HashMap<String, Integer>();
    mapOfIntegers.put("1", Integer.valueOf(1));
    mapOfIntegers.put("2", Integer.valueOf(2));
    mapOfIntegers.put("3", Integer.valueOf(3));
    // . . .
    mapOfIntegers.put("168", Integer.valueOf(168));
}

Es este ejemplo, el Mapa contiene Integers, con la clave hecha por una String, que resulta ser su representación de String. Para recuperar un valor Integer particular, necesita su representación String:

12mapOfIntegers = createMapOfIntegers();
Integer oneHundred68 = mapOfIntegers.get("168");

Uso del Conjunto con el Mapa

En ocasiones, usted puede encontrarse con una referencia a un Mapa y simplemente quiere recorrer todo el conjunto de contenidos. En este caso, necesitará un Conjunto de las claves para el Mapa:

Set<String> keys = mapOfIntegers.keySet();
Logger l = Logger.getLogger("Test");
for (String key : keys) {
    Integer value = mapOfIntegers.get(key);
    l.info("Value keyed by '" + key + "' is '" + value + "'");
}

Observe que el método toString() del Integer recuperado desde el Mapa se llama automáticamente cuando se usa en la llamada del Logger. El Mapa no devuelve una Lista de sus claves porque se hace una clave para el Mapa y cada clave es única; la singularidad es la característica distintiva de un Conjunto.

Archivado en: Sin categoría

Entrada anterior: « QWeb en Odoo
Siguiente entrada: Expresiones regulares »

Interacciones del lector

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Barra lateral primaria

Categorías

  • Conceptos
  • Experimentos
  • GeekeBlocks
  • Noticias Geek
  • Proyectos
  • Sin categoría
  • Zona Coders!
  • Zona Junior!
  • Zona makers!

Etiquetas

Arduino Arduino nano Atom backup Buenas prácticas docker docker-compose dockerfile ECMAScript6 (2015) EditorConfig ES6 ESLint Expresiones regulares git IDE Java javascript JSON JSX lenguajes de programación Librerías de JavaScript mac Material UI MongoDb MVC NetBeans node NodeJS NoSQL Notepad++ nRF24L01 nvm odoo package.json plugins Prettier QWeb ReactJS shell Spring Framework ubuntu Visual Studio Visual Studio Code wordpress yaml

Entradas recientes

  • Firebase
  • _Lodash
  • Crear un entorno de desarrollo WordPress con Docker, en una patada
  • docker-compose
  • Dockerfile
  • Docker
  • TypeScript
  • Cómo tener distintas versiones de node en tu equipo?
  • Heroku
  • Node JS

Copyright © 2021 · GeekeZonia · Aviso Legal · Política de Cookies · Política de Privacidad · Iniciar sesión

Utilizamos cookies propias y de terceros para ofrecer nuestros servicios, recoger información estadística e incluir publicidad. Si continua navegando acepta su instalación y uso. Leer Mas. Acepta
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.

SAVE & ACCEPT