Aula 4.2: Strings e arrays em java #LTCode

COMPARTILHAR:

Aula 4.2 - Usando Strings e arrays em java POO

Este artigo faz parte do projeto #LTCode

Continuando com nossa série de aulas, se ainda não conferiu as anteriores... clique aqui! Hoje vamos aprender usar Strings e arrays.

Não existe o tipo primitivo String em Java. String é uma classe definida na biblioteca de classes java, a API Java. Portanto não devemos usar o operador "==" para comparar Strings, já que são tipos objetos.

Ex.: String teste1 = new String("java");
       String teste2 = new String("java");
       System.out.println(teste1==teste2);

A saída do código acima será: false
Enquanto que a saída do código abaixo será verdadeira:
     System.out.println(teste1.equals(teste2));

No entanto quando fazemos:
     String teste1 = "limontec.com";
     String teste2 = "limontec.com";
     System.out.println(teste1==teste2); //saída será: true
     System.out.println(teste1.equals(teste2)); //saída será: true

O problema demonstrado acima acontece pois o java possui uma pool (tipo de cache) que a JVM (Máquina Virtual Java) utiliza para otimizar o uso de Strings. Sendo assim o ideal para se comparar Strings é utilizando do método .equals() .

Por causa da pool as Strings se tornam imutáveis, exemplo:
    String temp = "minusculo";
    temp.toUpperCase(); //método para caixa alta
    System.out.println(temp); //saída: minusculo
    temp = temp.toUpperCase();
    System.out.println(temp); //saída: MINUSCULO

Isso ocorre pois todos os métodos que efetuariam mudanças nas Strings, não realizam sobre a String em questão e sim sobre uma cópia dela, retornando a modificação pedida com a cópia.

Abaixo você confere como realizar conversões de Strings:

Tipo: boolean
Para String: String.valueOf(boolean)
De String: Boolean.parseBooelan(String)

Tipo: int
Para String: String.valueOf(int)
De String: Integer.parseInt(String)

Tipo: float
Para String: String.valueOf(float)
De String: Float.parseFloat(String)

Tipo: double
Para String: String.valueOf(double)
De String: Double.parseDouble(String)

Tipo: char
Para String: String.valueOf(char)
De String:Char.parseChar(String)

A declaração de array em Java se diferencia um pouco do bom e velho C que você provavelmente aprendeu conosco. Confira como fica a declaração de um array de 12 posições (0 a 11):

int[] c; // declara a variável de array
c = new int[12]; // cria o array; atribui à variável de array

Também podemos fazer na mesma linha a declaração:
int[] c = new int[12];

A criação de arrays multidimensionais segue a mesma lógica:
int[][] b = new int[3][4];

Exemplo de um array do tipo String inicializado com os dias da semana:

String[] dia={"Domingo",
        "Segunda",
        "Terça",
        "Quarta",
        "Quinta",
        "Sexta",
        "Sabado"
    };

Para passar um argumento de array para um método especifique o nome do array sem nenhum colchete. Exemplo: double temperaturas = new double[24];

A chamada do método ficaria assim: modifiqueArray(temperaturas);
E a assinatura do método seria: public void modifiqueArray(double[] t)

Outra maneira de se trabalhar com arrays é utilizando uma classe de coleção, no caso a ArrayList. Coleções são estruturas de dados predefinidas, usadas para armazenar grupos de objetos relacionados na memória. Assim é possível utilizar métodos já prontos sem a necessidade de saber como funciona exatamente a lógica do método. A classe ArrayList está disponível no pacote java.util, assim é necessário importar este pacote ao utilizar essa classe. Alguns dos métodos dessa classe são:

add() - Adiciona um elemento ao final do ArrayList.
clear() - Remove todos os elementos do ArrayList.
contains() - Retorna true se o ArrayList contém o elemento especificado, caso contrário, retorna false.
get() - Retorna o elemento no índice especificado.
indexOf() - Retorna o índice da primeira ocorrência do elemento especificado no ArrayList.
remove() - Remove a primeira ocorrência do valor especificado ou o elemento no índice especificado.
Size() - Retorna o número de elementos armazenados em ArrayList.

Note que ao remover itens de uma coleção, os índices em que outros objetos estão armazenados podem ser alterados. Se você tentar acessar um índice que está fora dos índices válidos para uma coleção, ocorrerá uma mensagem de erro do tipo: "index_out_of_bounds". Também é importante saber que objetos nem sempre são inseridos na última posição de uma coleção. 

O acesso aos itens de um array é frequentemente mais eficiente do que o acesso aos itens de uma coleção (ArrayList por exemplo), os arrays são capazes de armazenar objetos ou valores de tipos primitivos, já as coleções de tamanho flexível podem armazenar somente objetos.

Você pode conferir um exemplo de implementação de ArrayList na próxima aula.

>> Próxima aula, clique aqui.

COMENTÁRIOS

Nome

#ann,24,#HK,22,#LTCode,70,Artigo - Diversos,159,Artigo - Games,196,Artigo - Tecnologia,533,autor-thomaz,7,Coluna - Alternative World,24,Coluna - Fail,12,Coluna - Tec Line,14,Criptomoeda,58,Curiosidades - Diversos,49,Curiosidades - Tecnologia,50,en,2,HN,12,Raspberry Pi,9,root,73,Shorty Awards,1,Smartphones - Reviews,33,Top Nostalgia,2,VPN,17,WhatsApp,45,
ltr
item
Limon Tec: Aula 4.2: Strings e arrays em java #LTCode
Aula 4.2: Strings e arrays em java #LTCode
Aula 4.2 - Usando Strings e arrays em java POO
https://1.bp.blogspot.com/-Vv6C0DkQgY0/WG_EGTY1EhI/AAAAAAAAFcs/qphwk8Z4UdkFSQu0zbS5xoZ_9_KovVlJACLcB/s640/ltcode.jpg
https://1.bp.blogspot.com/-Vv6C0DkQgY0/WG_EGTY1EhI/AAAAAAAAFcs/qphwk8Z4UdkFSQu0zbS5xoZ_9_KovVlJACLcB/s72-c/ltcode.jpg
Limon Tec
https://www.limontec.com/2019/02/aula-4-2-poo-java-ltcode.html
https://www.limontec.com/
https://www.limontec.com/
https://www.limontec.com/2019/02/aula-4-2-poo-java-ltcode.html
false
2157924926610706248
UTF-8
Carregar todos posts Não encontramos nenhum post VER TUDO Ler mais Responder Cancelar resposta Deletar Por Home PÁGINAS POSTS Ver tudo RECOMENDADO PARA VOCÊ LABEL ARQUIVO SEARCH TODOS POSTS Não encontramos nenhum post relacionado a sua requisição VOLTAR PÁGINA INICIAL Domingo Segunda Terça Quarta Quinta Sexta Sábado Dom Seg Ter Qua Qui Sex Sab Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro Jan Fev Mar Abr Maio Jun Jul Ago Set Out Nov Dez apenas agora 1 minuto atrás $$1$$ minutes ago 1 hora atrás $$1$$ hours ago Ontem $$1$$ days ago $$1$$ weeks ago mais de 5 semanas atrás Seguidores Seguir ESTE CONTEÚDO ESTÁ BLOQUEADO PASSO 1: Compartilhe com seus amigos PASSO 2: Clique no link compartilhado Copiar Todo Código Selecionar Todo Código Todos códigos foram copiados para seu clipboard Não é possível copiar códigos / textos, por favor aperte [CTRL]+[C] (ou CMD+C no Mac) para copiar Tabela de conteúdo