A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagem C# Versão – 090528 Prof.: Mauro César Lopes.

Apresentações semelhantes


Apresentação em tema: "Linguagem C# Versão – 090528 Prof.: Mauro César Lopes."— Transcrição da apresentação:

1 Linguagem C# Versão – Prof.: Mauro César Lopes

2 Sumário Identificadores Tipos Constantes Enumerações Expressões Declarações Bloco de declarações

3 Identificadores São nomes utilizados para identificar os elementos nos seus programas. Esses elementos podem ser: namespace (espaço de nomes), classes, métodos, variáveis, etc. Podemos usar apenas letras, número e sublinhado para compor o nome dos identificadores

4 Palavras Chaves C# reserva 77 identificadores, os quais não poderão ser utilizados para outros propósitos Alguns exemplos: bool, break, char, default, enum, float,...

5 Variáveis Uma variável é definida como um lugar onde podemos armazenar dados temporariamente e usá-los posteriormente Normalmente um variável possui um nome (identificador) que é usado para acessar seu conteúdo Uma variável poderá armazenar um número inteiro, de ponto flutuante, um caractere, uma cadeia de caracteres (String), um valor booleano, etc. O nome de uma variável pode conter letras, número e _ (não pode haver sinais de pontuação e espaços em branco)

6 Boas práticas de programação Adote uma convenção de nomes que torne claras as variáveis definidas –Não utilize sublinhados nos identificadores Exemplo: Use valorMercadoria ao invés de valor_da_mercadoria –Não use identificadores cuja única diferença seja entre letras maiúsculas e minúsculas –É importante notar que C# faz diferença entre letras maiúsculas e minúsculas –Comece o nome com uma letra

7 Tipos de variáveis Define o tipo de dados que a variável irá armazenar Inteira –byte, short, int, long Ponto flutuante –float, double, decimal Caractere –char Booleana –bool: valores true (verdadeiro), false (falso)

8 Tipos de variáveis TipoTamanho ( em bytes ) Tipo.NETDescrição byte1ByteSem sinal (0-255) char2CharCaractere Unicode bool1BooleanBooleano (Verdadeiro ou Falso) sbyte1SbyteCom sinal (-128 a 127) short2Int16Com sinal ushort2UInt16Sem sinal int4Int32Com sinal uint4UInt32Sem sinal float4SingleNúmeros de ponto flutuante double8DoubleNúmeros de ponto flutuante de precisão dupla decimal16DecimalValores monetários long8Int64Números inteiros ulong8UInt64

9 Tipos de variáveis (2) TipoTamanho ( em bytes ) Tipo.NET Descrição byte1ByteSem sinal (0-255) char2CharCaractere Unicode bool1BooleanBooleano (true=Verdadeiro ou false=Falso) short2Int16Com sinal ( a ) int4Int32Com sinal ( e ) float4SingleNúmeros de ponto flutuante. Armazena os valores de aproximadamente +/- 1,5*10-45 até aproximadamente +/- 3,4*10^38 com sete número significativos. Usa o sufixo F double8DoubleNúmeros de ponto flutuante de precisão dupla (com 15 a 16 números significativos) decimal16DecimalValores monetários. Precisão fixa até 28 dígitos e a posição do ponto decimal. É normalmente usado em cálculos financeiros. Exibe sufixo m ou M long8Int64Números inteiros com sinal de a

10 Variáveis Uma variável poderá ser signed (sbyte, short, int) ou unsigned (byte, ushort, uint), isto é, com sinal ou sem sinal. Uma variável unsigned possui apenas valores positivos Uma variável signed possui valores positivos e negativos

11 Exemplos de declaração de variáveis int a, idade; char ch, caracter; float f, valor; double d; string s; Toda variável deverá ser declarada explicitamente antes de ser usada

12 Atribuição de valores a variáveis Podemos atribuir o valor a uma variável usando o símbolo = (operador de atribuição) Exemplos: int a = 1; // atribui o valor 1 a variável inteira a float f = -8.76F; // observe o sufixo F char c=a;

13 Atribuições Se tentarmos atribuir um número a uma propriedade do tipo texto o programa não irá compilar Por exemplo –value.text = 1; erro –value.text = 1; ok, porém o número um está sendo tratado como texto e não como número –value.text = string.Parse(1); o número um é convertido de inteiro para uma string pelo uso do método parse da classe string

14 Comentários // comentário até o final da linha /*... Comentário multilinha */ Os comentários são ignorados pelo compilador, porém são úteis aos desenvolvedores porque ajudam a comentar o que o programa está fazendo

