55 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Variables
 | ||
| localeTitle: Variáveis
 | ||
| ---
 | ||
| # Variáveis
 | ||
| 
 | ||
| Variáveis armazenam valores. Elas são a entidade mais básica usada para armazenar dados como texto, números etc. num programa.
 | ||
| 
 | ||
| Em [Java](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Java) , as variáveis são [_fortemente tipadas_](https://en.wikipedia.org/wiki/Strong_and_weak_typing#Definitions_of_.22strong.22_or_.22weak.22) , o que significa que você precisa definir o tipo para cada variável sempre que você a declarar. Caso contrário, o compilador lançará um erro no [tempo de compilação](https://en.wikipedia.org/wiki/Compile_time) . Portanto, cada variável possui um ' [tipo de dados](https://guide.freecodecamp.org/java/data-types) ' associado a um dos seguintes:
 | ||
| 
 | ||
| *   Tipo primitivo: `int` , `short` , `char` , `long` , `boolean` , `byte` , `float` , `double`
 | ||
| *   Tipo de embalagem: `Integer` , `Short` , `Char` , `Long` , `Boolean` , `Byte` , `Float` , `Double`
 | ||
| *   Tipo de referência: `String` , `StringBuilder` , `Calendar` , `ArrayList` , etc.
 | ||
| 
 | ||
| Você deve ter notado que o **Tipo de Wrapper** consiste em tipos escritos exatamente como o **Tipo Primitivo** , exceto pelo alfabeto capitalizado no início (como o **Tipo de Referência** ). Isso ocorre porque os tipos de invólucro são, na verdade, parte dos tipos de referência mais gerais, mas estão _intimamente ligados_ às suas contrapartes primitivas via [autoboxing e unboxing](https://docs.oracle.com/javase/tutorial/java/data/autoboxing.html) . Por enquanto, você só precisa saber que tal tipo de wrapper existe.
 | ||
| 
 | ||
| Normalmente, você pode _declarar_ (ou seja, criar) variáveis de acordo com a seguinte sintaxe: < _data-type_ > < _variableName_ >;
 | ||
| 
 | ||
| ```java
 | ||
| // Tipo de Dados Primitivo 
 | ||
|  int i; 
 | ||
|  
 | ||
|  // Tipo Dados de Referência 
 | ||
|  Float myFloat; 
 | ||
| ```
 | ||
| 
 | ||
| Você pode _atribuir_ um valor à variável simultaneamente quando a estiver declarando (o que é chamado de _inicialização_ ) ou em qualquer lugar no código depois de a ter declarado. O símbolo **\=** é usado para o mesmo.
 | ||
| 
 | ||
| ```java
 | ||
| // Inicializar a variável de Tipo de Dados Primitivo 'int' com o valor 10 
 | ||
|  int i = 10; 
 | ||
|  double amount = 10.0; 
 | ||
|  boolean isOpen = false; 
 | ||
|  char c = 'a'; // Note as aspas simples
 | ||
|  
 | ||
|  //As variáveis tambem podem ser declaradas, e mais tarde designar o seu valor
 | ||
|  int j; 
 | ||
|  j = 10; 
 | ||
|  
 | ||
|  // Inicializar um objeto Float com o valor 1.0 
 | ||
|  // a variável myFloat aponta agora para o objeto
 | ||
|  Float myFloat = new Float(1.0); 
 | ||
|  
 | ||
|  //Bytes são um dos tipos em java e podem assim ser representados
 | ||
|  int byteValue = 0B101; 
 | ||
|  byte anotherByte = (byte)0b00100001; 
 | ||
| ```
 | ||
| 
 | ||
| Como é evidente no exemplo acima, as variáveis do tipo Primitivo comportam-se de maneira ligeiramente diferente das variáveis do tipo Referência (& Wrapper) - enquanto Variáveis primitivas _armazenam_ o valor real, Variáveis de referência _referem-se a_ um 'objeto' contendo o valor real. Você pode descobrir mais nas seções abaixo.
 | ||
| 
 | ||
| # Outros recursos
 | ||
| 
 | ||
| *   [Tipos de dados](https://guide.freecodecamp.org/java/data-types)
 | ||
| *   [Classes e Objetos](https://guide.freecodecamp.org/java/classes-and-objects)
 |