440 likes | 567 Views
C#. Introdução. Exemplo. //Nosso primeiro programa C# /*programa Olá mundo para compilar utilize csc OlaMundo . cs */ using System; using System. Collections . Generic ; using System. Linq ; using System. Text ; namespace OlaMundo { class Ola {
E N D
C# Introdução
Exemplo //Nosso primeiro programa C# /*programa Olá mundo para compilar utilize cscOlaMundo.cs*/ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespaceOlaMundo { class Ola { staticvoidMain(string[] args) { System.Console.WriteLine("Olá Mundo!"); } } }
Comentários • O C# nos permite definir comentários de duas maneiras: usando barras duplas (//) ou os caracteres /* E */. • Barras duplas (//) convertem o restante da linha em comentários: • //Nosso primeiro programa C# • Os caracteres /* E */ definem blocos de texto como comentários: /*Este é meu primeiro contato com C# Espero que aprenda rápido esta nova linguagem de programação Obrigado!*/
Método Main • Um programa C# deve conter um método Main, que controla o início e o fim. staticvoidMain(string[] args) { //... }
Sintaxe C# • Todas as instruções devem estar entre chaves e sempre ser finalizadas com um ponto e vírgula: { //Código aqui; } • Além disso, C# é SENSÍVEL AO CONTEXTO, ou seja, diferencia letras maiúsculas de minúsculas. Por exemplo, Main não é o mesmo que main.
Compilação e execução do programa • Iniciar – Programas – Microsoft Visual Studio 2008 • File – New Project • OtherLanguages – C# - Console Application
Variáveis • As variáveis são utilizadas para armazenar informações na memória do computador, enquanto o programa C# está sendo executado. As informações contidas nas variáveis podem ser alteradas durante a execução do programa. • As variáveis devem conter um nome para que possam ser atribuídos valores a ela. Além do nome, devemos também definir o tipo de dados.
Variáveis • Ao nomear uma variável devemos observar as seguintes restrições: • O nome deve começar com uma letra ou _. • Não são permitidos espaços, pontos ou outros caracteres de pontuação, ma podemos usar números. • O nome não pode ser uma palavra reservada do C#. Exemplo: if, this, while, etc. • A sintaxe utilizada para declarar uma variável é: • Tipo nome; • Exemplos: • string nome; • int idade = 50;
Tipo char • Representa um único caractere de 16 bits. É utilizado para representar a maioria das linguagens do mundo. Podemos criar variáveis do tipo char e adicionar caracteres: • char letra = ‘A’; • char letra1 = ‘H’; • Podemos transformar de forma explícita, um integral num char e vice-versa: • char letra4 = (char) 72; //corresponde a letra H • int numero = (int) ‘B’; //inteiro 66
Sequências de scape • Combinações de caracteres que consistem de uma barra invertida (\) seguida de uma letra ou combinação de dígitos são chamadas sequências de scape. Sequências de scape são usadas em situações específicas: salto de linha, retorno, avanço de página, tabulação horizontal e vertical.
Variáveis • Uma variável precisa ser inicializada antes que possa ser utilizada. Se você declarar uma variável sem atribuir um valor inicial, como por exemplo: • int x; • será preciso inicializá-la; do contrário não será possível utilizá-la. • int x = 0;
Tipo decimal • O tipo decimal é de alta precisão. Ideal para cálculos financeiros e monetários, é um tipo de dados de 128 bits que pode representar valores de aproximadamente: • ±1.0 x 10e-28 até ±7.9 x 10e28 • com 28 ou 29 dígitos significantes. A precisão é dada em dígitos e não em casas decimais. • O sufixo m ou M deve ser utilizado para declarar variáveis do tipo decimal. • decimal x = 102.89m; • Sem o sufixo m ou M, a variável será tratada como sendo do tipo double. Um erro é gerado em tempo de compilação.
Tipo bool • Representa um valor verdadeiro ou falso. É usado com variáveis ou métodos que retornem true ou false. O valor padrão do tipo bool é false. • bool x = true; • bool b = false;
Tipo string • O tipo string é representado por um conjunto de caracteres. Uma string deve estar cercada por aspas duplas. • string b = “texto aqui”; • O sinal de mais (+) é utilizado para concatenar uma string • string b = “Concatenando este “ + “texto”; • string x = “A” + 2 • Outra recurso importante é a facilidade de extrair um caractere definido na variável: • char extrai = b[5]; • A linha anterior extrai a letra t da variável b. • Você pode extrair uma letra de uma palavra: • char extrai = “Alfredo”[3];
Operadores • Operador unário: é aquele que possui somente um operando: • x++; • Operador binário: é aquele que possui dois operandos: • x = 5 * 8;
Operadores Primários Expressão Descrição x.y Acesso a um membro. f(x) Invocação de um método ou delegate a[x] Acesso de array por índice x++ Pós-incremento x-- Pré-decremento new T(...) Criação de um novo objeto ou delegate new T(...){...} Criação de objeto, com inicializador new {...} Inicializador de objeto anonimo. new T[...] Criação de array typeof(T) Obtém um objeto T da classe System.Type checked(x) Valida se a expressão é checked unchecked(x) Valida se a expressão é unchecked default (T) Obtém um valor padrão para o tipo T delegate {} Função anônima (método anonimo)
Operadores Unários Expressão Descrição +x Identidade -x Negação !x Negação Lógica ~x Negação Bitwise ++x Pré-incremento --x Pré-decremento (T)x Conversão explicita de x para o tipo T
Operadores Multiplicativos ExpressionDescription * Multiplicação / Divisão % Resto da divisão
Operadores aditivos Expressão Descrição x + y Adição, concatenação de string, combinação de delegate x - y Subtração, remoção de delegate
Operadores Relacionais Expressão Descrição x < y Menor que x > y Maior que x <= y Menor ou igual a x >= y Maior ou igual a x is T Retorna true, se x é um T, do contrário, false x as T Retorna x definido como um T, ou null se x não é um T
Igualdade Expressão Descrição x == y Igual x != y Não igual
Atribuição Expressão Descrição = Atribuição x op= y Atribuição composta suporta estes operadores: +=, -=, *=, /=, %=, &=, |=, !=, <<=, >>= (T x) => y
Lógico, Condicional e Null Categoria Expressão Descrição AND lógico x & y AND Inteiro bitwise, AND lógica booleana XOR lógico x ^ y XOR Inteiro bitwise, XOR lógica booleana OR lógico x | y OR Inteiro bitwise, OR lógica booleana AND condicional x && y Retorna verdadeiro se todos os argumentos forem verdadeiros, retorna falso se pelo menos um argumento for falso OR condicional x || y Retorna verdadeiro se pelo menos um argumento for verdadeiro; retorna falso se todos os argumentos forem falsos; Nullcoalescing X ?? y Testa para y se x é null, do contrário para x Conditional x ?: y : z Testa para y se x é true, e para z se x é false
Exemplos • int x = 2 + 5 * 8; //Resultado 42 • int x = 9 * 3 + 4 /2; //Resultado 29 • int x = 9 * (3 + 5) / 2; //Resultado 36 • int v = 2 * 3; //retorna 6 • int d = 6 / 3; //retorna 2 • int r = 13 % 5; //retorna 3 • int s = 5 + 3; //retorna 8 • int m = 5 – 3; //retorna 2 • int x = 1; • ++x; //agora x é igual a 2 • int b = 5; • --b; //agora b é igual a 4 • int x = 8; • x+=2; //é o mesmo que x = x+2; • x-=3; //é o mesmo que x = x -3; • x*=8; //é o mesmo que x = x *8; • x/=2; //é o mesmo que x = x /2; • x%=3; //é o mesmo que x = x % 3;
Blocos de comandos • Todos os comandos em C# tem que terminar com um ponto-e-vírgula ( ; ) e esses comandos tem que estar delimitados por um bloco que tem início e fim, representados no C# pelos caracteres abre-chaves ( { ) que define o início do bloco e fecha-chaves ( } ) que define o fim do bloco. O namespace precisa ser delimitado com um início e fim, no caso com { e }, assim como o classe e o método Main. Outras estruturas também precisam ser delimitadas, e que serão vistas ao longo do curso. Por essa delimitação sabemos que a o método Main está dentro da classe Program que esta dentro do namespace Alo. Por padrão o Visual Studio fecha as chaves na mesma coluna onde ela foi aberta.
Instrução if if (condicao) comando; if (condicao) { //comando1... //comando2... } condição? expressão1 : expressão2; Se a condição for verdadeira, a primeira expressão é executada; caso seja falsa, a segunda expressão é executada.
Exemplos int a = 2; if(a > 1) Console.WriteLine(“Condição verdadeira!”); int a = 2; string mensagem = a >1 ? “Condição verdadeira”: “Condição falsa”; Console.WriteLine(mensagem); int a = 2; if(a > 1){ string mensagem = “Condição verdadeira!”; Console.WriteLine(mensagem);; }
Instrução if if (condição) { if (condição) { } } if (condição) { //Instruções parte verdadeira; } else { //Instruções parte falsa }
Exemplos int a = 2; if(a > 1){ if (a == 2) { string mensagem = “Condição verdadeira”; Console.WriteLine(mensagem); } } bool a = true; if (!a) { string mensagem = “Condição verdadeira”; Console.WriteLine(mensagem); } else { • string mensagem = “Condição falsa”; • Console.WriteLine(mensagem); • }
Instrução switch switch (ArgumentoDeTeste) { case ExpressãoDoValor1: //Código a executar break; case ExpressãoDoValor2: //Código a executar break; default: /*Código a executar, se nenhuma condição anterior for verdadeira*/ break; }
Loops Contadores - for • Loops contadores executam uma determinada tarefa num determinado número de vezes. • Sintaxe: for (tipo Contador = ValorInicial; Contador (< | > | >= | <=) ValorFinal; Contador (++ | --)) { //código aqui; } • Exemplo: for (int i = 0; i<=10; i++) { //código aqui; }
Loops condicionais • O C# suporta loops condicionais que nos permitem executar tarefas repetitivas enquanto determinada condição for satisfeita. A condição retorna um valor booleano (trueou false).
Instrução while • Executa os comandos dentro do loop enquanto a condição for verdadeira. • Sintaxe: while (condição) { //Código aqui; variável (++ | --); } • Exemplo: int i = 0; while ( i <= 10) { Console.WriteLine(i.toString()); i++; }
Instrução do • Executa os comandos dentro do loop, no mínimo uma vez, antes de avaliar se há necessidade de repetir ou não o loop. • Sintaxe: do { //Código aqui; variável (++ | --); }while (condição); • Exemplo: int x = 0; do { Console.WriteLine(x); x++; } while (x <= 10);
André Luiz da Silva Engenheiro de Computação Email: andre.etec@yahoo.com.br