|
| 1 | +# Criando variáveis e nomeando-as |
| 2 | + |
| 3 | + |
| 4 | +## Variáveis |
| 5 | + |
| 6 | +Como você aprendeu na seção anterior, um objeto armazena seu estado em campos. |
| 7 | + |
| 8 | +Vamos supor que temos um objeto Bicicleta: |
| 9 | + |
| 10 | +````java |
| 11 | +int cadência = 0; |
| 12 | +int velocidade = 0; |
| 13 | +int gear = 1; |
| 14 | +```` |
| 15 | +gear = marcha |
| 16 | + |
| 17 | +A seção: O que é um objeto? apresentou os campos, mas você provavelmente ainda tem algumas perguntas, como: |
| 18 | + |
| 19 | + |
| 20 | +````bash |
| 21 | +> Quais são as regras e convenções para nomear um campo? |
| 22 | + |
| 23 | +> Além de int, que outros tipos de dados existem? |
| 24 | + |
| 25 | +> Os campos precisam ser inicializados quando são declarados? |
| 26 | + |
| 27 | +> É atribuído um valor padrão aos campos se eles não forem inicializados explicitamente? |
| 28 | + |
| 29 | +```` |
| 30 | + |
| 31 | +Exploraremos as respostas a essas perguntas nesta seção, mas, antes disso, há algumas distinções técnicas que você deve conhecer primeiro. |
| 32 | + |
| 33 | + |
| 34 | +Na linguagem de programação Java, os termos “campo” e “variável” podem ser usados; |
| 35 | + |
| 36 | +essa é um ponto comum de confusão entre os novos desenvolvedores, pois ambos parecem se referir à mesma coisa. |
| 37 | + |
| 38 | + |
| 39 | + A linguagem de programação Java define os seguintes tipos de variáveis: |
| 40 | + |
| 41 | + |
| 42 | +## Variáveis de instância (campos não estáticos) |
| 43 | + |
| 44 | + |
| 45 | +````rust |
| 46 | + |
| 47 | +- Tecnicamente falando, os objetos armazenam seus estados individuais em “campos não estáticos”, |
| 48 | + |
| 49 | +ou seja, campos declarados sem a palavra-chave static. |
| 50 | + |
| 51 | +- Os campos não estáticos também são conhecidos como variáveis de instância |
| 52 | + |
| 53 | +porque seus valores são exclusivos para cada instância de uma classe (para cada objeto, em outras palavras); |
| 54 | + |
| 55 | +- Por exemplo: a velocidade atual de uma bicicleta é independente da velocidade de outra. |
| 56 | + |
| 57 | +```` |
| 58 | + |
| 59 | +## Variáveis de classe (campos estáticos) |
| 60 | + |
| 61 | + |
| 62 | +````python |
| 63 | +- Uma variável de classe é qualquer campo declarado com o modificador estático; |
| 64 | + |
| 65 | +isso informa ao compilador que existe exatamente uma cópia dessa variável, |
| 66 | +independentemente de quantas vezes a classe tenha sido instanciada. |
| 67 | + |
| 68 | +- Um campo que define o número de marchas de um determinado tipo de bicicleta pode ser marcado como estático, |
| 69 | + |
| 70 | +pois conceitualmente o mesmo número de marchas será aplicado a todas as instâncias. |
| 71 | + |
| 72 | +- O código static int numGears = 6; criaria esse campo estático. Além disso, |
| 73 | + |
| 74 | +a palavra-chave final poderia ser adicionada para indicar que o número de marchas nunca será alterado. |
| 75 | +```` |
| 76 | + |
| 77 | +## Variáveis locais |
| 78 | + |
| 79 | + |
| 80 | +````cobol |
| 81 | +- Da mesma forma que um objeto armazena seu estado em campos, |
| 82 | +
|
| 83 | +um método geralmente armazena seu estado temporário em variáveis locais. |
| 84 | +
|
| 85 | +- A sintaxe para declarar uma variável local é semelhante à declaração de um campo (por exemplo, int count = 0;). |
| 86 | +
|
| 87 | +- Não há nenhuma palavra-chave especial que designe uma variável como local; |
| 88 | +
|
| 89 | +essa determinação vem inteiramente do local em que a variável é declarada, que é entre as chaves de abertura e fechamento de um método. |
| 90 | +
|
| 91 | +- Dessa forma, as variáveis locais são visíveis apenas para os métodos em que são declaradas; |
| 92 | +
|
| 93 | +elas não são acessíveis pelo restante da classe. |
| 94 | +```` |
| 95 | + |
| 96 | +## Parâmetros |
| 97 | + |
| 98 | + |
| 99 | +````java |
| 100 | + |
| 101 | +- Você já viu exemplos de parâmetros, |
| 102 | + |
| 103 | + tanto na classe Bicycle quanto no método principal do aplicativo “Hello World!”. |
| 104 | + |
| 105 | +- Lembre-se de que a assinatura do método main é public static void main(String[] args). |
| 106 | + |
| 107 | +- Aqui, a variável args é o parâmetro para esse método. |
| 108 | + |
| 109 | +- O importante é lembrar que os parâmetros são sempre classificados como “variáveis” e não como “campos”. |
| 110 | + |
| 111 | +- Isso também se aplica a outras construções que aceitam parâmetros (como construtores e manipuladores de exceções), |
| 112 | + |
| 113 | + sobre as quais você aprenderá mais adiante no tutorial. |
| 114 | + |
| 115 | +- Dito isso, o restante deste tutorial usa as seguintes diretrizes gerais ao discutir campos e variáveis. |
| 116 | + |
| 117 | +- Se estivermos falando de “campos em geral” (excluindo variáveis locais e parâmetros), podemos dizer simplesmente “campos”. |
| 118 | + |
| 119 | +- Se a discussão se aplicar a “todos os itens acima”, podemos dizer simplesmente “variáveis”. |
| 120 | + |
| 121 | +- Se o contexto exigir uma distinção, usaremos termos específicos |
| 122 | + (campo estático, variáveis locais etc.), conforme apropriado. |
| 123 | + |
| 124 | +- Ocasionalmente, você também poderá ver o termo “membro” sendo usado. |
| 125 | + |
| 126 | +- Os campos, métodos e tipos aninhados de um tipo são chamados coletivamente de membros. |
| 127 | + |
| 128 | +```` |
| 129 | + |
| 130 | + |
| 131 | +# Nomeação de variáveis |
| 132 | + |
| 133 | +```` |
| 134 | +
|
| 135 | +- Toda linguagem de programação tem seu próprio conjunto de regras e convenções para os tipos de nomes que podem ser usados, e a linguagem de programação Java não é diferente. |
| 136 | +
|
| 137 | +- As regras e convenções para nomear suas variáveis podem ser resumidas da seguinte forma: |
| 138 | +
|
| 139 | +- Os nomes das variáveis diferenciam maiúsculas de minúsculas. O nome de uma variável pode ser qualquer identificador legal - uma sequência de comprimento ilimitado de letras e dígitos Unicode, |
| 140 | +
|
| 141 | +começando com uma letra, o cifrão $ ou o caractere de sublinhado _. |
| 142 | +
|
| 143 | +- Entretanto, a convenção é sempre começar os nomes das variáveis com uma letra, e não com $ ou _. |
| 144 | +
|
| 145 | +- Além disso, o caractere de cifrão, por convenção, nunca é usado. |
| 146 | +
|
| 147 | +- Você pode encontrar algumas situações em que os nomes gerados automaticamente conterão o cifrão, mas seus nomes de variáveis devem sempre evitar usá-lo. |
| 148 | +
|
| 149 | +- Existe uma convenção semelhante para o caractere de sublinhado; embora seja tecnicamente legal começar o nome da variável com _, essa prática não é recomendada. Não é permitido espaço em branco. |
| 150 | + |
| 151 | + ```` |
| 152 | + |
| 153 | +```` |
| 154 | +- Os caracteres subsequentes podem ser letras, dígitos, cifrões ou caracteres de sublinhado. As convenções (e o bom senso) também se aplicam a essa regra. |
| 155 | +
|
| 156 | +Ao escolher um nome para suas variáveis, use palavras completas em vez de abreviações enigmáticas. Isso tornará seu código mais fácil de ler e entender. |
| 157 | +
|
| 158 | +Em muitos casos, isso também tornará seu código autodocumentado; os campos denominados cadência, velocidade e marcha, por exemplo, são muito mais intuitivos do que as versões abreviadas, como s, c e g. |
| 159 | +
|
| 160 | +Lembre-se também de que o nome escolhido não deve ser uma palavra-chave ou palavra reservada. |
| 161 | +```` |
| 162 | + |
| 163 | +```` |
| 164 | +Se o nome que você escolher consistir em apenas uma palavra, escreva essa palavra com todas as letras minúsculas. |
| 165 | +
|
| 166 | +Se for composto por mais de uma palavra, coloque a primeira letra de cada palavra subsequente em maiúscula. Os nomes gearRatio e currentGear são ótimos exemplos dessa convenção. |
| 167 | +
|
| 168 | +Se a sua variável armazena um valor constante, como static final int NUM_GEARS = 6, a convenção muda um pouco, colocando cada letra em maiúscula e separando as palavras subsequentes com o caractere de sublinhado. |
| 169 | +
|
| 170 | +Por convenção, o caractere de sublinhado nunca é usado em outro lugar. |
| 171 | +```` |
0 commit comments