15 Operadores Numéricos agem em valores para criar novos valores Lógicos ou Booleanos é um operador que faz cálculos cujo resultado é verdadeiro ou falso. Relacionais são usados para descobrir se um valor é menor ou maior que outro do mesmo tipo Binários agem sobre dois operandos

16 Operadores Numéricos ++, -- Incremento, decremento +, -, *, /, % adição, subtração, multiplicação, divisão, módulo (resto) Exemplo: int a = 7; int b = 3; int x,y; x = a / b; y = a % b;

17 Operador ++ int x; int y; x = 23; y = x++; // operador pós-fixado Console.WriteLine(x + " " + y); // x = 23; y = ++x; // operador pré-fixado Console.WriteLine(x + " " + y); // 24 e 24

18 Operadores Relacionais e Lógicos (Booleanos) OperadorAção ==, !=Igual a, diferente de >, >=, <, <=Maior que, maior ou igual a, menor que, menor ou igual a &&E lógico (AND) ||OU lógico (OR) !NÃO lógico Um operador booleano é um operador que faz um cálculo cujo resultado é true (verdadeiro) ou false (falso)

19 Operadores Lógicos Podem ser usados para testar condições mais complexas combinando condições simples Operador && (e lógico - AND) Operador || (ou lógico - OR) Operador ! (não lógico - NOT) Exemplo: bool porcentagemValida = (porcentagem>=0) && (porcentagem<=100);

20 Operadores Relacionais >Maior que >=maior ou igual a

21 Operadores Lógicos Bit a Bit &E binário ^XOR ou-exclusivo |OU binário ~NÃO binário >>deslocamento de bits a direito <

22 Operadores de igualdade e atribuição Não confunda o operador de igualdade == com o operador de atribuição =. A expressão x==y compara x com y tem valor true se os dois valores forem idênticos e false caso contrário. Já a expressão x=y atribui o valor de y a variável x

23 Expressões São combinações de variáveis, constantes e operadores Quando montamos expressões temos que considerar a ordem em que os operadores são executados Essa ordem é definida pela tabela de precedência

24 Precedência de Operadores CategoriaOperadores Primário (x) x.y xy f(x) a[x] x++ x– new typeof sizeof checked unchecked stackalloc Unário + - ! ~++x –x (T)x *x &x Multiplicativo * / % Aditivo + - Deslocamento > Relacional = is as Igualdade == != Lógico AND & Lógico XOR ^ Lógico OR | Condicional AND && Condicional OR || Condicional ?: Atribuição = *= /= %= += -= <<= &= ^= |=

25 Seqüência de comandos Um programa é uma seqüência de comandos ou instruções (executa uma ação) ;... ;

26 Bloco de comandos Um bloco é uma seqüência de instruções agrupadas entre uma chave de abertura ({) e uma de fechamento (}) Um bloco inicia um novo escopo Novas variáveis poderão ser definidas dentro do bloco, porém seus valores serão perdidos no final do bloco

27 Comandos condicionais Permitem que uma expressão seja avaliada e que uma ação seja executada no caso da expressão ser avaliada verdadeira (true) ou falsa (false).

28 Comando if É usado para que possamos escolher entre dois blocos diferentes de código com base no resultado de uma expressão booleana. A sintaxe de uma instrução if é: if(expressãoBooleana) instrução-1; else instrução-2;

29 Comando if - Exemplo int a = 5; if(a<0) Console.WriteLine (a é negativo); else Console.WriteLine (a é positivo);

30 Comando if - Exemplo int a = 5; if(a<0) { // avalia a condição a<0 Console.WriteLine (a é negativo); } else { Console.WriteLine (a é positivo); }

31 Comandos if em cascata if(dia==0) nome=Domingo; else if (dia==1) nome=Segunda-Feira; else if (dia==2) nome=Segunda-Feira; else if (dia==3) nome=Segunda-Feira; else if (dia==4) nome=Segunda-Feira; else if (dia==5) nome=Segunda-Feira; else if (dia==6) nome=Segunda-Feira; else if (dia==1) nome=Segunda-Feira;

32 Switch switch (expressãoDeControle) { case expressãoConstante: instruções; break; case expressãoConstante: instruções; break;... default: instruções; break; }

33 Switch expressãoDeControle: é avaliada uma única vez expressãoConstante

34 Comparação if / switch if(dia==0) nome=Domingo; else if(dia==1) nome=segunda-feira;... else nome=desconhecido; switch(dia) { case 0: nome=Domingo; break; case 1: nome=segunda-feira; break... default: nome=desconhecido; break; }

35 Controle de Fluxo Um loop (laço) é uma série de instruções que devem ser repetidas até que uma certa condição seja encontrada

36 Controle de Fluxo (2) Loops (laços) com teste no início (while) Loops (laços) com testes no final (do/while) Loops (laços) de tamanho definido (for) Saindo de loops (laços) antes do término (break) Retestando a condição em loops (laços) (ex: continue)

37 Comando while Repete o laço enquanto uma condição for verdadeira Exemplo: int i=0; while(i<5) { Console.WriteLine (i); i = i + 1; }

38 Comando do/while int i=0; do { Console.WriteLine("i={0}",i); i = i + 1; } while (i<5);

39 Exemplo do uso de do/while do { Console.WriteLine(Menu); Console.WriteLine(1. Incluir); Console.WriteLine(2. Alterar); Console.WriteLine(3. Excluir); Console.WriteLine(4. Consultar); Console.WriteLine(0. Sair); String opcao=Console.ReadLine(); } while(opcao!=0);

40 Exercício Escreva uma aplicação que leia e exiba a tecla lida enquanto a tecla s não for pressionada. A aplicação deverá contar também o número de teclas pressionadas e exibi-las no final da aplicação

41 Comando for Repete um loop (laço) um determinado número de vezes Exemplo: int i = 0; for(i=0;i<5;i++) { Console.WriteLine("i={0}",i); }

42 Comparação for x while for( inicialização; condição; incremento ) declaração; inicialização; while(condição) { declaração; incremento; }

43 Comparação for x while int i; for(i=0; i<=9; i++) { Console.WriteLine(i); } int i; i=0; while(i<=9) { Console.WriteLine(i); i++; }

44 Loop Infinito int i; for(;;) { Console.WriteLine(i); } int i; i=0; while(true) { Console.WriteLine(i); }

45 Comando break int i=0; while (i++<10) { Console.WriteLine("i={0}",i); if(i==5) { break; }

46 Exemplo do Comando Break int numTeclas=0; while (true) { // loop infinito // leia uma tecla em ch if(ch==s) { break; } // exibe a tecla pressionada // incrementa contador de teclas pressionadas numTeclas++; }

47 Comando continue int 0=0; while (i<10) { if(i%2!=0) {// testa se o número for par continue; } // exibe os números ímpares Console.WriteLine(i); i++; }

48 Formatação de Cadeia de Caracteres {númParâmetro,espaçoReservado:formatação} onde: númParâmetro: indica que parâmetro está sendo formatado espaçoReservado: indica o número de caracteres mínimos para ocupar com o parâmetro formatação: indica formatação específica do tipo de dados a utilizar

49 Formatação de cadeia de caracteres - Exemplo Especifica ção AplicaçãoSignificado C valores em geral valor monetário de acordo com o pais local D inteiros inteiros genéricos E valores em geral notação científica F valores reais numero em formato de ponto fixo G valores em geral geral (é utilizada a representação mais adequada ao número) N valores em geral numero de acordo com o pais local P valores em geral percentagem X inteiros notação científica

50 Exemplo {0,4} parâmetro 0, 4 espaços reservados com alinhamento à direita, sem formatação específica {0,-4} parâmetro 0, 4 espaços reservados com alinhamento à esquerda, sem formatação específica

51 Exemplos Console.WriteLine("{0:C}", ); Console.WriteLine("{0:D}", 23); Console.WriteLine("{0:E2}", ); Console.WriteLine("{0:F2}", ); Console.WriteLine("{0:G}", ); Console.WriteLine("{0:G}", 13); Console.WriteLine("{0:N}", ); Console.WriteLine("{0:P}", 0.43); Console.WriteLine("{0:X}", 29);

52 Concatenção de Strings Console.WriteLine(mauro + cesar + lopes); Console.WriteLine(3 + 7); Retorna a string 37 e não a operação de 3+7=10 Para obtermos a soma de teríamos que proceder da seguinte forma: Console.WriteLine(int.Parse(3) + int.Parse(7));

53 Conversão de Tipos Use o método chamado Int32.Parse ou int.Parse para converter um valor contido em uma string em um inteiro se você precisar realizar cálculos aritméticos em valores armazenados em string

54 Conversão de Tipos // o método Console.ReadLine() recebe // retorna uma variável do tipo String String s = Console.ReadLine(); // quando temos um número representado por // uma string não podemos fazer operações aritméticas com ele // Abaixo estão definidas as variáveis i, f e d int i; float f; double d; // converte uma variável do tipo String (s no exemplo) em um inteiro i = int.Parse(s); // converte uma variável do tipo String (s no exemplo) em um float f = float.Parse(s) // converte uma variável do tipo String (s no exemplo) em um double d = double.Parse(s)

55 Definição de Constantes const = Exemplos: const int numLinhas = 3; const int numColunas = 2;

56 Arrays Um array é um vetor ou matriz que permite guardar um certo conjunto de variáveis, todas do mesmo tipo

57 Vetores Para criar um vetor que armazene N elementos de um certo tipo (identificado por tipoDoVetor), utiliza-se a seguinte forma: tipoDoVetor[] nomeDoVetor = new tipoDoVetor[N]

58 Vetores - Exemplo Criação de um vetor com a nota de prova de cada aluno da turma int numAlunos=30; double[] notas = new notas[numAlunos];

59 Vetores Para acessar cada elemento do array, usa-se colchetes: // coloca na posição 3 do vetor a nota 7.9 notas[3]=7.9; // atribui a nota da posição 0 do vetor double nota = notas[0];

60 Vetores Observe que o primeiro elemento do array é o elemento 0 [0] primeiro elemento [1] segundo elemento... [N-1] enésimo elemento

61 Criação e inicialização de um vetor // Cria e inicializa um vetor string[] nomeDePessoas = { Antonio, Jose, Joao}; string[] nomeDePessoas = new String[] { Antonio, Jose, Joao}; Obs: o compilador determina qual deverá ser o tamanho do vetor

62 Matrizes Multidimensionais São matrizes com mais de uma dimensão (duas, três, quatro,...) Exemplo: Uma matriz bidimensional de 2 linhas por 3 colunas (2x3) int[,] matriz = new [2,3];

63 Acesso de elementos matriz[1,2]=35; int valor = matriz[1,2];

64 Exemplo - Matriz com três dimensões double[,,] matriz3D = new double[10,10,10]; matriz3D[0,0,1]=1.0; matriz3D[0,1,0]=0.65;...

65 Inicialização de Matrizes // inicializa uma matriz bidimensional (2 x 3), isto é, duas linhas e três coluna int[,] matriz = { {1,2,3}, {4,5,6} };

66 Inicialização de Matrizes // inicializa uma matriz bidimensional (3 x 2), isto é, três linhas e duas coluna int[,] matriz = { {1,2}, {3,4}, {5,6} };

67 Alguns métodos da matrizes matriz.Length obtém o número de elementos da matriz matriz.Rank obtém o número de dimensões da matriz matriz.GetLength(dim) obtém o número de elementos da dimensão dim

68 Soma de Matrizes int[,] matrizA = { {1,2,3}, {4,5,6} }; int[,] matrizB = { {4,-1,2}, {-3,-7,-6} }; int[,] matrizC = new int[2,3]; // C = A + B

69 Multiplicação de Matrizes int[,] matrizA = { {1,2}, {4,5} }; int[,] matrizB = { {4,-1}, {-3,-7} }; int[,] matrizC = new int[2,2]; // C = A x B Condições: - o número de colunas da matriz A deverá ser igual ao número de linhas da matriz B - a matriz resultante, C, terá a dimensão dada pelo número de linhas da matriz A e o número de colunas da matriz B

70 Multiplicação de Matrizes Cada elemento c[i,j] será dado pela multiplicação dos elemento da linha i multiplicados pelos elementos da linha j c[i,j] += a[i,k] * b[k,j] onde k varia de 0 a número de linhas da matriz A ou número de colunas da matriz B, que são iguais

71 Criando um método para exibir uma matriz

72 Backup - Slides

73 Palavras chave da Linguagem C# abstractasbaseboolbreak bytecasecatchcharchecked classconstcontinuedecimaldefault delegatedodoubleelseenum eventexplictexternfalsefinally

74 Palavras chave da Linguagem C# (2) fixedfloatforforeachget gotoifimplictinint interfaceinternalislocklong namespac e newnullobjectoperator outoverrideparamsprivateprotected

75 Palavras chave da Linguagem C# (3) publicreadonlyrefreturnsbyte sealedsetshortsizeofstackalloc staticstringstructswitchthis throwtruetrytypeofuint ulongunchecke d unsafeushortusing

76 Palavras chave da Linguagem C# (4) valuevirtualvoidvolatilewhile


Carregar ppt "Linguagem C# Versão – 090528 Prof.: Mauro César Lopes."

Apresentações semelhantes


Anúncios Google