ASP.Net - M dulo 2 file14/08/2009 1 ASP.NET Módulo 2 Objetivo • Contextualizar o aluno junto a...

19
14/08/2009 1 ASP.NET ASP.NET Módulo 2 Objetivo Objetivo 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.

Transcript of ASP.Net - M dulo 2 file14/08/2009 1 ASP.NET Módulo 2 Objetivo • Contextualizar o aluno junto a...

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.