java array declare
Aquest tutorial detallat explica diverses maneres de declarar, crear i inicialitzar una nova matriu amb valors a Java amb l'ajuda d'exemples de codi simple:
En el nostre tutorial anterior, vam discutir els conceptes bàsics de matrius a Java juntament amb els diferents conceptes associats a matrius que aprendrem detalladament en aquesta sèrie de tutorials.
El primer pas i més important amb matrius és crear-los. Heu de ser conscients de quin tipus d’elements i quants elements emmagatzemareu a les matrius. Un cop declarada una matriu, és possible que vulgueu inicialitzar-los proporcionant alguns valors inicials i hi ha diversos mètodes per fer-ho.
netejador de brossa gratuït per a Windows 10
Així, en aquest tutorial, ens centrarem en la creació i inicialització de matrius abans de passar a altres conceptes.
Què aprendreu:
- Com es pot declarar una matriu a Java?
- Instanciar i inicialitzar una matriu de Java
- Inicialització i accés a elements de matriu
- Preguntes freqüents
- Conclusió
- Lectura recomanada
Com es pot declarar una matriu a Java?
A Java, es declara una matriu unidimensional d'una de les maneres següents:
data_type() array_name; {or} data_type array_name(); {or} data_type ()array_name;
Aquí, el tipus de dades especifica el tipus de dades que contindrà la matriu. El 'tipus_dades' pot ser un tipus de dades primitiu o qualsevol tipus derivat.
Per exemple, una matriu myarray del tipus enter es declara de la següent manera:
int () myarray;
O
int () myarray;
O
int myarray ();
Això significa que la matriu de matriu contindrà els elements del tipus de dades int.
Tingueu en compte que, com que les matrius de Java s’assignen dinàmicament, no especifiquem cap dimensió ni mida de la matriu amb la declaració. La declaració anterior indica al compilador que hi ha una variable matriu ‘myarray’ de tipus int que emmagatzemarà els valors del tipus enter.
El compilador no coneix la mida ni els valors reals emmagatzemats en una matriu. Només ho sabrà després d'inicialitzar la matriu.
Instanciar i inicialitzar una matriu de Java
Ja hem declarat una matriu a la secció anterior. Però això és només una referència. Per utilitzar la variable de matriu declarada anteriorment, cal que la instancieu i, a continuació, proporcioneu valors. La matriu s’instancia amb ‘nou’.
La sintaxi general de la instanciació és la següent:
array_name = new data_type (size);
A la declaració anterior, array_name és el nom de la matriu que s’instancia.
data_type=> type of elements the array is going to store size=> the number of elements that will be stored in array
Per tant, quan utilitzeu new amb la matriu, realment assigneu la matriu amb el tipus de dades i el nombre d'elements.
Per tant, la matriu de matriu declarada es pot instanciar de la següent manera:
myarray = new int(10)
Per tant, crear una matriu a Java implica dos passos, tal com es mostra a continuació:
int() myarray; //declaration myarray = new int(10); //instantiation
Un cop creada la matriu, podeu inicialitzar-la amb els valors següents:
myarray(0) = 1; myarray(1) = 3; ….and so on until all elements are initialized.
L'expressió entre claudàtors anteriors s'anomena índex de la matriu. L'índex de la matriu s'utilitza per accedir al valor real dels elements, és a dir, la matriu anterior de matriu de 10 elements int tindrà índexs numerats de 0 a 9. Podeu accedir a l'element de la matriu en una posició particular especificant l'índex com a sobre.
Tingueu en compte que l'índex de matriu sempre comença a partir de 0. Alternativament, també podeu fer la inicialització mitjançant un bucle que veurem més endavant.
També podeu utilitzar la matriu literal i inicialitzar la matriu durant la declaració, tal com es mostra a continuació:
int() myarray = {1,3,5,7};
A l’afirmació anterior, la longitud de la matriu està determinada pel nombre d’elements. A més, com podeu veure, no cal fer servir 'nou'. Més important encara, la declaració, la instanciació i la inicialització de la matriu es fan en una única sentència.
A continuació es mostra un exemple senzill de programació de declaració i inicialització de la matriu.
public class Main { public static void main(String() args) { int() myarray; //declaration myarray = new int(5); //instantiation myarray(0) = 10; //initialization System.out.println('myarray(0) = ' + myarray(0)); //accessing and printing array elements System.out.println('myarray(1) = ' + myarray(1)); int () oddArray = {1,3,5,7}; //initialization with array literal System.out.println('oddArray(0) = ' + oddArray(0)); System.out.println('oddArray(1) = ' + oddArray(1)); System.out.println('oddArray(2) = ' + oddArray(2)); System.out.println('oddArray(3) = ' + oddArray(3)); } }
Sortida:
Aquest programa va demostrar una declaració de matriu i la seva instanciació, així com la inicialització. Tingueu en compte que, com que només hem inicialitzat l’othvalor de myarray, l’altre valor myarray (1) que s’imprimeix té un valor per defecte, és a dir, 0.
La segona matriu mostra la variable literal de la matriu. Fins i tot si no inicialitzeu la matriu, el compilador Java no donarà cap error. Normalment, quan la matriu no s’inicialitza, el compilador assigna valors per defecte a cada element de la matriu segons el tipus de dades de l’element.
Demostrarem aquests valors per defecte mitjançant el programa següent.
class Main { public static void main(String() args) { System.out.println('=======Default Values======'); System.out.print('String Array:'); String() array_str = new String(5); //declaration and instantiation for (String str : array_str) //assumes default values System.out.print(str + ' '); System.out.println('
'); System.out.print('Integer array:'); //array only instantiated not initialized int() array_num = new int(5); for (intnum : array_num) System.out.print(num + ' '); System.out.println('
'); System.out.print('Double array:'); //array only instantiated not initialized doublearray_double() = new double(5); for (double dnum : array_double) System.out.print(dnum + ' '); System.out.println('
'); System.out.print('Boolean array:'); //array only instantiated not initialized booleanarray_bool() = new boolean(5); for (booleanbval : array_bool) System.out.print(bval + ' '); System.out.println('
'); } }
Sortida:
Al programa anterior, els acabem de declarar i instanciar. No els hem inicialitzat cap valor. Així, quan mostrem el contingut d’aquestes matrius, en funció del tipus de dades de la matriu, els elements tindran diferents valors per defecte.
Com es va veure més amunt, la matriu de cadenes té per defecte com a 'nul', els valors enters són 0 i els valors dobles per defecte a 0,0. Els valors booleans tenen els valors predeterminats establerts en false.
Internet de les coses per veure les empreses
Inicialització i accés a elements de matriu
# 1) Ús de Loop
El programa escrit anterior utilitza un literal de matriu per inicialitzar i els altres elements de matriu s’inicialitzen per separat. També podeu utilitzar el bucle per inicialitzar els elements de la matriu.
Hem convertit la matriu anterior utilitzant la matriu literal per inicialitzar-la mitjançant el bucle for al programa següent.
public class Main { public static void main(String() args) { int() oddArray; //declaration oddArray = new int(5); //instantiation for(int i=0;i<5;i++){ oddArray(i) = i+1; //initialization using for loop } System.out.println('oddArray(0) = ' + oddArray(0)); System.out.println('oddArray(1) = ' + oddArray(1)); System.out.println('oddArray(2) = ' + oddArray(2)); System.out.println('oddArray(3) = ' + oddArray(3)); System.out.println('oddArray(4) = ' + oddArray(4)); } }
Sortida:
Aquí, com podeu veure, hem inicialitzat la matriu mitjançant el bucle for. Cada element ‘i’ de la matriu s’inicialitza amb el valor = i + 1. A part d’utilitzar el mètode anterior per inicialitzar matrius, també podeu fer servir alguns dels mètodes de la classe ‘Matrius’ del paquet ‘java.util’ per proporcionar valors inicials per a la matriu.
A continuació parlarem d'alguns d'aquests mètodes.
# 2) Utilitzar Arrays.fill ()
El mètode fill () de la classe ‘Arrays’ es pot utilitzar per inicialitzar la matriu. Quan inicialitzeu una matriu mitjançant aquest mètode, la matriu s'omple amb els mateixos valors en tots els índexs.
A continuació es mostra l'exemple de programació.
import java.util.*; public class Main { public static void main(String() args) { int() oddArray; oddArray = new int(5); //fill the array with value 30 Arrays.fill(oddArray, 30); System.out.println('Array Elements initialised with Arrays.fill:'); for(int i=0;i<5;i++) System.out.println('oddArray(' + i +') = ' + oddArray(i)); } }
Sortida:
Al programa anterior, hem proporcionat 30 com a valor a omplir per a la matriu. La sortida mostra que tots els elements de la matriu tenen un valor de 30.
# 3) Ús de Arrays.copyOf ()
Mitjançant el mètode ‘copyOf ()’, fem servir una matriu font i després copiem els seus valors en una matriu nova. Podeu especificar quants valors s'han de copiar i, a continuació, els elements restants de la matriu tindran valors per defecte.
Consulteu el programa següent.
import java.util.*; public class Main { public static void main(String() args) { int evenArray() = { 2,4,6,8,10 }; //copy contents of evenArray to copyof_Array int() copyof_Array = Arrays.copyOf(evenArray,5); System.out.println('Array Elements initialised with Arrays.copyOf:'); //print the array elements for(int i=0;i<5;i++) System.out.println('copyof_Array(' + i +') = ' + copyof_Array(i)); } }
Sortida:
En aquest programa, fem servir una matriu d'origen anomenada 'evenArray'. Mitjançant el mètode copyOf hem copiat tots els elements de evenArray a la nova matriu. A la sortida, mostrem el contingut de la nova matriu que és el mateix que evenArray.
A part dels dos mètodes anteriors, acabem de discutir que hi ha més mètodes com el mètode setAll () de la classe Arrays i el mètode clone () d'ArrayUtils que es poden utilitzar per inicialitzar matrius. A continuació, abordarem aquests mètodes en aquesta sèrie de tutorials en els temes respectius.
Preguntes freqüents
P # 1) Podem declarar una matriu sense mida?
Resposta: No, no és possible declarar una matriu sense especificar la mida. Si voleu fer-ho, podeu utilitzar ArrayList que té una naturalesa dinàmica.
Q # 2) La mida de la matriu està fixada a Java?
Resposta: Sí. Les matrius són estàtiques a Java i declareu una matriu amb una mida especificada. Un cop especificada aquesta mida, no la podreu tornar a canviar.
P # 3) Sempre és necessari utilitzar nous mentre inicialitzeu matrius?
Resposta: Les matrius es poden inicialitzar utilitzant nous o assignant valors separats per comes inclosos entre claus.
Per tant, quan inicialitzem una matriu utilitzant Array literal, tal com es mostra a continuació. No cal que n'utilitzeu de nous.
int() myarray = {1,2,3,4,5};
El nombre d'elements proporcionats determinarà la mida de la matriu.
Q # 4) Java Array es pot serialitzar?
Resposta: Sí. Internament, la matriu a Java implementa la interfície serialitzable.
P # 5) És un tipus de dades Array Primitive?
Resposta: De fet, una matriu no és en absolut un tipus de dades. Una matriu és un objecte contenidor que conté els elements de tipus de dades específics en ubicacions de memòria contigües.
Conclusió
Això resumeix la creació i inicialització de matrius a Java. Un cop creades i inicialitzades les matrius a alguns valors, cal que les imprimim. Per imprimir els elements de la matriu, hem de recórrer tota la matriu i els elements d’impressió.
Analitzarem alguns dels mètodes d'impressió d'elements de matriu al nostre següent tutorial.
Lectura recomanada
- Interfície Java i tutoria de classes abstractes amb exemples
- Introducció al llenguatge de programació Java: vídeo tutorial
- Fils de Java amb mètodes i cicle de vida
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java
- Tutorial de longitud de matriu de Java amb exemples de codi
- Matriu C #: Com declarar, inicialitzar i accedir a una matriu a C #?
- Java Hello World: creeu avui el vostre primer programa a Java
- Introducció a matrius de Java i conceptes relacionats