¡Hola! Los programadores suelen utilizar métodos de forma automática, sin pensar en cómo funcionan. Estas son las técnicas básicas que debes conocer.
¿Para qué sirve un método
Imagina que tienes una cuerda larga. Por ejemplo, una carta, y necesita encontrar el lugar donde se realiza la primera dirección al destinatario con un nombre que ya conoce. ¿Cómo harás ésto? Utilice el método Opciones de método
El método N° 1.
El método No. 2.
El método Numero 3.
El método No. 4.
El método
¿Qué es la sobrecarga de métodos?
Antes de ver el método mencionado en el título, recordemos (y alguien lo sabrá) qué es la sobrecarga de métodos. La sobrecarga de métodos Java permite definir dos o más métodos con el mismo nombre dentro de la misma clase. Esto sólo es posible si tienen diferentes parámetros de entrada. En este caso, los métodos se denominan sobrecargados y el proceso en sí se denomina sobrecarga de métodos. La sobrecarga de métodos es uno de los principios fundamentales del polimorfismo en Java.¿Para qué sirve un método indexOf
de clase ?String
Imagina que tienes una cuerda larga. Por ejemplo, una carta, y necesita encontrar el lugar donde se realiza la primera dirección al destinatario con un nombre que ya conoce. ¿Cómo harás ésto? Utilice el método indexOf java
de clase String
. Este método es un ejemplo típico de sobrecarga de métodos, que comentamos anteriormente.
Opciones de métodoindexOf
El método java string indexOf
tiene cuatro variaciones diferentes:
N° 1.indexOf(int ch)
El método int indexOf(int ch)
devuelve el índice en la cadena dada de la primera aparición del carácter especificado. En otras palabras, obtendremos el número de la primera aparición de un carácter determinado, contando de izquierda a derecha. Ejemplo:
public static void main(String[] args) {
String str = "Diego, where is my money?";
int value = str.indexOf('e');
System.out.println(value);
}
Salida de consola:
2
Si el carácter que buscamos no está en esta línea obtendremos -1.
public static void main(String[] args) {
String str = "Diego, where is my money?";
int value = str.indexOf('j');
System.out.println(value);
}
Salida de consola:
-1
PD Para no confundir nada, no debes olvidar que los caracteres de una línea no se cuentan desde “1,2,3...”, sino desde “0,1,2...”
No. 2.indexOf(int ch, int fromIndex)
El método int indexOf(int ch, int fromIndex)
devuelve el índice en esta cadena de la primera aparición del carácter especificado, iniciando una búsqueda en el índice especificado. Este método es una versión más modernizada del anterior. La diferencia es que indicamos el número del elemento a partir del cual realmente comenzará la búsqueda. Ejemplo:
public static void main(String[] args) {
String str = "Diego, where is my money?";
int value = str.indexOf('e',5);
System.out.println(value);
}
Salida de consola:
9
Si el índice desde el cual se realizará la búsqueda excede la longitud de la cadena, entonces la respuesta será -1. Como habrás notado, en la firma de estos dos métodos (lo que los métodos toman como argumentos), el tipo del símbolo que se pasa se especifica como int
, no char
. Sin embargo, transmitimos char
. Esto se debe a que las cadenas se almacenan como una matriz de bytes, donde las celdas corresponden a un carácter específico de tipo char
. La correspondencia entre los bytes char
se realiza según la tabla ASCII. ASCII (código estándar americano para el intercambio de información) es una tabla que asigna caracteres imprimibles y no imprimibles comunes a códigos numéricos. Por lo tanto, cuando se pasa un determinado carácter char
, se convierte automáticamente en un número que representa ese carácter en la tabla ASCII. En base a esto, podemos pasar directamente el número ( int
) al método, que corresponde al carácter que necesitamos. Por ejemplo, el carácter 'e' de la tabla ASCII corresponde al número 101, por lo que podemos repetir el ejemplo anterior, pero sin char
:
public static void main(String[] args) {
String str = "Diego, where is my money?";
int value = str.indexOf(101,5);
System.out.println(value);
}
La salida de nuestra consola no ha cambiado:
9
PD: En algunos casos, estos métodos son intercambiables, como por ejemplo str.indexOf('e');
serán similares: str.indexOf('e', 0);
.
Numero 3.indexOf(String str)
El método int indexOf(String str)
devuelve el índice en la fila dada de la primera aparición de la subcadena especificada. Es fundamentalmente diferente de la primera opción en que este método ya busca una subcadena completa ( String
). Gracias a esto, podemos buscar algo más específico. Ejemplo:
public static void main(String[] args) {
String str = "Diego, where is my money? Diego,you made me very upset";
int value = str.indexOf("Diego");
System.out.println(value);
}
Salida de consola:
0
PD: Todas las variaciones indexOf
distinguen entre mayúsculas y minúsculas: los caracteres en mayúsculas (letras mayúsculas) y los caracteres en minúsculas (letras minúsculas) se consideran diferentes. Ten cuidado.
No. 4.indexOf(String str, int fromIndex)
El método indexOf(String str, int fromIndex)
devuelve el índice en esta fila de la primera aparición de la subcadena especificada, comenzando en el índice especificado. Esta opción vuelve a ser una opción anterior más modernizada, pero con indicación del lugar desde donde se realizará la búsqueda. Ejemplo:
public static void main(String[] args) {
String str = "Diego, where is my money? Diego,you made me very upset";
int value = str.indexOf("Diego", 1);
System.out.println(value);
}
Salida de consola:
26
PD: Si especifica un índice inicial negativo, el método indexOf
lo percibirá como 0. En este caso, el método volverá a ser similar al anterior (en el que no se especifica el índice inicial). Es todo por hoy. ¡ Ahora tienes más conocimientos gracias a indexOf
Java!
GO TO FULL VERSION