Definición y uso de matrices Java <Br /> Si desea guardar un conjunto de datos del mismo tipo, puede usar una matriz.
Definición de matriz y asignación de memoria
Hay dos sintaxis para definir matrices en Java:
type ArrayName [];
Tipo es cualquier tipo de datos en Java, incluidos los tipos básicos y los tipos de combinación. Por ejemplo:
int demoArray []; int [] demoArray;
No hay diferencia entre estas dos formas, y el efecto de uso es exactamente el mismo.
A diferencia de C y C ++, Java no asigna memoria para elementos de matriz al definir matrices, por lo que no es necesario especificar el número de elementos de matriz, es decir, la longitud de la matriz. Además, para una matriz definida anteriormente, no puede acceder a ninguno de sus elementos.
ArrayName = nuevo tipo [ArraySize];
Donde el conjunto de matrices es la longitud de la matriz y el tipo es el tipo de matriz. como:
demoArray = new int [3];
Asignar el espacio de memoria ocupado por 3 int Integers a una matriz entera.
Por lo general, puede asignar espacio mientras defines, con la sintaxis como:
type ArrayName [] = nuevo tipo [ArraySize];
Por ejemplo:
int demoArray [] = new int [3];
Inicialización de matrices
Puede inicializar (inicialización estática) al declarar la matriz, o puede inicializarla después de la declaración (inicialización dinámica). Por ejemplo:
// Inicialización estática // Mientras que la inicialización estática, asigna el espacio a los elementos de matriz y asigna el valor int Intarray [] = {1,2,3,4}; string stringArray [] = {"wechatyuan", "http: // www .weixueyuan.net "," Todos los lenguajes de programación son tigres de papel "}; // Inicialización dinámica Float FloatArray [] = New Float [3]; FloatArray [0] = 1.0f; FloatArray [1] = 132.63f; FloatArray [2] = 100f;Referencia de matriz
Se puede hacer referencia a una matriz por subíndice:
ArrayName [índice];
A diferencia de C y C ++, Java debe realizar controles fuera de los límites en los elementos de matriz para garantizar la seguridad.
Cada matriz tiene un atributo de longitud para indicar su longitud, por ejemplo, Intarray.length especifica la longitud de la matriz Intarray.
[Ejemplo] Escriba una pieza de código que requiera la entrada de 5 enteros y emita su suma.
import java.util.*; Public Class Demo {public static void main (string [] args) {int entarray [] = new int [5]; Dar elementos de matriz asignar System.out.print ("por favor ingrese" + len + "enteros, separados por espacios:"); ) {Intarray [i] = sc.nextInt (); ("La suma de todos los elementos de la matriz es:" + Total); Resultados de ejecución:
Ingrese 5 enteros, separados por espacios: 10 20 15 25 50
La suma de todos los elementos de la matriz es: 120
Transmisión
En el desarrollo real, a menudo es necesario atravesar la matriz para obtener cada elemento en la matriz. La forma más fácil de pensar es un bucle para el bucle, por ejemplo:
int ArrayDemo [] = {1, 2, 4, 7, 9, 192, 100}; para (int i = 0, len = arrayDemo.length; i <len; i ++) {System.out.println (ArrayDemo [i ] + ",");}
Resultado de salida:
1, 2, 4, 7, 9, 192, 100,
Sin embargo, Java proporciona una "versión mejorada" para Loop, que se usa especialmente para atravesar matrices, con la sintaxis:
for (ArrayType VarName: ArrayName) {// algún código}
ArrayType es un tipo de matriz (también el tipo de elemento de matriz);
Cada bucle se realiza, el valor del siguiente elemento en la matriz se obtiene y se guarda en la variable VarName hasta el final de la matriz. Es decir, el valor de VarName en el primer bucle es el elemento 0, y el segundo bucle es el primer elemento ... por ejemplo:
int ArrayDemo [] = {1, 2, 4, 7, 9, 192, 100}; para (int x: arraydemo) {system.out.println (x + ",");}
El resultado de salida es el mismo que el anterior.
Esta versión mejorada de For Loop también se llama "bucle foreach", que es una versión especial simplificada de las declaraciones ordinarias para bucle. Todos los bucles de Foreach se pueden reescribir para bucles.
Sin embargo, si desea utilizar el índice de una matriz, el mejor para el bucle no puede hacerlo.
Matriz bidimensional
La declaración, la inicialización y la referencia de matrices bidimensionales son similares a las matrices unidimensionales:
int entarray [] [] = {{1,2}, {2,3}, {4,5}}; int a [] [] = new int [2] [3]; a [0] [0] = 12; a [0] [1] = 34; // ...... a [1] [2] = 93; En el lenguaje Java, dado que las matrices bidimensionales se consideran matrices de matrices, el espacio de la matriz no se asigna continuamente, por lo que no se requiere que el tamaño de cada dimensión de la matriz bidimensional sea el mismo. Por ejemplo:
int Intarray [] [] = {{1,2}, {2,3}, {3,4,5}}; int a [] [] = new int [2] []; a [0] = nuevo int [3]; a [1] = new int [5]; [Ejemplo] Calcule el producto de dos matrices a través de una matriz bidimensional.
Public Class Demo {public static void main (string [] args) {// La primera matriz (inicialización dinámica de una matriz bidimensional) int a [] [] = new int [2] [3]; Matriz (estática inicializa una matriz 2D) int b [] [] = {{1,5,2,8}, {5,9,10, -3}, {2,7, -5, -18}}; // Resultado matriz int c [] [] = nuevo int [2] [4]; j ++) a [i] [j] = (i+1) * (j+2); <4; [j];}} // resultado de la liquidación de salida para (int i = 0; i <2; i ++) {para (int j = 0; j <4; j ++) System.out.printf ("%-5d", c [i] [j]); Resultados de ejecución:
25 65 14 -65 50 130 28-130
Algunas explicaciones:
Lo anterior es una matriz estática. Una vez que se declara una matriz estática, su capacidad se fija y no se puede cambiar. Por lo tanto, al declarar una matriz, debe considerar la capacidad máxima de la matriz para evitar la capacidad insuficiente.
Si desea cambiar la capacidad al ejecutar un programa, debe usar una lista de matriz (ArrayList, también conocida como una matriz dinámica) o un vector (vector).
Se debe precisamente a la desventaja de la capacidad fija de las matrices estáticas que no se usan con frecuencia en el desarrollo real y son reemplazados por ArrayList o Vector, porque en el desarrollo real, a menudo necesita agregar o eliminar elementos a la matriz, y su capacidad es No es fácil de estimar.
Cadena Java (cadena)
En la superficie, las cadenas son datos entre citas dobles, como "Weixueyuan", "http://www.weixueyuan.net", etc. En Java, puede usar el siguiente método para definir una cadena:
String StringName = "String Content";
Por ejemplo:
String url = "http://www.weixueyuan.net"; string webname = "wechatyuan";
Las cadenas se pueden concatenar a través de "+".
Public Class Demo {public static void main (string [] args) {string stuname = "xiao ming"; La calificación es " + stuscore; system.out.println (info);}} Resultados de ejecución:
La edad de Xiao Ming tiene 17 años y su calificación es 92.5
Las cadenas de cadenas tienen una cosa en común con las matrices, es decir, después de que se inicializan, su longitud permanece sin cambios y su contenido permanece sin cambios. Si desea cambiar su valor, se generará una nueva cadena, como se muestra a continuación:
String str = "Hello"; str += "World!";
Esta expresión de la asignación se parece un poco a un simple solitario, agregando una "cadena" directamente después de formar la cadena final "¡Hola mundo!". El principio operativo es el siguiente: el programa primero genera una cadena STR1 y se aplica para un espacio en la memoria. Es imposible agregar una nueva cadena en este momento porque la longitud de la cadena se fija después de que se inicializa. Si desea cambiarlo, solo puede renunciar al espacio original, volver a aplicar el espacio de memoria que puede acomodar el "Hola mundo!"
De hecho, String es una clase bajo el paquete Java.lang.
String StringName = new String ("String Content");
Por ejemplo:
String url = new String (http://www.weixueyuan.net);
Sin embargo, dado que la cadena se usa particularmente, Java proporciona una sintaxis simplificada.
Otra razón para usar sintaxis simplificada es que de acuerdo con la sintaxis estándar orientada a objetos, hay un desechos relativamente grandes en el uso de la memoria. Por ejemplo, String Str = New String ("ABC");
Operación de cadena
Hay muchas formas de operar cadenas fácilmente.
1) método de longitud ()
longitud () Devuelve la longitud de la cadena, por ejemplo:
Cadena str1 = "weixueyuan"; string str2 = "weixueyuan"; system.out.println ("La longitud de str1 es" + str1.length ()); system.out.println ("La longitud de st r2 es" + + str2.length ());
Resultado de salida:
La longitud de Str1 es 3 La longitud de Str2 es 10
Se puede ver que la longitud de cada personaje es 1, ya sea letras, números o caracteres chinos.
2) método charat ()
La función del método Charat () es obtener los caracteres especificados en la cadena de acuerdo con el valor del índice. Java estipula que el valor de índice del primer carácter en una cadena es 0, el valor de índice del segundo carácter es 1, y así sucesivamente. Por ejemplo:
Cadena str = "123456789"; System.out.println (str.charat (0) + "" + str.charat (5) + "" + str.charat (8));
Resultado de salida:
1 6 9
3) Contiene () método
El método Contiene () se usa para detectar si una cadena contiene una subcadena, por ejemplo:
Cadena str = "weixueyuan"; system.out.println (str.contains ("yuan"));
Resultado de salida:
verdadero
4) Método reemplazar ()
Reemplazo de cadenas, utilizado para reemplazar todas las sustras especificadas en una cadena, por ejemplo:
Cadena str1 = "La url de weixueyuan es www.weixueyuan.net!"; String str2 = str1.replace ("weixueyuan", "weixueyuan"); system.out.println (str1); syste m.out.println (str2 );
Resultado de salida:
¡La URL de Weixueyuan es www.weixueyuan.net! ¡La URL de Weixueyuan es www.weixueyuan.net!
Nota: El método Reemplazar () no cambia la cadena original, pero genera una nueva cadena.
5) Método Split ()
Use la cadena especificada como delimitador para dividir la cadena actual.
import java.util.*; Demo de clase pública {public static void main (string [] args) {string str = "wei_xue_yuan_is_good"; Matrices .tostring (strarr));
Resultados de ejecución:
[Wei, Xue, yuan, es bueno]
El anterior solo enumera algunos métodos de cadena comúnmente utilizados.