Conteúdo do Curso
Noções Básicas de C#
Noções Básicas de C#
Tipos de Dados Inteiros
Tipos de Dados são classificações de valores de dados em diferentes categorias com base em sua natureza, como números inteiros, números decimais, dados textuais, etc. Cada tipo de dado possui diferentes tipos de operações associadas a ele, por exemplo, podemos realizar operações aritméticas em dados numéricos, mas não em dados textuais.
A palavra-chave int
refere-se ao tipo de dado "inteiro", que basicamente representa os números inteiros.
Na última seção, aprendemos a seguinte sintaxe para declarar uma variável:
Além da sintaxe acima, há outro método de declaração de variável:
Aqui type
refere-se ao tipo de dado da variável. Até agora, conhecemos apenas int
. Podemos declarar uma variável do tipo de dado inteiro da seguinte forma:
Neste caso, também podemos declarar uma variável sem atribuir um valor inicial:
Nota
Atribuir um valor inicial a uma variável no momento da declaração é chamado de inicialização.
A palavra-chave var
permite que o compilador deduza automaticamente o tipo de dado de uma variável com base no valor atribuído. Por exemplo, em var myVariable = 7;
, a variável myVariable
é atribuída a um valor inteiro, tornando seu tipo de dado int
. Tal variável é chamada de Variável de Tipo Implícito. Note que ao usar a palavra-chave var
, a variável deve sempre ser inicializada, portanto, escrever var myVariable;
é inválido.
Por outro lado, especificar manualmente o tipo de dado não requer um valor inicial. Portanto, tanto int myVariable;
quanto int myVariable = 10;
são declarações válidas. Neste caso, myVariable
é uma Variável de Tipo Explícito.
O código a seguir resume os dois parágrafos acima:
main
var myVar1 = 10; // Valid var myVar2; // Error: Implicitly-typed variables must be initialized int myVar3 = 10; // Valid int myVar4; // Valid
É importante notar que não podemos usar uma variável que não tenha sido atribuída a nenhum valor. Portanto, o seguinte código resultará em um erro:
main
int myVar; System.Console.WriteLine(myVar); // Error: Use of unassigned local variable 'myVar'
Correção:
main
int myVar; myVar = 10; System.Console.WriteLine(myVar); // Output: 10
Podemos reatribuir uma variável quantas vezes quisermos:
main
int myVar = 10; System.Console.WriteLine(myVar); // Output: 10 myVar = 15; System.Console.WriteLine(myVar); // Output: 15 myVar = 17; System.Console.WriteLine(myVar); // Output: 17 myVar = 7; System.Console.WriteLine(myVar); // Output: 7
Uma variável int
pode armazenar valores apenas dentro de um certo intervalo. Existe outro tipo de dado long
, que é o mesmo que int
, mas pode armazenar números maiores.
Range | |
---|---|
int | -2,147,483,648 to 2,147,483,647 |
long | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
Armazenar um número maior do que um tipo de dado pode suportar pode gerar resultados inesperados. Não precisamos nos aprofundar nisso neste nível.
Podemos realizar operações aritméticas com dados int
e long
. O trecho de código a seguir mostra alguns exemplos:
main
// int values int a = 10; int b = 25; int c = a + b; // long values long d = 1000; long e = 2500; long f = d + e; // Adding a 'long' and an 'int' always results in a 'long' resultant value. // Therefore we can store the result of 'd + a' into a new 'long' variable called 'g'. long g = d + a; // For the same reason, we cannot store the result of 'd + a' into an 'int' variable int h = d + a; // Error on this line int i = 5 / 2; System.Console.WriteLine(i); // Output: 2 // Dividing 5 by 2 gives 2.5 however since 'int' can only store integer values, hence the decimal (0.5) part is ignored.
Existem outros dois tipos de dados uint
e ulong
, chamados respectivamente de unsigned int e unsigned long. Um tipo de dado unsigned pode armazenar apenas números positivos, consequentemente, eles têm um intervalo positivo maior.
Range | |
---|---|
uint | 0 to 4,294,967,295 |
ulong | 0 to 18,446,744,073,709,551,615 |
Obrigado pelo seu feedback!