[JavaSE] array

El uso básico de la matriz

¿Qué es una matriz de
la matriz de modo que podamos esencialmente "a granel" para crear el mismo tipo de variable.
La creación de una serie de

// 动态初始化
数据类型[] 数组名称 = new 数据类型 [长度] { 初始化数据 };
// 静态初始化
数据类型[] 数组名称 = { 初始化数据 }; 

Usando un conjunto de :
la obtención de acceso y un conjunto de elementos

public class Solution {
    public static void main(String[] args) {
        int[] arr = {1,2,3};
        //获取数组长度
        System.out.println("length = " + arr.length);
        //访问数组元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        arr[2] = 50;
        System.out.println(arr[2]);
    }
}

Aquí Insertar imagen Descripción
Utilice [] elementos de la matriz toman la prensa estándar. Se hace notar que el subíndice cuenta a partir de 0, leer datos o bien puede modificar los datos.
operación de acceso Subíndice no puede exceder el rango válido [0, longitud - 1], si más allá del alcance efectivo, el subíndice delimita se produce una excepción.
Matriz de recorrido :

public class Solution {
    public static void main(String[] args) {
        int[] arr = {9,5,2,7,3,6,8,1};
        for(int i = 0;i < arr.length;i++) {
            System.out.println(arr[i]);
        }
    }
}

Usando para-cada bucle a través de la matriz

public class Solution {
    public static void main(String[] args) {
        int[] arr = {9,5,2,7,3,6,8,1};
        for(int i : arr) {
            System.out.println(i);
        }
    }
}

Como método de parámetro de matriz

public class Solution {
    public static void main(String[] args) {
        int[] arr = {9,5,2,7,3,6,8,1};
        printArray(arr);
    }
    public static void printArray(int a[]) {
        for(int i : arr) {
            System.out.println(i);
        }
    }
}

int [] a es un parámetro de función, int [] arr está argumentos de la función.

tipos de referencia

  • Incorporado en el parámetro tipo pasado
public static void main(String[] args) {
    int num = 0;
    func(num);
    System.out.println("num = " + num);
}
public static void func(int x) {
    x = 10;
    System.out.println("x = " + x);
}

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Parámetros del tipo básico de transferencia de datos es el valor de transmisión de los cambios de parámetros no afectará a la discusión.

  • Parámetros pasados ​​tipo de matriz
public class Solution {
    public static void func(int[] a) {
        a[0] = 10;
        System.out.println("a[0] = " + a[0]);
    }
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        func(arr);
        System.out.println("arr[0] = " + arr[0]);
    }
}

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
Encontramos que: modificar el contenido de la matriz dentro de la función, la función externa también cambia.
La razón es que esta vez el nombre de la arr matriz es una "referencia". A medida que pasaba el tiempo el Senado, de acuerdo con una participación masiva de referencia.
¿Cuál es la referencia : el equivalente de un puntero versión de baja a
crear una referencia única para crear el equivalente de una pequeña variable que contiene un número entero que representa una dirección en la memoria.

Resumen : el llamado "de referencia" es esencialmente sólo guarda una dirección de matriz de Java se ajusta a un tipo de referencia, por lo que el seguimiento llevado a cabo la participación masiva argumento de matriz, de hecho, solamente.
Es la dirección de la matriz pasada a un parámetro de la función de esta manera se puede. copia evitar de toda la matriz (array puede ser relativamente largo, entonces el costo será enorme copia).

zonificación memoria de la JVM

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

  • Y las referencias a las variables locales almacenados en la pila, nuevos objetos almacenados en el montón.
  • El espacio es muy grande montón, espacio de pila es relativamente pequeño.
  • Toda montón es una JVM compartida, y cada hilo tiene una pila (puede haber varias pilas de un programa Java).
    Matriz de ejercicios
    Ver anterior entrada del blog
    https://blog.csdn.net/weixin_44945537/article/details/ 100999613? utm_source = aplicación
Publicado 60 artículos originales · ganado elogios 23 · vistas 3311

Supongo que te gusta

Origin blog.csdn.net/weixin_44945537/article/details/104064936
Recomendado
Clasificación