A contagem das letras em Java
plant.length() conta as letras que plant já guarda. String plant = "leaf"; continua a guardar leaf, e System.out.println(plant.length()) escreve 4. As letras continuam leaf. Não se tornam o número. O ponto depois do nome é a pergunta, e a linha de escrita mostra a resposta.
O ponto pergunta quantas letras
Abra Mint.java. O nome do arquivo continua Mint.java, porque public class Mint continua sendo o nome do arquivo. Esta página não muda o nome do arquivo e não muda public class Mint. A página anterior guardava String plant = "leaf"; e uma linha de escrita que mostrava leaf. Esta página guarda essa linha de guarda. Apague uma linha int se ela ainda estiver lá, da página anterior às aspas. Apague qualquer linha de import, qualquer linha do reader e qualquer linha do nextLine. O arquivo que você guarda não tem import, não tem Scanner e não tem nextLine. Uma importação sem uso não faz o javac falhar sozinha, e também não escreve a contagem. A contagem é escrita só pela linha de escrita que faz a pergunta.
Dentro de main, a linha de guarda continua String plant = "leaf";. String é a palavra do tipo. plant é o nome, e começa com um p minúsculo. As aspas guardam l, e, a, f, todas pequenas, e nada mais entre elas. Essa linha guarda as letras. Não faz uma pergunta e não escreve a tela. A pergunta é o trabalho seguinte, depois de guardar as letras. Depois do nome você escreve um ponto, depois a palavra da pergunta length, depois um par de parênteses sem nada dentro. A pergunta inteira é plant.length(). O ponto prende a pergunta ao nome. length é a palavra da pergunta para a contagem. Os parênteses vazios dizem que esta pergunta não precisa de uma palavra extra dentro. Aqui não há um número de lugar. No arquivo que você guarda, essa pergunta está dentro da segunda linha de escrita. Não é uma linha sozinha. Perguntar não é guardar. As letras do nome continuam leaf. A pergunta não tira as aspas e não coloca o número 4 dentro do nome plant.
O arquivo que você guarda escreve primeiro as letras e depois faz a pergunta. A primeira linha de escrita é o nome só: System.out.println(plant);. Sem aspas e sem ponto. Escreve leaf e termina a linha, como a página anterior. A segunda linha de escrita é a pergunta: System.out.println(plant.length());. Sem aspas em volta de length. O Java lê o nome plant, conta as letras que esse nome guarda, escreve essa contagem e termina a linha. Para o arquivo que você guarda, a contagem é 4. As aspas não estão na tela. A palavra length não está na tela. Os parênteses não estão na tela. As letras do próprio nome, p, l, a, n, t, não estão na tela. Salve o arquivo.
O arquivo que você guarda
Salve isto como Mint.java. É o arquivo que esta página guarda. Uma linha de guarda, String plant = "leaf";. Uma linha de escrita para as letras. Uma linha de escrita para a contagem. A linha da contagem é plant.length() dentro de println. Nada mais.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println(plant);
System.out.println(plant.length());
}
}
Leia de cima. public class Mint nomeia o arquivo. Não escreve a tela. public static void main(String[] args) é onde o Java começa. A palavra String nessa linha de main continua sem ser uma linha de guarda. A linha de guarda é a seguinte, String plant = "leaf";. Guarda quatro letras. Não escreve nada. System.out.println(plant); escreve leaf e termina a linha. System.out.println(plant.length()); escreve 4 e termina a linha. Duas linhas na tela. A primeira linha são as letras. A segunda linha é a contagem. As aspas ficam no arquivo, em volta de leaf, e não estão em nenhuma das duas linhas da tela.
O que a tela mostra
Na pasta que contém este Mint.java, escreva javac Mint.java. Quando o arquivo está certo, esse comando não escreve nenhuma linha. Uma pergunta depois do ponto não faz o javac escrever uma linha sozinha, nem faz o javac falhar. Depois escreva java Mint. Não escreva .java depois de java. São os mesmos dois comandos que você escreve no Windows e no macOS. Esta página não cita o aviso do shell. O programa escreve leaf e depois 4 na linha seguinte. Não espera que você escreva. As letras já estavam no arquivo, e a contagem é respondida com essas letras. Se java Mint espera, nextLine ainda está no arquivo. Apague essa linha e deixe a linha de guarda e as duas linhas de escrita. O programa termina depois da segunda linha de escrita.
A tela mostra leaf e depois 4. Quatro letras pequenas, depois a contagem, sem aspas em nenhuma das duas linhas. Se a tela mostra plant, uma linha de escrita tem aspas em volta do nome: System.out.println("plant");. Essas aspas marcam as letras p, l, a, n, t, então o leaf guardado não é escrito e a pergunta não é feita. Se a tela mostra só leaf, falta a segunda linha de escrita. O arquivo que você guarda tem as duas linhas, primeiro as letras e depois a contagem. Se a tela mostra só 4, falta a primeira linha de escrita. As letras podem continuar no arquivo, mas a prova desta página é a tela: leaf e depois 4. Se a tela mostra 4 e depois leaf, as duas linhas de escrita estão trocadas. Ponha println(plant) acima de println(plant.length()). Se a tela mostra 5, a contagem está errada para estas letras. As aspas não são letras que o nome guarda, então não fazem parte do 4. Uma quinta letra teria de estar entre as aspas. O arquivo que você guarda tem só l, e, a, f. Se a tela mostra mint, você ainda está num arquivo mais antigo. Se a tela mostra leaf e depois leaf outra vez, a segunda linha de escrita é outro println(plant), não a pergunta. Você não reinstala o Java porque a tela mostra a linha errada.
Uma letra grande entre as aspas conta como uma letra, igual a uma pequena. String plant = "Leaf"; faz plant.length() escrever 4 do mesmo modo. A linha de escrita das letras mostra Leaf, com um L grande. O arquivo que você guarda não usa isso. Usa quatro letras pequenas, e a linha da contagem escreve 4. Julgue a contagem pelas letras que de fato estão entre as aspas.
Você pode guardar a contagem sob um segundo nome. int count = plant.length(); toma a resposta, e a palavra do tipo é int, porque a resposta é um número inteiro. Depois System.out.println(count); escreve 4. Isso é permitido. Não é o arquivo que você guarda. O arquivo guardado escreve a pergunta diretamente, então a tela é leaf e depois 4, e você não precisa de um segundo nome para ver a contagem. O número 4 é a resposta. Não substitui as letras dentro de plant.
Um espaço conta como um
As letras entre as aspas podem mudar, e a contagem segue essas letras. Abaixo da primeira pergunta, guarde um novo conjunto de letras no mesmo nome e faça a pergunta de novo. A nova linha de guarda é plant = "leaf stem";. Não começa com String. plant já existe, então esta linha só muda as letras que o nome guarda. Entre as aspas há nove lugares: l, e, a, f, um espaço, s, t, e, m. O espaço é um deles. length conta esse espaço. As duas palavras continuam um valor guardado, não dois nomes. Este segundo arquivo não escreve as letras. Escreve só as duas contagens, para a tela não se confundir com as próprias letras.
Este é o segundo arquivo. Não é o arquivo que você guarda. O arquivo que você guarda tem uma linha de guarda, as letras leaf, nenhum espaço, e uma tela leaf e depois 4. Salve este segundo arquivo como Mint.java quando quiser ver o espaço contado, e depois volte a deixar o arquivo guardado.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println(plant.length());
plant = "leaf stem";
System.out.println(plant.length());
}
}
Escreva javac Mint.java. O arquivo está certo, então o javac não escreve nenhuma linha. A segunda linha de guarda pode não escrever String, e essa ausência não faz o javac falhar. Depois escreva java Mint. A tela mostra 4, e a linha seguinte é 9. Duas linhas. Sem aspas. As letras leaf não estão na tela. As letras leaf stem também não estão na tela. Só estão as contagens. A primeira contagem sai das letras que o nome guardava naquele momento. A segunda contagem sai das letras que o nome guarda depois de plant = "leaf stem";. Se a segunda linha é 8, falta o espaço entre as aspas, e as letras guardadas são leafstem. Se as duas linhas são 4, falta a segunda linha de guarda ou ela ainda diz "leaf". Se as duas linhas são 9, a primeira linha de guarda já diz "leaf stem". A tela segue a ordem das linhas no arquivo, e segue as letras entre as aspas, espaço incluído.
Não escreva String uma segunda vez para o mesmo nome. String plant = "leaf stem";, posto sob uma linha que já criou plant, é um erro diferente. Essa linha tenta criar plant outra vez. O javac escreve um erro e não fica calado. Você não precisa das palavras exatas desse erro. Ainda não escreva java Mint. Apague o segundo String e deixe plant = "leaf stem";. O nome é criado uma vez. As linhas seguintes só mudam as letras que ele guarda, ou fazem uma pergunta sobre essas letras. No arquivo que você guarda não há uma segunda linha de guarda. Depois de ver 4 e depois 9, volte a deixar esse arquivo: String plant = "leaf";, println(plant) e println(plant.length()).
Qual letra fica num lugar
length pergunta quantas. Outra pergunta pergunta qual letra fica num lugar. A palavra da pergunta é charAt. O lugar vai dentro dos parênteses, porque esta pergunta precisa dessa palavra extra. O primeiro lugar é 0, não 1. Em leaf, o lugar 0 tem l, o lugar 1 tem e, o lugar 2 tem a e o lugar 3 tem f. plant.charAt(0) responde com a letra só l. plant.charAt(1) responde com a letra só e. A resposta é uma letra, não a palavra leaf inteira, e não o número do lugar. As letras guardadas em plant continuam leaf. Perguntar por um lugar não apaga os outros.
Este é o terceiro arquivo. Não é o arquivo que você guarda. O arquivo que você guarda pergunta length, e a tela dele é leaf e depois 4. Salve este terceiro arquivo como Mint.java quando quiser ver os lugares, e depois volte a deixar o arquivo guardado.
public class Mint {
public static void main(String[] args) {
String plant = "leaf";
System.out.println(plant.charAt(0));
System.out.println(plant.charAt(1));
}
}
Escreva javac Mint.java. O arquivo está certo, então o javac não escreve nenhuma linha. Um número de lugar dentro dos parênteses não faz o javac falhar quando esse lugar é uma das letras. Depois escreva java Mint. A tela mostra l, e a linha seguinte é e. Duas linhas. Sem aspas. A palavra leaf não está na tela. Os números 0 e 1 não estão na tela. Se a primeira linha é e, a primeira pergunta pediu o lugar 1, que é a segunda letra. A primeira letra é o lugar 0. Se a primeira linha é leaf, a linha de escrita é println(plant), não charAt. Se a primeira linha é 0, a linha de escrita escreveu o número do lugar e não perguntou charAt. Se as duas linhas são l, as duas perguntas dizem charAt(0). O lugar 2 escreve a. O lugar 3 escreve f. Esses dois lugares existem em leaf. Este terceiro arquivo não os pergunta. Pergunta 0 e depois 1, para você ver que a contagem começa em 0.
Um lugar onde não há letra
O lugar 4 não é uma das letras de leaf. A contagem é 4, e os lugares que existem são 0, 1, 2 e 3. Mude a primeira pergunta para plant.charAt(4) e deixe o resto do terceiro arquivo. Escreva javac Mint.java. O javac não escreve nenhuma linha. A linha é uma pergunta permitida, então uma letra que falta não é uma falha do javac. Depois escreva java Mint. O programa escreve um erro. Não escreve uma quinta letra, e não escreve 4. Você não precisa das palavras exatas desse erro. O fato útil é que a falha acontece quando o programa corre, não quando o javac lê o arquivo. Volte a pôr charAt(0) e charAt(1) se ainda quiser essas duas linhas, e depois volte a deixar o arquivo guardado. Não deixe charAt(4) no arquivo que você guarda.
Um par vazio tem a contagem 0. String plant = ""; não guarda nenhuma letra. System.out.println(plant.length()); escreve 0. O javac não escreve nenhuma linha, porque um par vazio é permitido. java Mint escreve 0 e termina. Não espera. Uma linha em branco era o que println(plant) escrevia na página anterior. A pergunta é diferente: a tela mostra o dígito 0, que é a contagem, não uma linha em branco. plant.charAt(0) nesse par vazio é um lugar onde não há letra. O javac continua sem escrever nenhuma linha. java Mint escreve um erro, porque o lugar 0 precisa de uma letra e a contagem é 0. Depois de ver 0, faça a linha de guarda voltar a ser String plant = "leaf";.
Os parênteses fazem parte da pergunta. System.out.println(plant.length); tem o ponto e a palavra length, e não tem parênteses. O javac escreve um erro. Não fica calado. Não há tela para ler, porque você não escreve java Mint enquanto o javac escreve um erro. Você não precisa das palavras exatas. Volte a pôr o par de parênteses vazio, para a linha ser System.out.println(plant.length());. charAt não pode ficar vazio. System.out.println(plant.charAt()); escreve um erro no javac, porque essa pergunta precisa do lugar. Ponha um lugar que existe dentro dos parênteses, por exemplo 0, quando estiver no terceiro arquivo. O arquivo que você guarda usa length(), e entre os parênteses não há nada.
A pergunta é escrita depois do nome. System.out.println(length()); trata length como um nome que este arquivo não tem. O javac escreve um erro. A palavra da pergunta fica depois de plant e de um ponto. System.out.println(plantlength()); também é um nome, plantlength, e este arquivo não o tem. O ponto é o que separa o nome da pergunta. O nome tem de existir antes da linha que o usa. Se System.out.println(plant.length()); está escrito acima de String plant = "leaf";, o javac escreve um erro. A pergunta nomeia plant antes de plant existir. Mova a linha de guarda para cima das linhas de escrita. É a mesma ordem que você já usou para count e para reader.
A pergunta é para letras, não para um número inteiro que você guardou com int. int count = 4; e System.out.println(count.length()); perguntam a um número inteiro quantas letras ele guarda. O javac escreve um erro. Um número inteiro não tem pergunta length. O arranjo nesta página não é só acrescentar parênteses. O arranjo é fazer a pergunta ao nome que guarda letras: plant.length(). A página anterior às aspas guardava int e guardava 4, sem pergunta. A página anterior guardava String e guardava "leaf". Esta página guarda String, guarda "leaf" e pergunta length.
Agora você pode perguntar quantas letras um nome já guarda, e qual letra fica num lugar que começa em 0. String plant = "leaf"; continua a guardar leaf. System.out.println(plant); escreve leaf. System.out.println(plant.length()); escreve 4, e as letras continuam leaf. Um plant = "leaf stem"; mais adiante faz a contagem seguinte ser 9, porque o espaço conta como um. plant.charAt(0) escreve l, e plant.charAt(1) escreve e. Um lugar onde não há letra, como 4 para leaf, deixa o javac calado e faz java Mint escrever um erro. length sem parênteses faz o javac escrever um erro. A página seguinte deixa estas perguntas. Fica com um número inteiro como o 4 que esta contagem escreveu, e esse número você escreve de novo no arquivo.
A tela mostra a resposta, e as letras ficam
O arquivo que você guarda escreve leaf e depois 4. O nome na primeira linha de escrita é plant, e plant não está na tela. length está no arquivo, depois do ponto, e não está na tela. As aspas ficam em volta de leaf. Não são contadas, e não estão na tela. Um espaço entre as aspas é contado. O primeiro lugar é 0.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo