Post on 11-Nov-2018
14/08/2009
1
ASP.NETASP.NET
Módulo 2
ObjetivoObjetivo
• Contextualizar o aluno junto a linguagem C#. Dando a ele uma visão geral de sua funcionalidade, aplicações e características de sua sintax.
14/08/2009
2
AgendaAgenda
• Introdução ao C#• Declaração de variáveis• Tipos de dados• Operadores Matemáticos• Operadores Lógicos e Relacionais• Operadores de Atribuição
AgendaAgenda
• Precedência de Operadores• Lógica de Controle• Estrutura de repetição• Array• Criação de métodos• Tratamento de exceção
14/08/2009
3
Introdução ao C#Introdução ao C#
• O Que é– Linguagem criada para o .Net Framework;– Evolução das linguagens C e C++;
Introdução ao C#Introdução ao C#
• Escopo da Linguagem– Aplicativos Windows– Aplicativos da Web– Serviços Windows– Web Services
14/08/2009
4
Introdução ao C#Introdução ao C#
• Características– Orientada a Objetos;– Fortemente tipada;– Criada desde o início para funcionar com o
.Net Framework;– Utiliza modelo de herança simples
Introdução ao C#Introdução ao C#
• Sintaxe– Utiliza terminador de instrução - ;– Utiliza { e } para início e final de bloco de
códigoEx:
{
<linha de código 1, instrução 1>;
<linha de código 2, instrução 2><linha de código 3, instrução 2>;
}
14/08/2009
5
Declaração de VariáveisDeclaração de Variáveis
• Variável é uma nomenclatura a um espaço na memória RAM;
• Este espaço é capaz de armazenar um dado do mesmo tipo que o tipo definido para a variável;
• Em uma classe, uma variável recebe a denominação Atributo;
• Atributos não devem ser acessados diretamente.
Declaração de VariáveisDeclaração de Variáveis
• A declaração de um atributo segute o formato <tipo> <nome>;
• Ex:string nome;int idade;
14/08/2009
6
Declaração de VariáveisDeclaração de Variáveis
• Regiões criam agrupamentos lógicos de membros de uma classe;
• O Código contido em uma região será ocultado quando a região o for;
• Ex:#region declaração de variáveis#endregion
Declaração de VariáveisDeclaração de Variáveis
• Comentários possibilitam explicar qual a finalidade de um trecho de código;
• A utilização de comentários é algo extremamente recomendada
• Comentários de uma linha podem utilizar a notação //
• Comentários de mais de uma linha devem utilizar a notação /* e */
14/08/2009
7
Declaração de VariáveisDeclaração de Variáveis
• Ex:#region declaração de variáveis
/* Nesta região as variáveis serão declaradase inicializadas.
*/int idade = 10;string nome = “Fulano”;
#endregion
Tipos de DadosTipos de Dados
• Tipos Inteiros armazenam dados numéricos que não possuem parte decimal
Tipo Alias para Faixa de Valores
sbyte System.SByte -128 a 127
byte System.Byte 0 a 255
short System.Int16 -32768 a 32767
ushort System.UInt16 0 a 65535
int System.Int32 -2137483648 a 2147483647
uint System.UInt32 0 a 4294967295
long System.Int64 -9223372036854775808 a 9223372036854775808
ulong System.UInt64 0 a 18446744073709551615
14/08/2009
8
Tipos de DadosTipos de Dados
Tipo(s) Categoria Sufixo Exemplo
bool Booleano Nenhum true ou false
int, uint, long, ulong Inteiro Nenhum 100
uint ou ulong Inteiro u ou U 100U
long, ulong Inteiro l ou L 100L
ulong Inteiro ul, uL, Ul, UL, lu, lU, Lu ou LU 100UL
float Real f ou F 1.5F
double Real Nenhum, d ou D 1.5
decimal Real m ou M 1.5M
char Caractere Nenhum ‘a’, seqüências de Escape
string String Nenhum “a...a”, podendo incluir seqüências de Escape
• Literais possibilitam “forçar” um tipo durante a atribuição de um valor;
Tipos de DadosTipos de Dados
Tipo Alias para Faixa de Valores (Aprox.)
float System.Single -1,5x10-45 a 3,4x1038
double System.Double -5,0x10-324 a 1,7x10308
decimal System.Decimal -1,0x10-28 a 7,9x1028
• Tipos de Ponto Flutuante armazenam dados numéricos que possuem parte decimal
14/08/2009
9
Tipos de DadosTipos de Dados
Tipo Alias para Faixa de Valores (Aprox.)
boolean System.Boolean true (verdadeiro) ou false (falso)
• Tipos Booleanos armazenam dados que possuem como valor apenas Verdadeiro (True) ou Falso (false)
Tipo de DadosTipo de Dados
Tipo Alias para Faixa de Valores (Aprox.)
- System.DateTime Data e Hora
char System.Char Caracter Unicode (0 – 65535)
string System.String Uma sequência de caracteres
object System.Object Pode ser utilizado para representar qualquer Classe
• Outros tipos:
14/08/2009
10
Operadores MatemáticosOperadores Matemáticos
• + Soma– Ex: int x = 2 + 2; //resulta em 4
• – Subtração– Ex: int x = 2 - 2; //resulta em 0
• * Multiplicação– Ex: int x = 2 * 2; //resulta em 4
• / Divisão– Ex: int x = 2 / 2; //resulta em 1
• % Resto da Divisão– Ex: int x = 3 % 2; //resulta em 1
Operadores lógicos e relacionaisOperadores lógicos e relacionaisNome Operador Resultado
Menor que < Ex: x < 2 //é verdadeiro se x for menor do que 2
Maior que > Ex: x > 2 //é verdadeiro se x for maior do que 2
Menor ou Igual a <= Ex: x <= 2 //é verdadeiro se x for menor ou igual a 2
Maior ou Igual a >= Ex: x >= 2 //é verdadeiro se x for maior ou igual a 2
Diferente de != Ex: x != 2 //é verdadeiro se x for diferente de 2
Igual == Ex: x == 2 //é verdadeiro se x for igual a 2
E && Ex: x <= 2 && x > 0 //é verdadeiro se x for menor ou igual a 2 E x for maior do que 0
Ou || Ex: x <= 2 || x > 0 //é verdadeiro se x for menor ou igual a 2 OU x for maior do que 0
14/08/2009
11
Operadores de AtribuiçãoOperadores de Atribuição
Nome Operador O que faz
Igual = Ex: x = 2; (x passa a ter o valor 2)
Mais Igual += Ex: x+=2 -> x = x + 2;
Menos Igual -= Ex: x-=2 -> x = x – 2;
Vezes Igual *= Ex: x*=2 -> x = x * 2;
Barra Igual /= Ex: x/=2 -> x = x / 2;
Percentual Igual %= Ex: x%=2 -> x = x+2;
Precedência de OperadoresPrecedência de OperadoresOperador
++, -- (usados como prefixos); ( ), +, - (unário), !, ~
*, /, %
+, -
<<, >>
<, >, <=, >=
==, !=
&
^
|
&&
||
=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=
++, -- (usados como sufixos)
14/08/2009
12
Lógica de ControleLógica de Controle
• If – Caso a condição definida seja verdadeira, o bloco de código será executado– Ex:If (x < 2){
//o que deve ser feito caso x seja //menor do que 2
}
Lógica de ControleLógica de Controle
• Else – Usado em conjunto com If, define o que será executado caso a condição definida seja falsa. Ex:If (x < 2){
//o que deve ser feito caso x seja menor do que 2}Else{
//o que deve ser feito caso x não seja menor do que 2}
14/08/2009
13
Lógica de ControleLógica de Controle
• Else If – Usado em conjunto com If, define uma condição alternativa à primeira. Pode ser usado com ou sem Else. – Ex:If (x < 2) { //se x menor que 2 … }Else if (x > 2) { //se x maior que 2 }Else { //se x não for nem menor do que 2 e nem maior
do que 2 }
Lógica de ControleLógica de Controle
• Ifs Aninhados – Composição através do uso de blocos internos de Ifs.– Ex:If (x > 2) //se x for maior do que 2{
if (x > 3) //se x for maior do que 3{}
}
14/08/2009
14
Lógica de ControleLógica de Controle
• Switch – Uma alternativa para uso de muitas condições agrupadas.– Ex:switch (opcao){
case 2://este bloco será executado caso opcao igual a 2break;
case 3://este bloco será executado caso opcao igual a 3break;
}
Estrutura de repetiçãoEstrutura de repetição
• Do while – Executa o bloco de código e então verifica se a condição foi atendida.– Ex:do{
//executa o bloco enquanto x for menor do que 2
} while (x < 2)
14/08/2009
15
Estrutura de repetiçãoEstrutura de repetição
• While - Executa o bloco de código até que a condição seja atendida.– Ex:while (x < 2){
//executa o bloco enquanto x for menor do que 2
}
Estrutura de repetiçãoEstrutura de repetição
• For - Executa o bloco de código até que a condição seja atendida.
– Ex:
for (int x=0;x<10;x++){
//executa o bloco para os valores de x começando em 0 e indo //até 10
}
14/08/2009
16
Estrutura de repetiçãoEstrutura de repetição
• Loops infinitos - Executa o bloco de código infinitamente.– Ex:while (true){
//loop infinito}
ArrayArray
• Armazena múltiplos valores do tipo-base declarado.– <tipo base>[] nome;– Ex:string[] nomes;nomes = new string[10];Nomes[0] = “Joaquim”;
14/08/2009
17
Criação de métodosCriação de métodos
• Membro de uma classe• Estrutura:
<tipo-de-retorno> nome-do-método(<lista de parâmetros>)
{( ... )
}
• Podem retornar ou não Valor• Os parâmetros podem ser passados por valor e
por referência
Tratamento de exceçãoTratamento de exceção
• Exceptions são situações (previstas e não-previstas) que podem ocorrer durante o funcionamento da aplicação.
• Exceptions podem ser capturadas em um bloco try {
//código que pode ocasionar Exception}catch (<Exception> e){
//o que fazer}finally{
//bloco que sempre será executado no final }
• Ex:– O Usuário não ter permissão para acessar um determinado arquivo– O Servidor de Banco de Dados estar indisponível
14/08/2009
18
Tratamento de exceçãoTratamento de exceção
try{
Console.WriteLine("Tentando converter valor");int valor = Convert.ToInt32("isso vai causar erro");
}catch (System.FormatException fe){
Console.WriteLine("Erro " + fe.Message);}catch (System.OverflowException ofw){
Console.WriteLine("Erro " + ofw.Message);}finally{
Console.WriteLine("Mesmo com erro, este trecho é executado");}
Atividade de apoioAtividade de apoio
1. Se tivermos 2 inteiros armazenados nas variáveis var1 e var2 que teste booleano podemos realizar para verificar se um ou outro (mas não ambos) é menor do que 10.
2. Escreva um aplicativo que inclua a lógica do exercício 1 que obtenha 2 números do usuário e os exiba, mas rejeite qualquer entrada em que ambos os números sejam maiores que 10 e peça 2 novos números.
14/08/2009
19
Atividade de apoioAtividade de apoio
3. O que está errado no código abaixo e corrija:
int i;for(i=1;i<=10;i++){
if((i%2)=0){continue;
}Console.WriteLine(i);
}
1. Declare um Array de strings com 10 posições e exiba os valores na tela.
2. Declare um array de inteiros com os valores 4, 3, 1, 10, 7, 20 e 15 e ordene esses valores.
Atividade de apoioAtividade de apoio
6. Escreva um aplicativo que use dois argumentos de linhas de comando para colocar valores em uma string e uma variável de número inteiro respectivamente. Depois exiba esses valores.