Definição e uso de matrizes java <r /> Se você deseja salvar um conjunto de dados do mesmo tipo, poderá usar uma matriz.
Definição da matriz e alocação de memória
Existem duas sintaxes para definir matrizes em Java:
Digite ArrayName [];
Tipo é qualquer tipo de dados em Java, incluindo tipos básicos e combinação. Por exemplo:
Int Demoarray []; Int [] Demoarray;
Não há diferença entre essas duas formas, e o efeito de uso é exatamente o mesmo.
Ao contrário de C e C ++, o Java não aloca memória para elementos da matriz ao definir matrizes, portanto, não há necessidade de especificar o número de elementos da matriz, ou seja, o comprimento da matriz. Além disso, para uma matriz definida acima, ele não pode acessar nenhum de seus elementos.
ArrayName = new Type [Arraysize];
Onde o ArraySize é o comprimento da matriz e do tipo é o tipo de matriz. como:
Demoarray = novo int [3];
ALoque o espaço de memória ocupado por 3 inteiros int para uma matriz inteira.
Geralmente, você pode alocar espaço enquanto define, com a sintaxe como:
digite ArrayName [] = novo tipo [Arraysize];
Por exemplo:
Int Demoarray [] = novo int [3];
Inicialização de matrizes
Você pode inicializar (inicialização estática) ao declarar a matriz ou pode inicializá -la após a declaração (inicialização dinâmica). Por exemplo:
// Inicialização estática // Embora a inicialização estática, aloca espaço para combinar elementos e atribui o valor int interay [] = {1,2,3,4}; string stringArray [] = {"wechatyuan", "http: // www .weixueyuan.net "," todas as linguagens de programação são tigres de papel "}; // inicialização dinâmica Float FloatArray [] = novo float [3]; floatArray [0] = 1.0f; floatArray [1] = 132,63f; floatArray [2] = 100f;Referência da matriz
Uma matriz pode ser referenciada pelo subscrito:
ArrayName [index];
Ao contrário de C e C ++, o Java deve realizar verificações fora dos limites nos elementos da matriz para garantir a segurança.
Cada matriz possui um atributo de comprimento para indicar seu comprimento, por exemplo, intray.length especifica o comprimento da matriz INTARRAY.
[Exemplo] Escreva um pedaço de código que requer entrada de 5 números inteiros e produza sua soma.
Importar java.util. Dê os elementos da matriz System.out.print ("digite" + len + "Inteiros, separados por espaços:"); ) {INTARRAY [i] = SC.NextInt (); ("A soma de todos os elementos da matriz é:" + total); Resultados em execução:
Por favor, digite 5 números inteiros, separados por espaços: 10 20 15 25 50 50
A soma de todos os elementos da matriz é: 120
Array Traversal
No desenvolvimento real, geralmente é necessário atravessar a matriz para obter todos os elementos da matriz. A maneira mais fácil de pensar é um loop for, por exemplo:
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 da saída:
1, 2, 4, 7, 9, 192, 100,
No entanto, o Java fornece uma "versão aprimorada" para o loop, que é usado especificamente para atravessar matrizes, com a sintaxe como:
para (ArrayType Varname: ArrayName) {// Alguns código}
ArrayType é um tipo de matriz (também o tipo de elemento da matriz);
Cada loop é feito, o valor do próximo elemento na matriz é obtido e salvo na variável Varname até o final da matriz. Ou seja, o valor do Varname no primeiro loop é o 0º elemento, e o segundo loop é o 1º elemento ... por exemplo:
int arraydemo [] = {1, 2, 4, 7, 9, 192, 100}; para (int x: ArrayDemo) {System.out.println (x + ",");}
O resultado da saída é o mesmo que acima.
Esta versão aprimorada do Loop também é chamada de "foreach loop", que é uma versão simplificada especial do Ordinary for Loop. Todos os loops foreach podem ser reescritos para loops.
No entanto, se você deseja usar o índice de uma matriz, o loop aprimorado não pode fazê -lo.
Array bidimensional
Declaração, inicialização e referência de matrizes bidimensionais são semelhantes às matrizes unidimensionais:
int intarray [] [] = {{1,2}, {2,3}, {4,5}}; int a [] [] = new int [2] [3]; a [0] [0] = 12; a [0] [1] = 34; // ...... a [1] [2] = 93; Na linguagem Java, como as matrizes bidimensionais são consideradas matrizes de matrizes, o espaço da matriz não é continuamente alocado; portanto, o tamanho de cada dimensão da matriz bidimensional não precisa ser o mesmo. Por exemplo:
int intarray [] [] = {{1,2}, {2,3}, {3,4,5}}; int a [] [] = new int [2] []; a [0] = novo int [3]; a [1] = new int [5]; [Exemplo] Calcule o produto de duas matrizes através de uma matriz bidimensional.
classe pública demonstração {public static void main (string [] args) {// a primeira matriz (inicialização dinâmica de uma matriz bidimensional) int a [] [] = new int [2] [3]; Matrix (inicializa estaticamente uma matriz 2D) int b [] [] = {{1,5,2,8}, {5,9,10, -3}, {2,7, -5, -18}}; // Matrix de resultado int c [] [] = new int [2] [4]; j ++) a [i] [j] = (i+1) * (j+2); <4; [j]; C [i] [j]); Resultados em execução:
25 65 14 -65 50 130 28 -130
Algumas explicações:
O acima é uma matriz estática. Depois que uma matriz estática é declarada, sua capacidade é fixa e não pode ser alterada. Portanto, ao declarar uma matriz, você deve considerar a capacidade máxima da matriz para evitar capacidade insuficiente.
Se você deseja alterar a capacidade ao executar um programa, precisará usar uma lista de matrizes (ArrayList, também conhecida como uma matriz dinâmica) ou um vetor (vetor).
É precisamente devido à desvantagem da capacidade fixa de matrizes estáticas que não são usadas com frequência no desenvolvimento real e são substituídas por Arraylist ou Vector, porque no desenvolvimento real, geralmente precisa adicionar ou excluir elementos à matriz, e sua capacidade é não é fácil de estimar.
String java (string)
Na superfície, as cordas são dados entre citações duplas, como "weixueyuan", "http://www.weixueyuan.net", etc. Em Java, você pode usar o seguinte método para definir uma string:
String StringName = "String Content";
Por exemplo:
String url = "http://www.weixueyuan.net"; string webname = "wechatyuan";
As strings podem ser concatenadas através de "+".
classe pública demonstração {public static void main (string [] args) {string atuname = "xiao ming"; A nota é " + stuscore; system.out.println (info);}} Resultados em execução:
A idade de Xiao Ming é 17 e sua nota é 92,5
As cordas de cordas têm uma coisa em comum com as matrizes, isto é, depois de serem inicializadas, seu comprimento permanece inalterado e seu conteúdo permanece inalterado. Se você deseja alterar seu valor, uma nova string será gerada, como mostrado abaixo:
String str = "hello"; str += "mundo!";
Essa expressão de atribuição parece um solitário simples, adicionando um "mundo!" O princípio operacional é o seguinte: o programa gera primeiro uma string str1 e se aplica a um espaço de espaço na memória. É impossível anexar uma nova string neste momento, porque o comprimento da string é corrigido após a inicialização. Se você deseja alterar, você pode desistir do espaço original, reaplique o espaço de memória que pode acomodar o "Hello World!"
De fato, a String é uma classe no pacote java.lang.
String StringName = new String ("String Content");
Por exemplo:
String url = new string (http://www.weixueyuan.net);
No entanto, como a string é particularmente usada, o Java fornece uma sintaxe simplificada.
Outro motivo para o uso da sintaxe simplificada é que, de acordo com a sintaxe padrão orientada a objetos, há um desperdício relativamente grande no uso da memória. Por exemplo, String str = new String ("ABC");
Operação da string
Existem muitas maneiras de operar strings facilmente.
1) Método Length ()
comprimento () retorna o comprimento da corda, por exemplo:
String str1 = "weixueyuan"; string str2 = "weixueyuan"; system.out.println ("o comprimento de str1 é" + str1.length ()); system.out.println ("o comprimento de st r2 é" + str2.Length ());
Resultado da saída:
O comprimento de STR1 é 3 O comprimento de STR2 é 10
Pode -se observar que o comprimento de cada caractere é 1, sejam letras, números ou caracteres chineses.
2) Método Charat ()
A função do método Charat () é obter os caracteres especificados na sequência de acordo com o valor do índice. Java estipula que o valor do índice do primeiro caractere em uma string é 0, o valor do índice do segundo caractere é 1 e assim por diante. Por exemplo:
String str = "123456789"; System.out.println (str.charat (0) + "" + str.charat (5) + "" + str.Charat (8));
Resultado da saída:
1 6 9
3) contém () método
O método contains () é usado para detectar se uma string contém uma substring, por exemplo:
String str = "weixueyuan"; system.out.println (str.contains ("yuan"));
Resultado da saída:
verdadeiro
4) Método substituir ()
Substituição de string, usada para substituir todas as substringas especificadas em uma string, por exemplo:
String str1 = "O URL de Weixueyuan é www.weixueyuan.net!"; String str2 = str1.replace ("weixueyuan", "weixueyuan"); System.out.println (str1); syste m.out.println (str2 );
Resultado da saída:
O url de weixueyuan é www.weixueyuan.net! O url de weixueyuan é www.weixueyuan.net!
NOTA: O método substitui () não altera a string original, mas gera uma nova string.
5) Método Split ()
Use a sequência especificada como delimitador para dividir a sequência atual.
Importar java.util. Matrizes .ToString (Starr));
Resultados em execução:
[Wei, Xue, Yuan, é bom]
O acima liste apenas alguns métodos comumente usados de objetos de string.